Coverage Report

Created: 2022-08-24 06:28

/src/wolfssl-disable-fastmath/wolfcrypt/src/ge_448.c
Line
Count
Source (jump to first uncovered line)
1
/* ge_448.c
2
 *
3
 * Copyright (C) 2006-2022 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
/* Based On Daniel J Bernstein's ed25519 Public Domain ref10 work.
23
 * Small implementation based on Daniel Beer's ed25519 public domain work.
24
 * Reworked for ed448 by Sean Parkinson.
25
 */
26
27
#ifdef HAVE_CONFIG_H
28
    #include <config.h>
29
#endif
30
31
#include <wolfssl/wolfcrypt/settings.h>
32
33
#ifdef HAVE_ED448
34
35
#include <wolfssl/wolfcrypt/ge_448.h>
36
#include <wolfssl/wolfcrypt/ed448.h>
37
#include <wolfssl/wolfcrypt/error-crypt.h>
38
#ifdef NO_INLINE
39
    #include <wolfssl/wolfcrypt/misc.h>
40
#else
41
    #define WOLFSSL_MISC_INCLUDED
42
    #include <wolfcrypt/src/misc.c>
43
#endif
44
45
/*
46
sc means scalar.
47
ge means group element.
48
49
Here the group is the set of pairs (x,y) of field elements (see ge_448.h)
50
satisfying -x^2 + y^2 = 1 + d x^2y^2
51
where d = -39081
52
53
Representations:
54
  ge448_p2 (projective) :  (X:Y:Z) satisfying x=X/Z, y=Y/Z
55
  ge448_precomp (affine):  (X:Y)
56
*/
57
58
59
#ifdef ED448_SMALL
60
61
/* Base point of ed448 */
62
static const ge448_p2 ed448_base = {
63
    { 0x5e, 0xc0, 0x0c, 0xc7, 0x2b, 0xa8, 0x26, 0x26, 0x8e, 0x93, 0x00, 0x8b,
64
      0xe1, 0x80, 0x3b, 0x43, 0x11, 0x65, 0xb6, 0x2a, 0xf7, 0x1a, 0xae, 0x12,
65
      0x64, 0xa4, 0xd3, 0xa3, 0x24, 0xe3, 0x6d, 0xea, 0x67, 0x17, 0x0f, 0x47,
66
      0x70, 0x65, 0x14, 0x9e, 0xda, 0x36, 0xbf, 0x22, 0xa6, 0x15, 0x1d, 0x22,
67
      0xed, 0x0d, 0xed, 0x6b, 0xc6, 0x70, 0x19, 0x4f },
68
    { 0x14, 0xfa, 0x30, 0xf2, 0x5b, 0x79, 0x08, 0x98, 0xad, 0xc8, 0xd7, 0x4e,
69
      0x2c, 0x13, 0xbd, 0xfd, 0xc4, 0x39, 0x7c, 0xe6, 0x1c, 0xff, 0xd3, 0x3a,
70
      0xd7, 0xc2, 0xa0, 0x05, 0x1e, 0x9c, 0x78, 0x87, 0x40, 0x98, 0xa3, 0x6c,
71
      0x73, 0x73, 0xea, 0x4b, 0x62, 0xc7, 0xc9, 0x56, 0x37, 0x20, 0x76, 0x88,
72
      0x24, 0xbc, 0xb6, 0x6e, 0x71, 0x46, 0x3f, 0x69 },
73
    { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
74
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
75
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
76
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
77
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
78
};
79
80
/* Part of order of ed448 that needs tp be multiplied when reducing */
81
static const word8 ed448_order_mul[56] = {
82
    0x0d, 0xbb, 0xa7, 0x54, 0x6d, 0x3d, 0x87, 0xdc, 0xaa, 0x70, 0x3a, 0x72,
83
    0x8d, 0x3d, 0x93, 0xde, 0x6f, 0xc9, 0x29, 0x51, 0xb6, 0x24, 0xb1, 0x3b,
84
    0x16, 0xdc, 0x35, 0x83,
85
};
86
87
/* Reduce scalar mod the order of the curve.
88
 * Scalar Will be 114 bytes.
89
 *
90
 * b  [in]  Scalar to reduce.
91
 */
92
void sc448_reduce(byte* b)
93
{
94
    int i, j;
95
    word32 t[114];
96
    word8 o;
97
98
    for (i = 0; i < 86; i++) {
99
        t[i] = b[i];
100
    }
101
    for (i = 0; i < 58; i++) {
102
        for (j = 0; j < 28; j++)
103
            t[i+j] += b[i+56] * ((word32)ed448_order_mul[j] << 2);
104
        t[i+56] = 0;
105
    }
106
    for (i = 54; i < 87; i++) {
107
        t[i+1] += t[i] >> 8;
108
        t[i] &= 0xff;
109
    }
110
    for (i = 0; i < 31; i++) {
111
        for (j = 0; j < 28; j++)
112
            t[i+j] += t[i+56] * ((word32)ed448_order_mul[j] << 2);
113
        t[i+56] = 0;
114
    }
115
    for (i = 54; i < 60; i++) {
116
        t[i+1] += t[i] >> 8;
117
        t[i] &= 0xff;
118
    }
119
    for (i = 0; i < 4; i++) {
120
        for (j = 0; j < 28; j++)
121
            t[i+j] += t[i+56] * ((word32)ed448_order_mul[j] << 2);
122
        t[i+56] = 0;
123
    }
124
    for (i = 0; i < 55; i++) {
125
        t[i+1] += t[i] >> 8;
126
        t[i] &= 0xff;
127
    }
128
    o = t[55] >> 6;
129
    t[55] &= 0x3f;
130
    for (j = 0; j < 28; j++)
131
        t[j] += o * (word32)ed448_order_mul[j];
132
    for (i = 0; i < 55; i++) {
133
        t[i+1] += t[i] >> 8;
134
        b[i] = t[i] & 0xff;
135
    }
136
    b[i] = t[i] & 0xff;
137
    b[i+1] = 0;
138
}
139
140
/* Multiply a by b and add d. r = (a * b + d) mod order
141
 *
142
 * r  [in]  Scalar to hold result.
143
 * a  [in]  Scalar to multiply.
144
 * b  [in]  Scalar to multiply.
145
 * d  [in]  Scalar to add to multiplicative result.
146
 */
147
void sc448_muladd(byte* r, const byte* a, const byte* b, const byte* d)
148
{
149
    int i, j;
150
    word32 t[112];
151
    word8 o;
152
153
    /* a * b + d */
154
    for (i = 0; i < 56; i++)
155
        t[i] = d[i];
156
    for (i = 0; i < 56; i++) {
157
        for (j = 0; j < 56; j++)
158
            t[i+j] += (sword16)a[i] * b[j];
159
        t[i+56] = 0;
160
    }
161
162
    for (i = 0; i < 111; i++) {
163
        t[i+1] += t[i] >> 8;
164
        t[i] &= 0xff;
165
    }
166
    for (i = 0; i < 56; i++) {
167
        for (j = 0; j < 28; j++)
168
            t[i+j] += t[i+56] * ((word32)ed448_order_mul[j] << 2);
169
        t[i+56] = 0;
170
    }
171
    for (i = 54; i < 85; i++) {
172
        t[i+1] += t[i] >> 8;
173
        t[i] &= 0xff;
174
    }
175
    for (i = 0; i < 29; i++) {
176
        for (j = 0; j < 28; j++)
177
            t[i+j] += t[i+56] * ((word32)ed448_order_mul[j] << 2);
178
        t[i+56] = 0;
179
    }
180
    for (i = 54; i < 58; i++) {
181
        t[i+1] += t[i] >> 8;
182
        t[i] &= 0xff;
183
    }
184
    for (i = 0; i < 2; i++) {
185
        for (j = 0; j < 28; j++)
186
            t[i+j] += t[i+56] * ((word32)ed448_order_mul[j] << 2);
187
        t[i+56] = 0;
188
    }
189
    for (i = 0; i < 55; i++) {
190
        t[i+1] += t[i] >> 8;
191
        t[i] &= 0xff;
192
    }
193
    o = t[55] >> 6;
194
    t[55] &= 0x3f;
195
    for (j = 0; j < 28; j++)
196
        t[j] += o * (word32)ed448_order_mul[j];
197
    for (i = 0; i < 55; i++) {
198
        t[i+1] += t[i] >> 8;
199
        r[i] = t[i] & 0xff;
200
    }
201
    r[i] = t[i] & 0xff;
202
    r[i+1] = 0;
203
}
204
205
/* Double the point on the Twisted Edwards curve. r = 2.p
206
 *
207
 * r  [in]  Point to hold result.
208
 * p  [in]  Point to double.
209
 */
210
static WC_INLINE void ge448_dbl(ge448_p2 *r,const ge448_p2 *p)
211
{
212
    ge448 t0[GE448_WORDS];
213
    ge448 t1[GE448_WORDS];
214
215
    fe448_add(t0, p->X, p->Y);    /* t0 = B1 = X1+Y1     */
216
    fe448_reduce(t0);
217
    fe448_sqr(t0, t0);            /* t0 = B = (X1+Y1)^2  */
218
    fe448_sqr(r->X, p->X);        /* r->X = C = X1^2     */
219
    fe448_sqr(r->Y, p->Y);        /* r->Y = D = Y1^2     */
220
    fe448_add(t1, r->X, r->Y);    /* t1 = E = C+D        */
221
    fe448_reduce(t1);
222
    fe448_sub(r->Y, r->X, r->Y);  /* r->Y = Y31 = C-D    */
223
    fe448_sqr(r->Z, p->Z);        /* r->Z = H = Z1^2     */
224
    fe448_add(r->Z, r->Z, r->Z);  /* r->Z = J1 = 2*H     */
225
    fe448_sub(r->Z, t1, r->Z);    /* r->Z = J = E-2*H    */
226
    fe448_reduce(r->Z);
227
    fe448_sub(r->X, t0, t1);      /* r->X = X31 = B-E    */
228
    fe448_mul(r->X, r->X, r->Z);  /* r->X = X3 = (B-E)*J */
229
    fe448_mul(r->Y, r->Y, t1);    /* r->Y = Y3 = E*(C-D) */
230
    fe448_mul(r->Z, t1, r->Z);    /* r->Z = Z3 = E*J     */
231
}
232
233
/* Add two point on the Twisted Edwards curve. r = p + q
234
 *
235
 * r  [in]  Point to hold result.
236
 * p  [in]  Point to add.
237
 * q  [in]  Point to add.
238
 */
239
static WC_INLINE void ge448_add(ge448_p2* r, const ge448_p2* p,
240
                                const ge448_p2* q)
241
{
242
    ge448 t0[GE448_WORDS];
243
    ge448 t1[GE448_WORDS];
244
    ge448 t2[GE448_WORDS];
245
    ge448 t3[GE448_WORDS];
246
    ge448 t4[GE448_WORDS];
247
248
    fe448_mul(t1, p->X, q->X);      /* t1 = C = X1*X2             */
249
    fe448_mul(t2, p->Y, q->Y);      /* t2 = D = Y1*Y2             */
250
    fe448_mul(t3, t1, t2);          /* t3 = E1 = C*D              */
251
    fe448_mul39081(t3, t3);         /* t3 = E = d*C*D             */
252
    fe448_mul(r->Z, p->Z, q->Z);    /* r->Z = A = Z1*Z2           */
253
    fe448_sqr(t0, r->Z);            /* t0 = B = A^2               */
254
    fe448_add(t4, t0, t3);          /* t4 = F = B-(-E)            */
255
    fe448_sub(t0, t0, t3);          /* t0 = G = B+(-E)            */
256
    fe448_reduce(t0);
257
    fe448_add(r->X, p->X, p->Y);    /* r->X = H1 = X1+Y1          */
258
    fe448_reduce(r->X);
259
    fe448_add(r->Y, q->X, q->Y);    /* r->Y = H2 = X2+Y2          */
260
    fe448_reduce(r->Y);
261
    fe448_mul(r->X, r->X, r->Y);    /* r->X = H = (X1+Y1)*(X2+Y2) */
262
    fe448_sub(r->X, r->X, t1);      /* r->X = X31 = H-C           */
263
    fe448_sub(r->X, r->X, t2);      /* r->X = X32 = H-C-D         */
264
    fe448_reduce(r->X);
265
    fe448_mul(r->X, r->X, t4);      /* r->X = X33 = F*(H-C-D)     */
266
    fe448_mul(r->X, r->X, r->Z);    /* r->X = X3 = A*F*(H-C-D)    */
267
    fe448_sub(r->Y, t2, t1);        /* r->Y = Y31 = D-C           */
268
    fe448_reduce(r->Y);
269
    fe448_mul(r->Y, r->Y, t0);      /* r->Y = Y32 = G*(D-C)       */
270
    fe448_mul(r->Y, r->Y, r->Z);    /* r->Y = Y3 = A*F*(D-C)      */
271
    fe448_mul(r->Z, t4, t0);        /* r->Z = Z3 = F*G            */
272
}
273
274
/* Convert point to byte array assuming projective ordinates.
275
 *
276
 * b  [in]  Array of bytes to hold compressed point.
277
 * p  [in]  Point to convert.
278
 */
279
void ge448_to_bytes(byte *s, const ge448_p2 *h)
280
{
281
    ge448 recip[56];
282
    ge448 x[56];
283
284
    fe448_invert(recip, h->Z);
285
    fe448_mul(x, h->X, recip);
286
    fe448_mul(s, h->Y, recip);
287
    fe448_norm(x);
288
    fe448_norm(s);
289
    s[56] = (x[0] & 1) << 7;
290
}
291
292
/* Compress the point to y-ordinate and negative bit.
293
 *
294
 * out    [in]  Array of bytes to hold compressed key.
295
 * xIn    [in]  The x-ordinate.
296
 * yIn    [in]  The y-ordinate.
297
 */
298
int ge448_compress_key(byte* out, const byte* xIn, const byte* yIn)
299
{
300
    ge448 x[56];
301
302
    fe448_copy(x, xIn);
303
    fe448_copy(out, yIn);
304
    fe448_norm(x);
305
    fe448_norm(out);
306
    out[56] = (x[0] & 1) << 7;
307
308
    return 0;
309
}
310
311
/* Perform a scalar multiplication of the a point. r = p * base
312
 *
313
 * r  [in]  Point to hold result.
314
 * a  [in]  Scalar to multiply by.
315
 */
316
static void ge448_scalarmult(ge448_p2* h, const ge448_p2* p, const byte* a)
317
{
318
    ge448_p2 r;
319
    ge448_p2 s;
320
    int i;
321
322
    XMEMSET(&r, 0, sizeof(r));
323
    r.Y[0] = 1;
324
    r.Z[0] = 1;
325
326
    for (i = 447; i >= 0; i--) {
327
        const byte bit = (a[i >> 3] >> (i & 7)) & 1;
328
329
        ge448_dbl(&r, &r);
330
        ge448_add(&s, &r, p);
331
332
        fe448_cmov(r.X, s.X, bit);
333
        fe448_cmov(r.Y, s.Y, bit);
334
        fe448_cmov(r.Z, s.Z, bit);
335
    }
336
337
    XMEMCPY(h, &r, sizeof(r));
338
}
339
340
/* Perform a scalar multiplication of the base point. r = a * base
341
 *
342
 * r  [in]  Point to hold result.
343
 * a  [in]  Scalar to multiply by.
344
 */
345
void ge448_scalarmult_base(ge448_p2* h, const byte* a)
346
{
347
    ge448_scalarmult(h, &ed448_base, a);
348
}
349
350
/* Perform a scalar multplication of the base point and public point.
351
 *   r = a * p + b * base
352
 * Uses a sliding window of 5 bits.
353
 * Not constant time.
354
 *
355
 * r  [in]  Point to hold result.
356
 * a  [in]  Scalar to multiply by.
357
 */
358
int ge448_double_scalarmult_vartime(ge448_p2 *r, const byte *a,
359
                                    const ge448_p2 *A, const byte *b)
360
{
361
    ge448_p2 t;
362
363
    ge448_scalarmult(&t, &ed448_base, b);
364
    ge448_scalarmult(r, A, a);
365
    ge448_add(r, r, &t);
366
367
    return 0;
368
}
369
370
/* Convert compressed point to negative of affine point.
371
 * Calculates x from the y and the negative bit.
372
 * Not constant time.
373
 *
374
 * r  [in]  Uncompressed point.
375
 * b  [in]  Array of bytes representing point.
376
 * returns 0 on success and -1 on failure.
377
 */
378
int ge448_from_bytes_negate_vartime(ge448_p2 *r, const byte *b)
379
{
380
    int   ret = 0;
381
    ge448 u[GE448_WORDS];
382
    ge448 v[GE448_WORDS];
383
    ge448 u3[GE448_WORDS];
384
    ge448 vxx[GE448_WORDS];
385
    ge448 check[GE448_WORDS];
386
387
    fe448_copy(r->Y, b);
388
    XMEMSET(r->Z, 0, sizeof(r->Z));
389
    r->Z[0] = 1;
390
    fe448_sqr(u, r->Y);                /* u = y^2                      */
391
    fe448_mul39081(v, u);              /* v = 39081.y^2                */
392
    fe448_sub(u, u, r->Z);             /* u = y^2-1                    */
393
    fe448_add(v, v, r->Z);             /* v = 39081.y^2-1              */
394
    fe448_neg(v, v);                   /* v = -39081.y^2-1 = d.y^2-1   */
395
396
    fe448_sqr(r->X, v);                /* x = v^2                      */
397
    fe448_mul(r->X, r->X, v);          /* x = v^3                      */
398
    fe448_sqr(u3, u);                  /* x = u^2.v^3                  */
399
    fe448_mul(r->X, r->X, u3);         /* x = u^2.v^3                  */
400
    fe448_mul(u3, u3, u);              /* u3 = u^3                     */
401
    fe448_mul(r->X, r->X, u3);         /* x = u^5.v^3                  */
402
403
    fe448_pow_2_446_222_1(r->X, r->X); /* x = (u^5.v^3)^((q-3)/4)      */
404
    fe448_mul(r->X, r->X, u3);         /* x = u^3(u^5.v^3)^((q-3)/4)   */
405
    fe448_mul(r->X, r->X, v);          /* x = u^3.v(u^5.v^3)^((q-3)/4) */
406
407
    fe448_sqr(vxx, r->X);
408
    fe448_mul(vxx, vxx, v);
409
    fe448_sub(check, vxx, u);          /* check = v.x^2-u              */
410
    fe448_norm(check);
411
    fe448_norm(r->X);
412
    fe448_norm(r->Y);
413
    /* Note; vx^2+u is NOT correct. */
414
    if (fe448_isnonzero(check)) {
415
        ret = -1;
416
    }
417
418
    /* Calculating negative of point in bytes - negate only if X is correct. */
419
    if ((r->X[0] & 1) == (b[56] >> 7)) {
420
        fe448_neg(r->X, r->X);
421
    }
422
423
    return ret;
424
}
425
426
#else /* !ED448_SMALL */
427
428
#if defined(CURVED448_128BIT)
429
430
/* Reduce scalar mod the order of the curve.
431
 * Scalar Will be 114 bytes.
432
 *
433
 * b  [in]  Scalar to reduce.
434
 */
435
void sc448_reduce(byte* b)
436
1.25k
{
437
1.25k
    word64 d[8];
438
1.25k
    word128 t[17];
439
1.25k
    word128 c;
440
1.25k
    word64 o;
441
442
    /* Load from bytes */
443
1.25k
    t[ 0] =  ((sword64) (b[ 0]) <<  0)
444
1.25k
          |  ((sword64) (b[ 1]) <<  8)
445
1.25k
          |  ((sword64) (b[ 2]) << 16)
446
1.25k
          |  ((sword64) (b[ 3]) << 24)
447
1.25k
          |  ((sword64) (b[ 4]) << 32)
448
1.25k
          |  ((sword64) (b[ 5]) << 40)
449
1.25k
          |  ((sword64) (b[ 6]) << 48);
450
1.25k
    t[ 1] =  ((sword64) (b[ 7]) <<  0)
451
1.25k
          |  ((sword64) (b[ 8]) <<  8)
452
1.25k
          |  ((sword64) (b[ 9]) << 16)
453
1.25k
          |  ((sword64) (b[10]) << 24)
454
1.25k
          |  ((sword64) (b[11]) << 32)
455
1.25k
          |  ((sword64) (b[12]) << 40)
456
1.25k
          |  ((sword64) (b[13]) << 48);
457
1.25k
    t[ 2] =  ((sword64) (b[14]) <<  0)
458
1.25k
          |  ((sword64) (b[15]) <<  8)
459
1.25k
          |  ((sword64) (b[16]) << 16)
460
1.25k
          |  ((sword64) (b[17]) << 24)
461
1.25k
          |  ((sword64) (b[18]) << 32)
462
1.25k
          |  ((sword64) (b[19]) << 40)
463
1.25k
          |  ((sword64) (b[20]) << 48);
464
1.25k
    t[ 3] =  ((sword64) (b[21]) <<  0)
465
1.25k
          |  ((sword64) (b[22]) <<  8)
466
1.25k
          |  ((sword64) (b[23]) << 16)
467
1.25k
          |  ((sword64) (b[24]) << 24)
468
1.25k
          |  ((sword64) (b[25]) << 32)
469
1.25k
          |  ((sword64) (b[26]) << 40)
470
1.25k
          |  ((sword64) (b[27]) << 48);
471
1.25k
    t[ 4] =  ((sword64) (b[28]) <<  0)
472
1.25k
          |  ((sword64) (b[29]) <<  8)
473
1.25k
          |  ((sword64) (b[30]) << 16)
474
1.25k
          |  ((sword64) (b[31]) << 24)
475
1.25k
          |  ((sword64) (b[32]) << 32)
476
1.25k
          |  ((sword64) (b[33]) << 40)
477
1.25k
          |  ((sword64) (b[34]) << 48);
478
1.25k
    t[ 5] =  ((sword64) (b[35]) <<  0)
479
1.25k
          |  ((sword64) (b[36]) <<  8)
480
1.25k
          |  ((sword64) (b[37]) << 16)
481
1.25k
          |  ((sword64) (b[38]) << 24)
482
1.25k
          |  ((sword64) (b[39]) << 32)
483
1.25k
          |  ((sword64) (b[40]) << 40)
484
1.25k
          |  ((sword64) (b[41]) << 48);
485
1.25k
    t[ 6] =  ((sword64) (b[42]) <<  0)
486
1.25k
          |  ((sword64) (b[43]) <<  8)
487
1.25k
          |  ((sword64) (b[44]) << 16)
488
1.25k
          |  ((sword64) (b[45]) << 24)
489
1.25k
          |  ((sword64) (b[46]) << 32)
490
1.25k
          |  ((sword64) (b[47]) << 40)
491
1.25k
          |  ((sword64) (b[48]) << 48);
492
1.25k
    t[ 7] =  ((sword64) (b[49]) <<  0)
493
1.25k
          |  ((sword64) (b[50]) <<  8)
494
1.25k
          |  ((sword64) (b[51]) << 16)
495
1.25k
          |  ((sword64) (b[52]) << 24)
496
1.25k
          |  ((sword64) (b[53]) << 32)
497
1.25k
          |  ((sword64) (b[54]) << 40)
498
1.25k
          |  ((sword64) (b[55]) << 48);
499
1.25k
    t[ 8] =  ((sword64) (b[56]) <<  0)
500
1.25k
          |  ((sword64) (b[57]) <<  8)
501
1.25k
          |  ((sword64) (b[58]) << 16)
502
1.25k
          |  ((sword64) (b[59]) << 24)
503
1.25k
          |  ((sword64) (b[60]) << 32)
504
1.25k
          |  ((sword64) (b[61]) << 40)
505
1.25k
          |  ((sword64) (b[62]) << 48);
506
1.25k
    t[ 9] =  ((sword64) (b[63]) <<  0)
507
1.25k
          |  ((sword64) (b[64]) <<  8)
508
1.25k
          |  ((sword64) (b[65]) << 16)
509
1.25k
          |  ((sword64) (b[66]) << 24)
510
1.25k
          |  ((sword64) (b[67]) << 32)
511
1.25k
          |  ((sword64) (b[68]) << 40)
512
1.25k
          |  ((sword64) (b[69]) << 48);
513
1.25k
    t[10] =  ((sword64) (b[70]) <<  0)
514
1.25k
          |  ((sword64) (b[71]) <<  8)
515
1.25k
          |  ((sword64) (b[72]) << 16)
516
1.25k
          |  ((sword64) (b[73]) << 24)
517
1.25k
          |  ((sword64) (b[74]) << 32)
518
1.25k
          |  ((sword64) (b[75]) << 40)
519
1.25k
          |  ((sword64) (b[76]) << 48);
520
1.25k
    t[11] =  ((sword64) (b[77]) <<  0)
521
1.25k
          |  ((sword64) (b[78]) <<  8)
522
1.25k
          |  ((sword64) (b[79]) << 16)
523
1.25k
          |  ((sword64) (b[80]) << 24)
524
1.25k
          |  ((sword64) (b[81]) << 32)
525
1.25k
          |  ((sword64) (b[82]) << 40)
526
1.25k
          |  ((sword64) (b[83]) << 48);
527
1.25k
    t[12] =  ((sword64) (b[84]) <<  0)
528
1.25k
          |  ((sword64) (b[85]) <<  8)
529
1.25k
          |  ((sword64) (b[86]) << 16)
530
1.25k
          |  ((sword64) (b[87]) << 24)
531
1.25k
          |  ((sword64) (b[88]) << 32)
532
1.25k
          |  ((sword64) (b[89]) << 40)
533
1.25k
          |  ((sword64) (b[90]) << 48);
534
1.25k
    t[13] =  ((sword64) (b[91]) <<  0)
535
1.25k
          |  ((sword64) (b[92]) <<  8)
536
1.25k
          |  ((sword64) (b[93]) << 16)
537
1.25k
          |  ((sword64) (b[94]) << 24)
538
1.25k
          |  ((sword64) (b[95]) << 32)
539
1.25k
          |  ((sword64) (b[96]) << 40)
540
1.25k
          |  ((sword64) (b[97]) << 48);
541
1.25k
    t[14] =  ((sword64) (b[98]) <<  0)
542
1.25k
          |  ((sword64) (b[99]) <<  8)
543
1.25k
          |  ((sword64) (b[100]) << 16)
544
1.25k
          |  ((sword64) (b[101]) << 24)
545
1.25k
          |  ((sword64) (b[102]) << 32)
546
1.25k
          |  ((sword64) (b[103]) << 40)
547
1.25k
          |  ((sword64) (b[104]) << 48);
548
1.25k
    t[15] =  ((sword64) (b[105]) <<  0)
549
1.25k
          |  ((sword64) (b[106]) <<  8)
550
1.25k
          |  ((sword64) (b[107]) << 16)
551
1.25k
          |  ((sword64) (b[108]) << 24)
552
1.25k
          |  ((sword64) (b[109]) << 32)
553
1.25k
          |  ((sword64) (b[110]) << 40)
554
1.25k
          |  ((sword64) (b[111]) << 48);
555
1.25k
    t[16] =  ((sword64) (b[112]) <<  0)
556
1.25k
          |  ((sword64) (b[113]) <<  8);
557
558
    /* Mod curve order */
559
    /* 2^446 - 0x8335dc163bb124b65129c96fde933d8d723a70aadc873d6d54a7bb0d */
560
    /* Mod top half of extra words */
561
1.25k
    t[ 4] += (sword128)0x21cf5b5529eec34L * t[12];
562
1.25k
    t[ 5] += (sword128)0x0f635c8e9c2ab70L * t[12];
563
1.25k
    t[ 6] += (sword128)0x2d944a725bf7a4cL * t[12];
564
1.25k
    t[ 7] += (sword128)0x20cd77058eec490L * t[12];
565
1.25k
    t[ 5] += (sword128)0x21cf5b5529eec34L * t[13];
566
1.25k
    t[ 6] += (sword128)0x0f635c8e9c2ab70L * t[13];
567
1.25k
    t[ 7] += (sword128)0x2d944a725bf7a4cL * t[13];
568
1.25k
    t[ 8] += (sword128)0x20cd77058eec490L * t[13];
569
1.25k
    t[ 6] += (sword128)0x21cf5b5529eec34L * t[14];
570
1.25k
    t[ 7] += (sword128)0x0f635c8e9c2ab70L * t[14];
571
1.25k
    t[ 8] += (sword128)0x2d944a725bf7a4cL * t[14];
572
1.25k
    t[ 9] += (sword128)0x20cd77058eec490L * t[14];
573
1.25k
    t[ 7] += (sword128)0x21cf5b5529eec34L * t[15];
574
1.25k
    t[ 8] += (sword128)0x0f635c8e9c2ab70L * t[15];
575
1.25k
    t[ 9] += (sword128)0x2d944a725bf7a4cL * t[15];
576
1.25k
    t[10] += (sword128)0x20cd77058eec490L * t[15];
577
1.25k
    t[ 8] += (sword128)0x21cf5b5529eec34L * t[16];
578
1.25k
    t[ 9] += (sword128)0x0f635c8e9c2ab70L * t[16];
579
1.25k
    t[10] += (sword128)0x2d944a725bf7a4cL * t[16];
580
1.25k
    t[11] += (sword128)0x20cd77058eec490L * t[16];
581
1.25k
    t[12]  = 0;
582
    /* Propagate carries */
583
1.25k
    c = t[ 4] >> 56; t[ 5] += c; t[ 4] = t[ 4] & 0xffffffffffffff;
584
1.25k
    c = t[ 5] >> 56; t[ 6] += c; t[ 5] = t[ 5] & 0xffffffffffffff;
585
1.25k
    c = t[ 6] >> 56; t[ 7] += c; t[ 6] = t[ 6] & 0xffffffffffffff;
586
1.25k
    c = t[ 7] >> 56; t[ 8] += c; t[ 7] = t[ 7] & 0xffffffffffffff;
587
1.25k
    c = t[ 8] >> 56; t[ 9] += c; t[ 8] = t[ 8] & 0xffffffffffffff;
588
1.25k
    c = t[ 9] >> 56; t[10] += c; t[ 9] = t[ 9] & 0xffffffffffffff;
589
1.25k
    c = t[10] >> 56; t[11] += c; t[10] = t[10] & 0xffffffffffffff;
590
1.25k
    c = t[11] >> 56; t[12] += c; t[11] = t[11] & 0xffffffffffffff;
591
    /* Mod bottom half of extra words */
592
1.25k
    t[ 0] += (sword128)0x21cf5b5529eec34L * t[ 8];
593
1.25k
    t[ 1] += (sword128)0x0f635c8e9c2ab70L * t[ 8];
594
1.25k
    t[ 2] += (sword128)0x2d944a725bf7a4cL * t[ 8];
595
1.25k
    t[ 3] += (sword128)0x20cd77058eec490L * t[ 8];
596
1.25k
    t[ 1] += (sword128)0x21cf5b5529eec34L * t[ 9];
597
1.25k
    t[ 2] += (sword128)0x0f635c8e9c2ab70L * t[ 9];
598
1.25k
    t[ 3] += (sword128)0x2d944a725bf7a4cL * t[ 9];
599
1.25k
    t[ 4] += (sword128)0x20cd77058eec490L * t[ 9];
600
1.25k
    t[ 2] += (sword128)0x21cf5b5529eec34L * t[10];
601
1.25k
    t[ 3] += (sword128)0x0f635c8e9c2ab70L * t[10];
602
1.25k
    t[ 4] += (sword128)0x2d944a725bf7a4cL * t[10];
603
1.25k
    t[ 5] += (sword128)0x20cd77058eec490L * t[10];
604
1.25k
    t[ 3] += (sword128)0x21cf5b5529eec34L * t[11];
605
1.25k
    t[ 4] += (sword128)0x0f635c8e9c2ab70L * t[11];
606
1.25k
    t[ 5] += (sword128)0x2d944a725bf7a4cL * t[11];
607
1.25k
    t[ 6] += (sword128)0x20cd77058eec490L * t[11];
608
1.25k
    t[ 4] += (sword128)0x21cf5b5529eec34L * t[12];
609
1.25k
    t[ 5] += (sword128)0x0f635c8e9c2ab70L * t[12];
610
1.25k
    t[ 6] += (sword128)0x2d944a725bf7a4cL * t[12];
611
1.25k
    t[ 7] += (sword128)0x20cd77058eec490L * t[12];
612
1.25k
    t[ 8]  = 0;
613
    /* Propagate carries */
614
1.25k
    c = t[ 0] >> 56; t[ 1] += c; t[ 0] = t[ 0] & 0xffffffffffffff;
615
1.25k
    c = t[ 1] >> 56; t[ 2] += c; t[ 1] = t[ 1] & 0xffffffffffffff;
616
1.25k
    c = t[ 2] >> 56; t[ 3] += c; t[ 2] = t[ 2] & 0xffffffffffffff;
617
1.25k
    c = t[ 3] >> 56; t[ 4] += c; t[ 3] = t[ 3] & 0xffffffffffffff;
618
1.25k
    c = t[ 4] >> 56; t[ 5] += c; t[ 4] = t[ 4] & 0xffffffffffffff;
619
1.25k
    c = t[ 5] >> 56; t[ 6] += c; t[ 5] = t[ 5] & 0xffffffffffffff;
620
1.25k
    c = t[ 6] >> 56; t[ 7] += c; t[ 6] = t[ 6] & 0xffffffffffffff;
621
1.25k
    c = t[ 7] >> 56; t[ 8] += c; t[ 7] = t[ 7] & 0xffffffffffffff;
622
1.25k
    t[ 0] += (sword128)0x21cf5b5529eec34L * t[ 8];
623
1.25k
    t[ 1] += (sword128)0x0f635c8e9c2ab70L * t[ 8];
624
1.25k
    t[ 2] += (sword128)0x2d944a725bf7a4cL * t[ 8];
625
1.25k
    t[ 3] += (sword128)0x20cd77058eec490L * t[ 8];
626
    /* Propagate carries */
627
1.25k
    c = t[ 0] >> 56; t[ 1] += c; d[ 0] = (sword64)(t[ 0] & 0xffffffffffffff);
628
1.25k
    c = t[ 1] >> 56; t[ 2] += c; d[ 1] = (sword64)(t[ 1] & 0xffffffffffffff);
629
1.25k
    c = t[ 2] >> 56; t[ 3] += c; d[ 2] = (sword64)(t[ 2] & 0xffffffffffffff);
630
1.25k
    c = t[ 3] >> 56; t[ 4] += c; d[ 3] = (sword64)(t[ 3] & 0xffffffffffffff);
631
1.25k
    c = t[ 4] >> 56; t[ 5] += c; d[ 4] = (sword64)(t[ 4] & 0xffffffffffffff);
632
1.25k
    c = t[ 5] >> 56; t[ 6] += c; d[ 5] = (sword64)(t[ 5] & 0xffffffffffffff);
633
1.25k
    c = t[ 6] >> 56; t[ 7] += c; d[ 6] = (sword64)(t[ 6] & 0xffffffffffffff);
634
1.25k
    d[ 7] = (word64)t[7];
635
    /* Mod bits over 56 in last word */
636
1.25k
    o = d[7] >> 54; d[ 7] &= 0x3fffffffffffff;
637
1.25k
    d[ 0] += 0x873d6d54a7bb0dL * o;
638
1.25k
    d[ 1] += 0x3d8d723a70aadcL * o;
639
1.25k
    d[ 2] += 0xb65129c96fde93L * o;
640
1.25k
    d[ 3] += 0x8335dc163bb124L * o;
641
    /* Propagate carries */
642
1.25k
    o = d[ 0] >> 56; d[ 1] += o; d[ 0] = d[ 0] & 0xffffffffffffff;
643
1.25k
    o = d[ 1] >> 56; d[ 2] += o; d[ 1] = d[ 1] & 0xffffffffffffff;
644
1.25k
    o = d[ 2] >> 56; d[ 3] += o; d[ 2] = d[ 2] & 0xffffffffffffff;
645
1.25k
    o = d[ 3] >> 56; d[ 4] += o; d[ 3] = d[ 3] & 0xffffffffffffff;
646
1.25k
    o = d[ 4] >> 56; d[ 5] += o; d[ 4] = d[ 4] & 0xffffffffffffff;
647
1.25k
    o = d[ 5] >> 56; d[ 6] += o; d[ 5] = d[ 5] & 0xffffffffffffff;
648
1.25k
    o = d[ 6] >> 56; d[ 7] += o; d[ 6] = d[ 6] & 0xffffffffffffff;
649
650
    /* Convert to bytes */
651
1.25k
    b[ 0] = (d[0 ] >>  0);
652
1.25k
    b[ 1] = (d[0 ] >>  8);
653
1.25k
    b[ 2] = (d[0 ] >> 16);
654
1.25k
    b[ 3] = (d[0 ] >> 24);
655
1.25k
    b[ 4] = (d[0 ] >> 32);
656
1.25k
    b[ 5] = (d[0 ] >> 40);
657
1.25k
    b[ 6] = (d[0 ] >> 48);
658
1.25k
    b[ 7] = (d[1 ] >>  0);
659
1.25k
    b[ 8] = (d[1 ] >>  8);
660
1.25k
    b[ 9] = (d[1 ] >> 16);
661
1.25k
    b[10] = (d[1 ] >> 24);
662
1.25k
    b[11] = (d[1 ] >> 32);
663
1.25k
    b[12] = (d[1 ] >> 40);
664
1.25k
    b[13] = (d[1 ] >> 48);
665
1.25k
    b[14] = (d[2 ] >>  0);
666
1.25k
    b[15] = (d[2 ] >>  8);
667
1.25k
    b[16] = (d[2 ] >> 16);
668
1.25k
    b[17] = (d[2 ] >> 24);
669
1.25k
    b[18] = (d[2 ] >> 32);
670
1.25k
    b[19] = (d[2 ] >> 40);
671
1.25k
    b[20] = (d[2 ] >> 48);
672
1.25k
    b[21] = (d[3 ] >>  0);
673
1.25k
    b[22] = (d[3 ] >>  8);
674
1.25k
    b[23] = (d[3 ] >> 16);
675
1.25k
    b[24] = (d[3 ] >> 24);
676
1.25k
    b[25] = (d[3 ] >> 32);
677
1.25k
    b[26] = (d[3 ] >> 40);
678
1.25k
    b[27] = (d[3 ] >> 48);
679
1.25k
    b[28] = (d[4 ] >>  0);
680
1.25k
    b[29] = (d[4 ] >>  8);
681
1.25k
    b[30] = (d[4 ] >> 16);
682
1.25k
    b[31] = (d[4 ] >> 24);
683
1.25k
    b[32] = (d[4 ] >> 32);
684
1.25k
    b[33] = (d[4 ] >> 40);
685
1.25k
    b[34] = (d[4 ] >> 48);
686
1.25k
    b[35] = (d[5 ] >>  0);
687
1.25k
    b[36] = (d[5 ] >>  8);
688
1.25k
    b[37] = (d[5 ] >> 16);
689
1.25k
    b[38] = (d[5 ] >> 24);
690
1.25k
    b[39] = (d[5 ] >> 32);
691
1.25k
    b[40] = (d[5 ] >> 40);
692
1.25k
    b[41] = (d[5 ] >> 48);
693
1.25k
    b[42] = (d[6 ] >>  0);
694
1.25k
    b[43] = (d[6 ] >>  8);
695
1.25k
    b[44] = (d[6 ] >> 16);
696
1.25k
    b[45] = (d[6 ] >> 24);
697
1.25k
    b[46] = (d[6 ] >> 32);
698
1.25k
    b[47] = (d[6 ] >> 40);
699
1.25k
    b[48] = (d[6 ] >> 48);
700
1.25k
    b[49] = (d[7 ] >>  0);
701
1.25k
    b[50] = (d[7 ] >>  8);
702
1.25k
    b[51] = (d[7 ] >> 16);
703
1.25k
    b[52] = (d[7 ] >> 24);
704
1.25k
    b[53] = (d[7 ] >> 32);
705
1.25k
    b[54] = (d[7 ] >> 40);
706
1.25k
    b[55] = (d[7 ] >> 48);
707
1.25k
    b[56] = 0;
708
1.25k
}
709
710
/* Multiply a by b and add d. r = (a * b + d) mod order
711
 *
712
 * r  [in]  Scalar to hold result.
713
 * a  [in]  Scalar to multiply.
714
 * b  [in]  Scalar to multiply.
715
 * d  [in]  Scalar to add to multiplicative result.
716
 */
717
void sc448_muladd(byte* r, const byte* a, const byte* b, const byte* d)
718
414
{
719
414
    word64 ad[8], bd[8], dd[8], rd[8];
720
414
    word128 t[16];
721
414
    word128 c;
722
414
    word64 o;
723
724
    /* Load from bytes */
725
414
    ad[ 0] =  ((sword64) (a[ 0]) <<  0)
726
414
           |  ((sword64) (a[ 1]) <<  8)
727
414
           |  ((sword64) (a[ 2]) << 16)
728
414
           |  ((sword64) (a[ 3]) << 24)
729
414
           |  ((sword64) (a[ 4]) << 32)
730
414
           |  ((sword64) (a[ 5]) << 40)
731
414
           |  ((sword64) (a[ 6]) << 48);
732
414
    ad[ 1] =  ((sword64) (a[ 7]) <<  0)
733
414
           |  ((sword64) (a[ 8]) <<  8)
734
414
           |  ((sword64) (a[ 9]) << 16)
735
414
           |  ((sword64) (a[10]) << 24)
736
414
           |  ((sword64) (a[11]) << 32)
737
414
           |  ((sword64) (a[12]) << 40)
738
414
           |  ((sword64) (a[13]) << 48);
739
414
    ad[ 2] =  ((sword64) (a[14]) <<  0)
740
414
           |  ((sword64) (a[15]) <<  8)
741
414
           |  ((sword64) (a[16]) << 16)
742
414
           |  ((sword64) (a[17]) << 24)
743
414
           |  ((sword64) (a[18]) << 32)
744
414
           |  ((sword64) (a[19]) << 40)
745
414
           |  ((sword64) (a[20]) << 48);
746
414
    ad[ 3] =  ((sword64) (a[21]) <<  0)
747
414
           |  ((sword64) (a[22]) <<  8)
748
414
           |  ((sword64) (a[23]) << 16)
749
414
           |  ((sword64) (a[24]) << 24)
750
414
           |  ((sword64) (a[25]) << 32)
751
414
           |  ((sword64) (a[26]) << 40)
752
414
           |  ((sword64) (a[27]) << 48);
753
414
    ad[ 4] =  ((sword64) (a[28]) <<  0)
754
414
           |  ((sword64) (a[29]) <<  8)
755
414
           |  ((sword64) (a[30]) << 16)
756
414
           |  ((sword64) (a[31]) << 24)
757
414
           |  ((sword64) (a[32]) << 32)
758
414
           |  ((sword64) (a[33]) << 40)
759
414
           |  ((sword64) (a[34]) << 48);
760
414
    ad[ 5] =  ((sword64) (a[35]) <<  0)
761
414
           |  ((sword64) (a[36]) <<  8)
762
414
           |  ((sword64) (a[37]) << 16)
763
414
           |  ((sword64) (a[38]) << 24)
764
414
           |  ((sword64) (a[39]) << 32)
765
414
           |  ((sword64) (a[40]) << 40)
766
414
           |  ((sword64) (a[41]) << 48);
767
414
    ad[ 6] =  ((sword64) (a[42]) <<  0)
768
414
           |  ((sword64) (a[43]) <<  8)
769
414
           |  ((sword64) (a[44]) << 16)
770
414
           |  ((sword64) (a[45]) << 24)
771
414
           |  ((sword64) (a[46]) << 32)
772
414
           |  ((sword64) (a[47]) << 40)
773
414
           |  ((sword64) (a[48]) << 48);
774
414
    ad[ 7] =  ((sword64) (a[49]) <<  0)
775
414
           |  ((sword64) (a[50]) <<  8)
776
414
           |  ((sword64) (a[51]) << 16)
777
414
           |  ((sword64) (a[52]) << 24)
778
414
           |  ((sword64) (a[53]) << 32)
779
414
           |  ((sword64) (a[54]) << 40)
780
414
           |  ((sword64) (a[55]) << 48);
781
    /* Load from bytes */
782
414
    bd[ 0] =  ((sword64) (b[ 0]) <<  0)
783
414
           |  ((sword64) (b[ 1]) <<  8)
784
414
           |  ((sword64) (b[ 2]) << 16)
785
414
           |  ((sword64) (b[ 3]) << 24)
786
414
           |  ((sword64) (b[ 4]) << 32)
787
414
           |  ((sword64) (b[ 5]) << 40)
788
414
           |  ((sword64) (b[ 6]) << 48);
789
414
    bd[ 1] =  ((sword64) (b[ 7]) <<  0)
790
414
           |  ((sword64) (b[ 8]) <<  8)
791
414
           |  ((sword64) (b[ 9]) << 16)
792
414
           |  ((sword64) (b[10]) << 24)
793
414
           |  ((sword64) (b[11]) << 32)
794
414
           |  ((sword64) (b[12]) << 40)
795
414
           |  ((sword64) (b[13]) << 48);
796
414
    bd[ 2] =  ((sword64) (b[14]) <<  0)
797
414
           |  ((sword64) (b[15]) <<  8)
798
414
           |  ((sword64) (b[16]) << 16)
799
414
           |  ((sword64) (b[17]) << 24)
800
414
           |  ((sword64) (b[18]) << 32)
801
414
           |  ((sword64) (b[19]) << 40)
802
414
           |  ((sword64) (b[20]) << 48);
803
414
    bd[ 3] =  ((sword64) (b[21]) <<  0)
804
414
           |  ((sword64) (b[22]) <<  8)
805
414
           |  ((sword64) (b[23]) << 16)
806
414
           |  ((sword64) (b[24]) << 24)
807
414
           |  ((sword64) (b[25]) << 32)
808
414
           |  ((sword64) (b[26]) << 40)
809
414
           |  ((sword64) (b[27]) << 48);
810
414
    bd[ 4] =  ((sword64) (b[28]) <<  0)
811
414
           |  ((sword64) (b[29]) <<  8)
812
414
           |  ((sword64) (b[30]) << 16)
813
414
           |  ((sword64) (b[31]) << 24)
814
414
           |  ((sword64) (b[32]) << 32)
815
414
           |  ((sword64) (b[33]) << 40)
816
414
           |  ((sword64) (b[34]) << 48);
817
414
    bd[ 5] =  ((sword64) (b[35]) <<  0)
818
414
           |  ((sword64) (b[36]) <<  8)
819
414
           |  ((sword64) (b[37]) << 16)
820
414
           |  ((sword64) (b[38]) << 24)
821
414
           |  ((sword64) (b[39]) << 32)
822
414
           |  ((sword64) (b[40]) << 40)
823
414
           |  ((sword64) (b[41]) << 48);
824
414
    bd[ 6] =  ((sword64) (b[42]) <<  0)
825
414
           |  ((sword64) (b[43]) <<  8)
826
414
           |  ((sword64) (b[44]) << 16)
827
414
           |  ((sword64) (b[45]) << 24)
828
414
           |  ((sword64) (b[46]) << 32)
829
414
           |  ((sword64) (b[47]) << 40)
830
414
           |  ((sword64) (b[48]) << 48);
831
414
    bd[ 7] =  ((sword64) (b[49]) <<  0)
832
414
           |  ((sword64) (b[50]) <<  8)
833
414
           |  ((sword64) (b[51]) << 16)
834
414
           |  ((sword64) (b[52]) << 24)
835
414
           |  ((sword64) (b[53]) << 32)
836
414
           |  ((sword64) (b[54]) << 40)
837
414
           |  ((sword64) (b[55]) << 48);
838
    /* Load from bytes */
839
414
    dd[ 0] =  ((sword64) (d[ 0]) <<  0)
840
414
           |  ((sword64) (d[ 1]) <<  8)
841
414
           |  ((sword64) (d[ 2]) << 16)
842
414
           |  ((sword64) (d[ 3]) << 24)
843
414
           |  ((sword64) (d[ 4]) << 32)
844
414
           |  ((sword64) (d[ 5]) << 40)
845
414
           |  ((sword64) (d[ 6]) << 48);
846
414
    dd[ 1] =  ((sword64) (d[ 7]) <<  0)
847
414
           |  ((sword64) (d[ 8]) <<  8)
848
414
           |  ((sword64) (d[ 9]) << 16)
849
414
           |  ((sword64) (d[10]) << 24)
850
414
           |  ((sword64) (d[11]) << 32)
851
414
           |  ((sword64) (d[12]) << 40)
852
414
           |  ((sword64) (d[13]) << 48);
853
414
    dd[ 2] =  ((sword64) (d[14]) <<  0)
854
414
           |  ((sword64) (d[15]) <<  8)
855
414
           |  ((sword64) (d[16]) << 16)
856
414
           |  ((sword64) (d[17]) << 24)
857
414
           |  ((sword64) (d[18]) << 32)
858
414
           |  ((sword64) (d[19]) << 40)
859
414
           |  ((sword64) (d[20]) << 48);
860
414
    dd[ 3] =  ((sword64) (d[21]) <<  0)
861
414
           |  ((sword64) (d[22]) <<  8)
862
414
           |  ((sword64) (d[23]) << 16)
863
414
           |  ((sword64) (d[24]) << 24)
864
414
           |  ((sword64) (d[25]) << 32)
865
414
           |  ((sword64) (d[26]) << 40)
866
414
           |  ((sword64) (d[27]) << 48);
867
414
    dd[ 4] =  ((sword64) (d[28]) <<  0)
868
414
           |  ((sword64) (d[29]) <<  8)
869
414
           |  ((sword64) (d[30]) << 16)
870
414
           |  ((sword64) (d[31]) << 24)
871
414
           |  ((sword64) (d[32]) << 32)
872
414
           |  ((sword64) (d[33]) << 40)
873
414
           |  ((sword64) (d[34]) << 48);
874
414
    dd[ 5] =  ((sword64) (d[35]) <<  0)
875
414
           |  ((sword64) (d[36]) <<  8)
876
414
           |  ((sword64) (d[37]) << 16)
877
414
           |  ((sword64) (d[38]) << 24)
878
414
           |  ((sword64) (d[39]) << 32)
879
414
           |  ((sword64) (d[40]) << 40)
880
414
           |  ((sword64) (d[41]) << 48);
881
414
    dd[ 6] =  ((sword64) (d[42]) <<  0)
882
414
           |  ((sword64) (d[43]) <<  8)
883
414
           |  ((sword64) (d[44]) << 16)
884
414
           |  ((sword64) (d[45]) << 24)
885
414
           |  ((sword64) (d[46]) << 32)
886
414
           |  ((sword64) (d[47]) << 40)
887
414
           |  ((sword64) (d[48]) << 48);
888
414
    dd[ 7] =  ((sword64) (d[49]) <<  0)
889
414
           |  ((sword64) (d[50]) <<  8)
890
414
           |  ((sword64) (d[51]) << 16)
891
414
           |  ((sword64) (d[52]) << 24)
892
414
           |  ((sword64) (d[53]) << 32)
893
414
           |  ((sword64) (d[54]) << 40)
894
414
           |  ((sword64) (d[55]) << 48);
895
896
    /* a * b + d */
897
414
    t[ 0] =  dd[ 0] + (sword128)ad[ 0] * bd[ 0];
898
414
    t[ 1] =  dd[ 1] + (sword128)ad[ 0] * bd[ 1]
899
414
                    + (sword128)ad[ 1] * bd[ 0];
900
414
    t[ 2] =  dd[ 2] + (sword128)ad[ 0] * bd[ 2]
901
414
                    + (sword128)ad[ 1] * bd[ 1]
902
414
                    + (sword128)ad[ 2] * bd[ 0];
903
414
    t[ 3] =  dd[ 3] + (sword128)ad[ 0] * bd[ 3]
904
414
                    + (sword128)ad[ 1] * bd[ 2]
905
414
                    + (sword128)ad[ 2] * bd[ 1]
906
414
                    + (sword128)ad[ 3] * bd[ 0];
907
414
    t[ 4] =  dd[ 4] + (sword128)ad[ 0] * bd[ 4]
908
414
                    + (sword128)ad[ 1] * bd[ 3]
909
414
                    + (sword128)ad[ 2] * bd[ 2]
910
414
                    + (sword128)ad[ 3] * bd[ 1]
911
414
                    + (sword128)ad[ 4] * bd[ 0];
912
414
    t[ 5] =  dd[ 5] + (sword128)ad[ 0] * bd[ 5]
913
414
                    + (sword128)ad[ 1] * bd[ 4]
914
414
                    + (sword128)ad[ 2] * bd[ 3]
915
414
                    + (sword128)ad[ 3] * bd[ 2]
916
414
                    + (sword128)ad[ 4] * bd[ 1]
917
414
                    + (sword128)ad[ 5] * bd[ 0];
918
414
    t[ 6] =  dd[ 6] + (sword128)ad[ 0] * bd[ 6]
919
414
                    + (sword128)ad[ 1] * bd[ 5]
920
414
                    + (sword128)ad[ 2] * bd[ 4]
921
414
                    + (sword128)ad[ 3] * bd[ 3]
922
414
                    + (sword128)ad[ 4] * bd[ 2]
923
414
                    + (sword128)ad[ 5] * bd[ 1]
924
414
                    + (sword128)ad[ 6] * bd[ 0];
925
414
    t[ 7] =  dd[ 7] + (sword128)ad[ 0] * bd[ 7]
926
414
                    + (sword128)ad[ 1] * bd[ 6]
927
414
                    + (sword128)ad[ 2] * bd[ 5]
928
414
                    + (sword128)ad[ 3] * bd[ 4]
929
414
                    + (sword128)ad[ 4] * bd[ 3]
930
414
                    + (sword128)ad[ 5] * bd[ 2]
931
414
                    + (sword128)ad[ 6] * bd[ 1]
932
414
                    + (sword128)ad[ 7] * bd[ 0];
933
414
    t[ 8] =           (sword128)ad[ 1] * bd[ 7]
934
414
                    + (sword128)ad[ 2] * bd[ 6]
935
414
                    + (sword128)ad[ 3] * bd[ 5]
936
414
                    + (sword128)ad[ 4] * bd[ 4]
937
414
                    + (sword128)ad[ 5] * bd[ 3]
938
414
                    + (sword128)ad[ 6] * bd[ 2]
939
414
                    + (sword128)ad[ 7] * bd[ 1];
940
414
    t[ 9] =           (sword128)ad[ 2] * bd[ 7]
941
414
                    + (sword128)ad[ 3] * bd[ 6]
942
414
                    + (sword128)ad[ 4] * bd[ 5]
943
414
                    + (sword128)ad[ 5] * bd[ 4]
944
414
                    + (sword128)ad[ 6] * bd[ 3]
945
414
                    + (sword128)ad[ 7] * bd[ 2];
946
414
    t[10] =           (sword128)ad[ 3] * bd[ 7]
947
414
                    + (sword128)ad[ 4] * bd[ 6]
948
414
                    + (sword128)ad[ 5] * bd[ 5]
949
414
                    + (sword128)ad[ 6] * bd[ 4]
950
414
                    + (sword128)ad[ 7] * bd[ 3];
951
414
    t[11] =           (sword128)ad[ 4] * bd[ 7]
952
414
                    + (sword128)ad[ 5] * bd[ 6]
953
414
                    + (sword128)ad[ 6] * bd[ 5]
954
414
                    + (sword128)ad[ 7] * bd[ 4];
955
414
    t[12] =           (sword128)ad[ 5] * bd[ 7]
956
414
                    + (sword128)ad[ 6] * bd[ 6]
957
414
                    + (sword128)ad[ 7] * bd[ 5];
958
414
    t[13] =           (sword128)ad[ 6] * bd[ 7]
959
414
                    + (sword128)ad[ 7] * bd[ 6];
960
414
    t[14] =           (sword128)ad[ 7] * bd[ 7];
961
414
    t[15] = 0;
962
963
    /* Mod curve order */
964
    /* 2^446 - 0x8335dc163bb124b65129c96fde933d8d723a70aadc873d6d54a7bb0d */
965
    /* Propagate carries */
966
414
    c = t[ 0] >> 56; t[ 1] += c; t[ 0] = t[ 0] & 0xffffffffffffff;
967
414
    c = t[ 1] >> 56; t[ 2] += c; t[ 1] = t[ 1] & 0xffffffffffffff;
968
414
    c = t[ 2] >> 56; t[ 3] += c; t[ 2] = t[ 2] & 0xffffffffffffff;
969
414
    c = t[ 3] >> 56; t[ 4] += c; t[ 3] = t[ 3] & 0xffffffffffffff;
970
414
    c = t[ 4] >> 56; t[ 5] += c; t[ 4] = t[ 4] & 0xffffffffffffff;
971
414
    c = t[ 5] >> 56; t[ 6] += c; t[ 5] = t[ 5] & 0xffffffffffffff;
972
414
    c = t[ 6] >> 56; t[ 7] += c; t[ 6] = t[ 6] & 0xffffffffffffff;
973
414
    c = t[ 7] >> 56; t[ 8] += c; t[ 7] = t[ 7] & 0xffffffffffffff;
974
414
    c = t[ 8] >> 56; t[ 9] += c; t[ 8] = t[ 8] & 0xffffffffffffff;
975
414
    c = t[ 9] >> 56; t[10] += c; t[ 9] = t[ 9] & 0xffffffffffffff;
976
414
    c = t[10] >> 56; t[11] += c; t[10] = t[10] & 0xffffffffffffff;
977
414
    c = t[11] >> 56; t[12] += c; t[11] = t[11] & 0xffffffffffffff;
978
414
    c = t[12] >> 56; t[13] += c; t[12] = t[12] & 0xffffffffffffff;
979
414
    c = t[13] >> 56; t[14] += c; t[13] = t[13] & 0xffffffffffffff;
980
414
    c = t[14] >> 56; t[15] += c; t[14] = t[14] & 0xffffffffffffff;
981
    /* Mod top half of extra words */
982
414
    t[ 4] += (sword128)0x21cf5b5529eec34L * t[12];
983
414
    t[ 5] += (sword128)0x0f635c8e9c2ab70L * t[12];
984
414
    t[ 6] += (sword128)0x2d944a725bf7a4cL * t[12];
985
414
    t[ 7] += (sword128)0x20cd77058eec490L * t[12];
986
414
    t[ 5] += (sword128)0x21cf5b5529eec34L * t[13];
987
414
    t[ 6] += (sword128)0x0f635c8e9c2ab70L * t[13];
988
414
    t[ 7] += (sword128)0x2d944a725bf7a4cL * t[13];
989
414
    t[ 8] += (sword128)0x20cd77058eec490L * t[13];
990
414
    t[ 6] += (sword128)0x21cf5b5529eec34L * t[14];
991
414
    t[ 7] += (sword128)0x0f635c8e9c2ab70L * t[14];
992
414
    t[ 8] += (sword128)0x2d944a725bf7a4cL * t[14];
993
414
    t[ 9] += (sword128)0x20cd77058eec490L * t[14];
994
414
    t[ 7] += (sword128)0x21cf5b5529eec34L * t[15];
995
414
    t[ 8] += (sword128)0x0f635c8e9c2ab70L * t[15];
996
414
    t[ 9] += (sword128)0x2d944a725bf7a4cL * t[15];
997
414
    t[10] += (sword128)0x20cd77058eec490L * t[15];
998
    /* Propagate carries */
999
414
    c = t[ 4] >> 56; t[ 5] += c; t[ 4] = t[ 4] & 0xffffffffffffff;
1000
414
    c = t[ 5] >> 56; t[ 6] += c; t[ 5] = t[ 5] & 0xffffffffffffff;
1001
414
    c = t[ 6] >> 56; t[ 7] += c; t[ 6] = t[ 6] & 0xffffffffffffff;
1002
414
    c = t[ 7] >> 56; t[ 8] += c; t[ 7] = t[ 7] & 0xffffffffffffff;
1003
414
    c = t[ 8] >> 56; t[ 9] += c; t[ 8] = t[ 8] & 0xffffffffffffff;
1004
414
    c = t[ 9] >> 56; t[10] += c; t[ 9] = t[ 9] & 0xffffffffffffff;
1005
414
    c = t[10] >> 56; t[11] += c; t[10] = t[10] & 0xffffffffffffff;
1006
    /* Mod bottom half of extra words */
1007
414
    t[ 0] += (sword128)0x21cf5b5529eec34L * t[ 8];
1008
414
    t[ 1] += (sword128)0x0f635c8e9c2ab70L * t[ 8];
1009
414
    t[ 2] += (sword128)0x2d944a725bf7a4cL * t[ 8];
1010
414
    t[ 3] += (sword128)0x20cd77058eec490L * t[ 8];
1011
414
    t[ 1] += (sword128)0x21cf5b5529eec34L * t[ 9];
1012
414
    t[ 2] += (sword128)0x0f635c8e9c2ab70L * t[ 9];
1013
414
    t[ 3] += (sword128)0x2d944a725bf7a4cL * t[ 9];
1014
414
    t[ 4] += (sword128)0x20cd77058eec490L * t[ 9];
1015
414
    t[ 2] += (sword128)0x21cf5b5529eec34L * t[10];
1016
414
    t[ 3] += (sword128)0x0f635c8e9c2ab70L * t[10];
1017
414
    t[ 4] += (sword128)0x2d944a725bf7a4cL * t[10];
1018
414
    t[ 5] += (sword128)0x20cd77058eec490L * t[10];
1019
414
    t[ 3] += (sword128)0x21cf5b5529eec34L * t[11];
1020
414
    t[ 4] += (sword128)0x0f635c8e9c2ab70L * t[11];
1021
414
    t[ 5] += (sword128)0x2d944a725bf7a4cL * t[11];
1022
414
    t[ 6] += (sword128)0x20cd77058eec490L * t[11];
1023
    /* Propagate carries */
1024
414
    c = t[ 0] >> 56; t[ 1] += c; rd[ 0] = (sword64)(t[ 0] & 0xffffffffffffff);
1025
414
    c = t[ 1] >> 56; t[ 2] += c; rd[ 1] = (sword64)(t[ 1] & 0xffffffffffffff);
1026
414
    c = t[ 2] >> 56; t[ 3] += c; rd[ 2] = (sword64)(t[ 2] & 0xffffffffffffff);
1027
414
    c = t[ 3] >> 56; t[ 4] += c; rd[ 3] = (sword64)(t[ 3] & 0xffffffffffffff);
1028
414
    c = t[ 4] >> 56; t[ 5] += c; rd[ 4] = (sword64)(t[ 4] & 0xffffffffffffff);
1029
414
    c = t[ 5] >> 56; t[ 6] += c; rd[ 5] = (sword64)(t[ 5] & 0xffffffffffffff);
1030
414
    c = t[ 6] >> 56; t[ 7] += c; rd[ 6] = (sword64)(t[ 6] & 0xffffffffffffff);
1031
414
    rd[ 7] = (word64)t[7];
1032
    /* Mod bits over 56 in last word */
1033
414
    o = rd[7] >> 54; rd[ 7] &= 0x3fffffffffffff;
1034
414
    rd[ 0] += 0x873d6d54a7bb0dL * o;
1035
414
    rd[ 1] += 0x3d8d723a70aadcL * o;
1036
414
    rd[ 2] += 0xb65129c96fde93L * o;
1037
414
    rd[ 3] += 0x8335dc163bb124L * o;
1038
    /* Propagate carries */
1039
414
    o = rd[ 0] >> 56; rd[ 1] += o; rd[ 0] = rd[ 0] & 0xffffffffffffff;
1040
414
    o = rd[ 1] >> 56; rd[ 2] += o; rd[ 1] = rd[ 1] & 0xffffffffffffff;
1041
414
    o = rd[ 2] >> 56; rd[ 3] += o; rd[ 2] = rd[ 2] & 0xffffffffffffff;
1042
414
    o = rd[ 3] >> 56; rd[ 4] += o; rd[ 3] = rd[ 3] & 0xffffffffffffff;
1043
414
    o = rd[ 4] >> 56; rd[ 5] += o; rd[ 4] = rd[ 4] & 0xffffffffffffff;
1044
414
    o = rd[ 5] >> 56; rd[ 6] += o; rd[ 5] = rd[ 5] & 0xffffffffffffff;
1045
414
    o = rd[ 6] >> 56; rd[ 7] += o; rd[ 6] = rd[ 6] & 0xffffffffffffff;
1046
1047
    /* Convert to bytes */
1048
414
    r[ 0] = (rd[0 ] >>  0);
1049
414
    r[ 1] = (rd[0 ] >>  8);
1050
414
    r[ 2] = (rd[0 ] >> 16);
1051
414
    r[ 3] = (rd[0 ] >> 24);
1052
414
    r[ 4] = (rd[0 ] >> 32);
1053
414
    r[ 5] = (rd[0 ] >> 40);
1054
414
    r[ 6] = (rd[0 ] >> 48);
1055
414
    r[ 7] = (rd[1 ] >>  0);
1056
414
    r[ 8] = (rd[1 ] >>  8);
1057
414
    r[ 9] = (rd[1 ] >> 16);
1058
414
    r[10] = (rd[1 ] >> 24);
1059
414
    r[11] = (rd[1 ] >> 32);
1060
414
    r[12] = (rd[1 ] >> 40);
1061
414
    r[13] = (rd[1 ] >> 48);
1062
414
    r[14] = (rd[2 ] >>  0);
1063
414
    r[15] = (rd[2 ] >>  8);
1064
414
    r[16] = (rd[2 ] >> 16);
1065
414
    r[17] = (rd[2 ] >> 24);
1066
414
    r[18] = (rd[2 ] >> 32);
1067
414
    r[19] = (rd[2 ] >> 40);
1068
414
    r[20] = (rd[2 ] >> 48);
1069
414
    r[21] = (rd[3 ] >>  0);
1070
414
    r[22] = (rd[3 ] >>  8);
1071
414
    r[23] = (rd[3 ] >> 16);
1072
414
    r[24] = (rd[3 ] >> 24);
1073
414
    r[25] = (rd[3 ] >> 32);
1074
414
    r[26] = (rd[3 ] >> 40);
1075
414
    r[27] = (rd[3 ] >> 48);
1076
414
    r[28] = (rd[4 ] >>  0);
1077
414
    r[29] = (rd[4 ] >>  8);
1078
414
    r[30] = (rd[4 ] >> 16);
1079
414
    r[31] = (rd[4 ] >> 24);
1080
414
    r[32] = (rd[4 ] >> 32);
1081
414
    r[33] = (rd[4 ] >> 40);
1082
414
    r[34] = (rd[4 ] >> 48);
1083
414
    r[35] = (rd[5 ] >>  0);
1084
414
    r[36] = (rd[5 ] >>  8);
1085
414
    r[37] = (rd[5 ] >> 16);
1086
414
    r[38] = (rd[5 ] >> 24);
1087
414
    r[39] = (rd[5 ] >> 32);
1088
414
    r[40] = (rd[5 ] >> 40);
1089
414
    r[41] = (rd[5 ] >> 48);
1090
414
    r[42] = (rd[6 ] >>  0);
1091
414
    r[43] = (rd[6 ] >>  8);
1092
414
    r[44] = (rd[6 ] >> 16);
1093
414
    r[45] = (rd[6 ] >> 24);
1094
414
    r[46] = (rd[6 ] >> 32);
1095
414
    r[47] = (rd[6 ] >> 40);
1096
414
    r[48] = (rd[6 ] >> 48);
1097
414
    r[49] = (rd[7 ] >>  0);
1098
414
    r[50] = (rd[7 ] >>  8);
1099
414
    r[51] = (rd[7 ] >> 16);
1100
414
    r[52] = (rd[7 ] >> 24);
1101
414
    r[53] = (rd[7 ] >> 32);
1102
414
    r[54] = (rd[7 ] >> 40);
1103
414
    r[55] = (rd[7 ] >> 48);
1104
414
    r[56] = 0;
1105
414
}
1106
1107
/* Precomputed multiples of the base point. */
1108
static const ge448_precomp base[58][8] = {
1109
{
1110
    {
1111
        { 0x26a82bc70cc05eL, 0x80e18b00938e26L, 0xf72ab66511433bL,
1112
          0xa3d3a46412ae1aL, 0x0f1767ea6de324L, 0x36da9e14657047L,
1113
          0xed221d15a622bfL, 0x4f1970c66bed0dL },
1114
        { 0x08795bf230fa14L, 0x132c4ed7c8ad98L, 0x1ce67c39c4fdbdL,
1115
          0x05a0c2d73ad3ffL, 0xa3984087789c1eL, 0xc7624bea73736cL,
1116
          0x248876203756c9L, 0x693f46716eb6bcL }
1117
    },
1118
    {
1119
        { 0x55555555555555L, 0x55555555555555L, 0x55555555555555L,
1120
          0x55555555555555L, 0xaaaaaaaaaaaaa9L, 0xaaaaaaaaaaaaaaL,
1121
          0xaaaaaaaaaaaaaaL, 0xaaaaaaaaaaaaaaL },
1122
        { 0xeafbcdea9386edL, 0xb2bed1cda06bdaL, 0x833a2a3098bbbcL,
1123
          0x8ad8c4b80d6565L, 0x884dd7b7e36d72L, 0xc2b0036ed7a035L,
1124
          0x8db359d6205086L, 0xae05e9634ad704L }
1125
    },
1126
    {
1127
        { 0x28173286ff2f8fL, 0xb769465da85757L, 0xf7f6271fd6e862L,
1128
          0x4a3fcfe8daa9cbL, 0xda82c7e2ba077aL, 0x943332241b8b8cL,
1129
          0x6455bd64316cb6L, 0x0865886b9108afL },
1130
        { 0x22ac13588ed6fcL, 0x9a68fed02dafb8L, 0x1bdb6767f0bffaL,
1131
          0xec4e1d58bb3a33L, 0x56c3b9fce43c82L, 0xa6449a4a8d9523L,
1132
          0xf706cbda7ad43aL, 0xe005a8dbd5125cL }
1133
    },
1134
    {
1135
        { 0xce42ac48ba7f30L, 0xe1798949e120e2L, 0xf1515dd8ba21aeL,
1136
          0x70c74cc301b7bdL, 0x0891c693fda4beL, 0x29ea255a09cf4eL,
1137
          0x2c1419a17226f9L, 0x49dcbc5c6c0cceL },
1138
        { 0xe236f86de51839L, 0x44285d0d4f5b32L, 0x7ea1ca9472b5d4L,
1139
          0x7b8a5bc1c0d8f9L, 0x57d845c90dc322L, 0x1b979cb7c02f04L,
1140
          0x27164b33a5de02L, 0xd49077e4accde5L }
1141
    },
1142
    {
1143
        { 0xa99d1092030034L, 0x2d8cefc6f950d0L, 0x7a920c3c96f07bL,
1144
          0x958812808bc0d5L, 0x62ada756d761e8L, 0x0def80cbcf7285L,
1145
          0x0e2ba7601eedb5L, 0x7a9f9335a48dcbL },
1146
        { 0xb4731472f435ebL, 0x5512881f225443L, 0xee59d2b33c5840L,
1147
          0xb698017127d7a4L, 0xb18fced86551f7L, 0x0ade260ca1823aL,
1148
          0xd3b9109ce4fd58L, 0xadfd751a2517edL }
1149
    },
1150
    {
1151
        { 0x7fd7652abef79cL, 0x6c20a07443a878L, 0x5c1840d12a7109L,
1152
          0x4a06e4a876451cL, 0x3bed0b4ad95f65L, 0x25d2e673fb0260L,
1153
          0x2e00349aebd971L, 0x54523e04498b72L },
1154
        { 0xea5d1da07c7bccL, 0xcce776938ea98cL, 0x80284e861d2b3eL,
1155
          0x48de76b6e1ff1bL, 0x7b121869c58522L, 0xbfd053a2765a1aL,
1156
          0x2d743ec056c667L, 0x3f99b9cd8ab61cL }
1157
    },
1158
    {
1159
        { 0xdf9567ceb5eaf7L, 0x110a6b478ac7d7L, 0x2d335014706e0bL,
1160
          0x0df9c7b0b5a209L, 0xba4223d568e684L, 0xd78af2d8c3719bL,
1161
          0x77467b9a5291b6L, 0x079748e5c89befL },
1162
        { 0xe20d3fadac377fL, 0x34e866972b5c09L, 0xd8687a3c40bbb7L,
1163
          0x7b3946fd2f84c9L, 0xd00e40ca78f50eL, 0xb87594417e7179L,
1164
          0x9c7373bcb23583L, 0x7ddeda3c90fd69L }
1165
    },
1166
    {
1167
        { 0x2538a67153bde0L, 0x223aca9406b696L, 0xf9080dc1ad713eL,
1168
          0x6c4cb47d816a64L, 0xbc285685dc8b97L, 0xd97b037c08e2d7L,
1169
          0x5b63fb45d0e66bL, 0xd1f1bc5520e8a3L },
1170
        { 0x4eb873ce69e09bL, 0x1663164bc8ee45L, 0x08f7003ba8d89fL,
1171
          0x4b98ead386ad82L, 0xa4b93b7bd94c7bL, 0x46ba408c6b38b3L,
1172
          0xdae87d1f3574ffL, 0xc7564f4e9bea9bL }
1173
    },
1174
},
1175
{
1176
    {
1177
        { 0x2e4fdb25bfac1cL, 0xf0d79aaf5f3bcaL, 0xe756b0d20fb7ccL,
1178
          0xe3696beb39609aL, 0xa019fc35a5ab58L, 0xa2b24853b281ddL,
1179
          0xe3e2be761ac0a2L, 0xf19c34feb56730L },
1180
        { 0x2d25ce8a30241eL, 0xf5661eab73d7a1L, 0x4611ed0daac9f4L,
1181
          0xd5442344ced72cL, 0xce78f52e92e985L, 0x6fe5dd44da4aadL,
1182
          0xfcaddc61d363ceL, 0x3beb69cc9111bfL }
1183
    },
1184
    {
1185
        { 0xd2e7660940ebc9L, 0xe032018b17bbe0L, 0xad4939175c0575L,
1186
          0xdd0b14721c7f34L, 0x52c2ba43e147e0L, 0x7dd03c60ee8973L,
1187
          0x5472e8decf2754L, 0x17a1cd1d6482bbL },
1188
        { 0xdd43b848128b3fL, 0xf0cae34ea7dd25L, 0x81ca99fff07df2L,
1189
          0x1c8959792ebbdcL, 0x45c7a6872155e6L, 0x907a50e39ddd08L,
1190
          0xbe398c2bb2d89bL, 0x38063f91b3b536L }
1191
    },
1192
    {
1193
        { 0x149fafbf843b23L, 0x00ab582ac7f22aL, 0xa3b981bf2f4d4cL,
1194
          0x2ce1a654341a22L, 0x68a40747c03b63L, 0x63206a212f2cf8L,
1195
          0xc9961d35149741L, 0xfb85430bc7099eL },
1196
        { 0x9c9107290a9e59L, 0x734e94a06de367L, 0x5cf3cbedb99214L,
1197
          0xc6bce3245b1fb9L, 0x1a82abedd7be0dL, 0xf74976aede7d1cL,
1198
          0x7025b7c21503bdL, 0xf7894910d096abL }
1199
    },
1200
    {
1201
        { 0x6bd48bb555a41bL, 0xfbdd0d067de206L, 0x98bc477dd6dfd1L,
1202
          0x1d0693b3e40b8aL, 0x6e15563da32ae4L, 0x0194a20fcebaa2L,
1203
          0xda116150980a93L, 0x8e119200109cecL },
1204
        { 0x8ea0552ffb9726L, 0xeba50a4047e44bL, 0xc050d2460ddf76L,
1205
          0xe009204ac690e0L, 0x47b86399b18edcL, 0x2f5b76ac77f23fL,
1206
          0x4296c240792905L, 0x73f6b4a06f6dc7L }
1207
    },
1208
    {
1209
        { 0xb6ef9ea3b10cadL, 0x312843df7c8fceL, 0x5bdcd528bedf86L,
1210
          0x2889059f6dd823L, 0x04578e908bfde0L, 0x3245df3123e2e5L,
1211
          0xbf461d57ee9e3aL, 0xddec2d46f94cebL },
1212
        { 0x21b43b9145768fL, 0xe79a8f9dae962aL, 0xff1972bcbb043fL,
1213
          0xe3dcf6d239649bL, 0xed592bdc533b85L, 0x14ff94fdbe22d0L,
1214
          0x6c4eb87f1d8e22L, 0xd8d4c71d18cf6dL }
1215
    },
1216
    {
1217
        { 0xcda666c8d96345L, 0x9ecaa25836cd21L, 0x6e885bd984606eL,
1218
          0x1dd5fef804f054L, 0x9dfff6b6959ae4L, 0x99b9cf8c9b55ccL,
1219
          0xb4716b062b9b80L, 0x13ec87c554b128L },
1220
        { 0xe696d1f75aacc2L, 0xf78c99387fc5ffL, 0x76c09473809d42L,
1221
          0x99ce62db618fa8L, 0x35e3e022f53341L, 0x62fc1ac0db6c5eL,
1222
          0xa1fb8e600d8b47L, 0x0bc107058f0d1eL }
1223
    },
1224
    {
1225
        { 0x1f4526916da513L, 0x1f2fc04f5cf341L, 0xae9208664d23e0L,
1226
          0x4e33082da8a113L, 0x2688ec61cfc085L, 0x6f2e8de6e5327fL,
1227
          0x2070db3b4e48a8L, 0xd6626973240adeL },
1228
        { 0xa6b317ffbd997bL, 0x9fa1b5649e26bdL, 0xcbf0d258cba0f3L,
1229
          0x4a7791b17b4745L, 0x25f555b5c9e190L, 0x7cd3940923ec4cL,
1230
          0x16f4c6ae98f1b6L, 0x7962116bcd4e0fL }
1231
    },
1232
    {
1233
        { 0x8d58fa302491e3L, 0x7cf76c67ab3898L, 0xbc2f657647ebc7L,
1234
          0x5f4bfe0d25f5a3L, 0x503f478d69505dL, 0x4a889fc3fb6645L,
1235
          0x33e1bc1fa86b18L, 0xabb234f5508dd8L },
1236
        { 0x5348e1b9a05b48L, 0x57ac5f164dc858L, 0x21f4d38ec8a2d3L,
1237
          0x5ec6d3ca3a3e9dL, 0xcd4062e560a0b8L, 0x49b74f73433f59L,
1238
          0xefd9d87cab14e3L, 0x858ce7feb964f5L }
1239
    },
1240
},
1241
{
1242
    {
1243
        { 0x7577254eb731b4L, 0x9fff1fb4e2397eL, 0x749b145c821715L,
1244
          0x40619fe2e65e67L, 0x57b82812e618d8L, 0x063186c707b83eL,
1245
          0xcfc80cb31b24a2L, 0xcca6185ac75169L },
1246
        { 0x6539f44b255818L, 0x5895da00368bceL, 0x841a30917c7482L,
1247
          0x85469e1b1a9c9eL, 0x05664c0e4f7d9dL, 0x8a063187b35cc0L,
1248
          0x214763aa0e9b0aL, 0x1bd872c4b26ac2L }
1249
    },
1250
    {
1251
        { 0x3578f97a93762bL, 0x434f69a72d52bcL, 0xddcca4022cb565L,
1252
          0xa7d1e41ff20544L, 0x823475d8a66588L, 0x9fc97c799d7bafL,
1253
          0x15542f1660e421L, 0xa7d1f60843faf6L },
1254
        { 0xbbfaab54063cccL, 0x3ad9bada49855aL, 0xffd5f1c5bddbfeL,
1255
          0x0e419c2ae87e59L, 0xdce6ed6f89956bL, 0xf047c21ccd8951L,
1256
          0x6ed4a1ba83c991L, 0x85af86e2d28e0aL }
1257
    },
1258
    {
1259
        { 0x04433c49ed48a8L, 0xeffa8580bc375dL, 0xfb0e1b2fa6e3b5L,
1260
          0x51483a2a1aaddaL, 0x733448df8b2ea8L, 0xaa0513cf639f0cL,
1261
          0x6bc61a3a23bf84L, 0x3e64f68dc2430dL },
1262
        { 0x51bf502c5876b1L, 0x6b833751c0dd2aL, 0xe597be1342914fL,
1263
          0x43d5ab0f8e632cL, 0x2696715d62587bL, 0xe87d20aed34f24L,
1264
          0x25b7e14e18baf7L, 0xf5eb753e22e084L }
1265
    },
1266
    {
1267
        { 0x51da71724d8295L, 0xd478e4318d1340L, 0xacf94f42cf7f66L,
1268
          0x230d7d13760711L, 0x078a66a5abc626L, 0xd78b0bd6b5f6daL,
1269
          0x23a971396d1d0bL, 0x87623d64bd960fL },
1270
        { 0x0841a9977db53fL, 0x23c1a53f4d03eeL, 0x2f62c2e1f95df1L,
1271
          0xd1e2ec1116f4e7L, 0x896d2fe34811a9L, 0xad65e2bec8096eL,
1272
          0x09d36f9b1744a6L, 0x564bac7ff5ddf7L }
1273
    },
1274
    {
1275
        { 0x48b41e2c3f77cbL, 0x52276730968938L, 0xff1b899fd9b452L,
1276
          0x67cf3bf2e03908L, 0x3731d90248a6fbL, 0xd800a05256598fL,
1277
          0x347d2f2bdc8530L, 0xc72a3007ad08a1L },
1278
        { 0x5e5be741d65f73L, 0x183d4ae4206eadL, 0xcb50c1cade4013L,
1279
          0x39db43d3102483L, 0x0eb49fa70d6325L, 0xa18f6a2c1f02b9L,
1280
          0x3e6fe30dbf5e66L, 0xac4eeb93a82aa5L }
1281
    },
1282
    {
1283
        { 0x295affd3613d47L, 0x7b7e68ab56f343L, 0x980629692b173bL,
1284
          0x937061ebad35fbL, 0x25019785c21eeaL, 0xe92721b787a746L,
1285
          0x463c46c3651631L, 0x6da4b5dc6f2d5aL },
1286
        { 0xcb67cc16e6d18cL, 0x1b30d520010588L, 0x1bb6ea6db1d1e8L,
1287
          0x9c6308aad11474L, 0xc3167413d19b1cL, 0xf2e84d7be4fb79L,
1288
          0xeccb873e050f77L, 0xf7c8d80cc2bf86L }
1289
    },
1290
    {
1291
        { 0x16fe2e17ab20e5L, 0x274deadecf3a92L, 0x9f434870972f67L,
1292
          0x9a65a454605751L, 0x9351f07b8980b2L, 0x412962b0eb08a5L,
1293
          0xb8c9bfd733f440L, 0xac2cd641ca250fL },
1294
        { 0x68cdd0f2ba7d26L, 0xd3d2a4a4e0beeaL, 0x50135c19f4a258L,
1295
          0xb475e53f0d02e4L, 0x432d8c6589283aL, 0x29141bfa0a2b6cL,
1296
          0xd7379ec13704bcL, 0x831562c52459bfL }
1297
    },
1298
    {
1299
        { 0x676b366eeec506L, 0xdd6cad545da557L, 0x9de39cb77057d2L,
1300
          0x388c5fedf05bf1L, 0x6e55650dfb1f03L, 0xdbceffa52126c9L,
1301
          0xe4d187b3a4a220L, 0xac914f9eb27020L },
1302
        { 0x3f4ab98d2e5f30L, 0x6ae97dadd94451L, 0x64af6950d80981L,
1303
          0x36b4b90f2aa2ceL, 0x6adcd7a18fcf59L, 0x3ddfe6dc116c81L,
1304
          0x661072b549b9e3L, 0xd9e3134ec4584dL }
1305
    },
1306
},
1307
{
1308
    {
1309
        { 0x6e46707a1e400cL, 0xcdc990b551e806L, 0xfa512513a07724L,
1310
          0x500553f1b3e4f5L, 0x67e8b58ef4dac3L, 0x958349f2cb4cc7L,
1311
          0x948b4ed7f9143cL, 0xe646d092b7822bL },
1312
        { 0xd185dd52bc3c26L, 0x34ba16ec837fc9L, 0x516d4ba5a788b7L,
1313
          0x72f2de756142b0L, 0x5846f61f445b3dL, 0xdaec5c9f4631a1L,
1314
          0xa10b18d169ea9bL, 0x85d2998af6751bL }
1315
    },
1316
    {
1317
        { 0xda0cac443ddf31L, 0x0966e171860911L, 0x9c3a7173cba600L,
1318
          0x5781880571f895L, 0x5e2a927737ac21L, 0x8a461486c253fbL,
1319
          0xe801cf595ee626L, 0x271166a5f84fc0L },
1320
        { 0x306937fba856bdL, 0x80cb179be80a43L, 0x70393b2ffb5980L,
1321
          0xa8e4a1c660fc64L, 0x5078abfc0d5c98L, 0x62ba530fbd31ffL,
1322
          0xda608449e51b88L, 0xdb6ecb0355ae15L }
1323
    },
1324
    {
1325
        { 0xbcbb6ea23c5d49L, 0x08906ba87959bcL, 0x61cc0880991665L,
1326
          0x21d6b41d90d13cL, 0x0c27ac1d03afe9L, 0x159995f5cfea52L,
1327
          0x4057e20bdfe220L, 0xdd1b349cbdf058L },
1328
        { 0x0cd66262e37159L, 0x8cea8e43eb0d17L, 0x553af085bce7f0L,
1329
          0xb94cb5f5b6511dL, 0x7b8d3a550e0330L, 0x415911057ab7e7L,
1330
          0x320820e6aa886fL, 0x130d4d6c5b6b81L }
1331
    },
1332
    {
1333
        { 0x2f98059c7bb2edL, 0x33ebf4ca49bdfbL, 0x04c72a1b0a675bL,
1334
          0x94f9ea4adb6c14L, 0x03376d8cf728c0L, 0x5c059d34c6eb6aL,
1335
          0x0178408eb8da48L, 0x8bf607b2956817L },
1336
        { 0x7ad2822ceb3d28L, 0xd07a40337ae653L, 0xbc68739c1e46b2L,
1337
          0x15d7cca9154ba9L, 0x6b97103a26617dL, 0xa610314b2e0d28L,
1338
          0x52a08bafd4d363L, 0x80c2638c7dc2afL }
1339
    },
1340
    {
1341
        { 0x0cde7ef3187140L, 0x93b92ca4b70acdL, 0x5696e507a79cdcL,
1342
          0x73cc9728eaab66L, 0x6b8c5b68f1b0c7L, 0xb39a3184f7e0b1L,
1343
          0x72cfb0d376108aL, 0x0c53efc98536a7L },
1344
        { 0x03b52a824c2f1eL, 0x717132e6399b78L, 0x31ebd25349a85dL,
1345
          0x265ee811a200d4L, 0x0b1aad2407d7adL, 0x9a9ebc894d2962L,
1346
          0x994e6cd41171d9L, 0x09178d86c8fa83L }
1347
    },
1348
    {
1349
        { 0x7d1d238a2593a1L, 0x863e93ab38fb19L, 0xd23a4cce7712a9L,
1350
          0x7477b1327efcd5L, 0x3ba69ff1392f6cL, 0x63e0c32f7bb5a5L,
1351
          0x20412c0026effdL, 0xd3ee8e4ef424abL },
1352
        { 0x14c0b2d64e5174L, 0x2a611f2e58c47bL, 0xaa58a06c1e8635L,
1353
          0x1870c3ecf17034L, 0xb0d5e3483f1bf3L, 0xb19905c16c7eb3L,
1354
          0xbf85d626efa4caL, 0xfd16b2f180f92bL }
1355
    },
1356
    {
1357
        { 0xc0431af3adcb48L, 0xc9a7a8dba90496L, 0xd765a163895294L,
1358
          0xb02a41a551de70L, 0xb71b261749b8a1L, 0x0dfa89ec6f3e47L,
1359
          0x392c0d80f5d9ceL, 0x43c59d831aee3cL },
1360
        { 0x94bfb6d4d76f49L, 0xe8f5b8227d68a5L, 0x78ae1d9630fd08L,
1361
          0x1379029ce1bdaeL, 0x9689da066715dcL, 0x5d4cb24d3278c7L,
1362
          0x77c98339e84fbcL, 0xc8478dcea1048cL }
1363
    },
1364
    {
1365
        { 0xe4b8f31770d2baL, 0x744f65242ea095L, 0xd06e090036f138L,
1366
          0xd3a3d5b3b078caL, 0xc7ae54178b8417L, 0xad6c5d4c738fd7L,
1367
          0x61789844676454L, 0xfbf34235d9a392L },
1368
        { 0x8e451a7fff772fL, 0x8605bb75ffbeadL, 0x6f75cc1930d59fL,
1369
          0xd4f47558f3f460L, 0xefd2d796700c8aL, 0xceb462a2406421L,
1370
          0x8ed0f979dfe8f1L, 0x0280bf1d1d7600L }
1371
    },
1372
},
1373
{
1374
    {
1375
        { 0x761c219dd9a54dL, 0x1127fcb86a39c0L, 0x7d0e4f04c9beddL,
1376
          0x27c017a4d976b6L, 0x800c973da042cfL, 0xe7419af2593f11L,
1377
          0xbd49448ae67960L, 0xd3b60b7744fd85L },
1378
        { 0x5e74ed961676feL, 0x7383ef339af627L, 0x34407e05e62df7L,
1379
          0xb0534618bf3196L, 0xd6b7184583b407L, 0xe3d068555011beL,
1380
          0x94083d02124b52L, 0xa908324f780aafL }
1381
    },
1382
    {
1383
        { 0xb27af1a73ec9c3L, 0xb66ad9f70fa725L, 0x07724f58cf73e4L,
1384
          0xc3fcd579949358L, 0x06efb79da0cc01L, 0x1e977d210597c9L,
1385
          0xcd732be703e8d6L, 0x6fd29bf6d0b69eL },
1386
        { 0xca658ac667128eL, 0xca0036ac7872b3L, 0xc9698585355837L,
1387
          0x59f3be8075cf1cL, 0x9f1b9b03809a11L, 0x6881ced9733871L,
1388
          0x8cda0fbe902a5fL, 0x4d8c69b4e3871eL }
1389
    },
1390
    {
1391
        { 0x5c3bd07ddee82fL, 0xe52dd312f9723bL, 0xcf8761174f1be8L,
1392
          0xd9ecbd835f8657L, 0x4f77393fbfea17L, 0xec9579fd78fe2cL,
1393
          0x320de920fb0450L, 0xbfc9b8d95d9c47L },
1394
        { 0x818bd425e1b4c3L, 0x0e0c41c40e2c78L, 0x0f7ce9abccb0d0L,
1395
          0xc7e9fa45ef81fbL, 0x2561d6f73574adL, 0xa2d8d99d2efb0bL,
1396
          0xcf8f316e96cd0aL, 0x088f0f14964807L }
1397
    },
1398
    {
1399
        { 0x0a8498945d5a19L, 0x47ab39c6c2131fL, 0x5c02824f3fc35dL,
1400
          0x3be77c89ee8127L, 0xa8491b7c90b80aL, 0x5397631a28aa93L,
1401
          0x54d6e816c0b344L, 0x22878be876d0e4L },
1402
        { 0xeecb8a46db3bf6L, 0x340f29554577a3L, 0xa7798689a00f85L,
1403
          0x98465d74bb9147L, 0x9532d7dda3c736L, 0x6d574f17504b20L,
1404
          0x6e356f4d86e435L, 0x70c2e8d4533887L }
1405
    },
1406
    {
1407
        { 0xdce5a0ad293980L, 0x32d7210069010eL, 0x64af59f06deaaaL,
1408
          0xd6b43c459239e4L, 0x74bf2559199c29L, 0x3efff4111e1e2bL,
1409
          0x1aa7b5ecb0f8d8L, 0x9baa22b989e395L },
1410
        { 0xf78db807b33ac1L, 0x05a3b4354ce80aL, 0x371defc7bc8e12L,
1411
          0x63305a01224610L, 0x028b1ae6d697efL, 0x7aba39c1cd8051L,
1412
          0x76ed7a928ee4b4L, 0x31bd02a7f99901L }
1413
    },
1414
    {
1415
        { 0xf9dab7af075566L, 0x84e29a5f56f18bL, 0x3a4c45af64e56dL,
1416
          0xcf3644a6a7302dL, 0xfb40808156b658L, 0xf33ef9cf96be52L,
1417
          0xfe92038caa2f08L, 0xcfaf2e3b261894L },
1418
        { 0xf2a0dbc224ce3fL, 0xed05009592eb27L, 0x501743f95889d0L,
1419
          0xa88a47877c95c2L, 0x86755fbdd63da9L, 0x9024acfc7ee828L,
1420
          0x634b020f38113bL, 0x3c5aacc6056e64L }
1421
    },
1422
    {
1423
        { 0xe03ff3aa2ef760L, 0x3b95767b1c3bacL, 0x51ce6aa940d754L,
1424
          0x7cbac3f47a9a3dL, 0xa864ac434f8d1aL, 0x1eff3f280dbd47L,
1425
          0xd8ab6607ebd5caL, 0xc4df5c405b07edL },
1426
        { 0x3dc92dfa4f095bL, 0x5ae36a57cdbd9aL, 0x7ff29737891e04L,
1427
          0x37c03130a5fe7bL, 0x210d7b0aa6e35eL, 0x6edfb53bf200d8L,
1428
          0x787b68d84afb85L, 0x9b5c49b72c6de3L }
1429
    },
1430
    {
1431
        { 0x51857164010f4eL, 0xe0b144b0536ebeL, 0xacabb14887d663L,
1432
          0xac1caededf584fL, 0xb43fb8faf175a3L, 0x310b6d5f992a3cL,
1433
          0xf2c4aa285178a4L, 0x69c99698bd56bfL },
1434
        { 0x73d6372a4d972eL, 0x3d5bb2e9583803L, 0x7bf7d18d891581L,
1435
          0xa5ce5d7568a34aL, 0x670b4331f45c81L, 0x97265a71f96910L,
1436
          0xdb14eb3b07c1eaL, 0xdf008eafed447cL }
1437
    },
1438
},
1439
{
1440
    {
1441
        { 0x0379f5a00c2f10L, 0xb320b4fd350285L, 0x74e560e8efdd7dL,
1442
          0xf2f017ef46a140L, 0x2ced1a60f34624L, 0x7c4b4e3ca08ec9L,
1443
          0xdffc2a15d8bc6bL, 0xcc8f3f3527b007L },
1444
        { 0x59f8ac4861fe83L, 0x8d48d2cd03144cL, 0xa8457d2bfa6dceL,
1445
          0xd7ed333677c136L, 0xcb8e219c228e18L, 0x5f70bc916ab1e4L,
1446
          0x2ae3a3d3780370L, 0x9f3365488f17adL }
1447
    },
1448
    {
1449
        { 0xeab0710960e4bbL, 0xc668a78ab9cfd3L, 0x2e85553b0ef946L,
1450
          0xa43c4b98df5df3L, 0x0ecd5593cb3646L, 0x6f543c418dbe71L,
1451
          0xee7edaaf59818bL, 0xc44e8d290911c1L },
1452
        { 0xafb38b1269b509L, 0x9e2737c52afe2cL, 0x5b2ef02ccfa664L,
1453
          0x1e0aeace1cc58bL, 0x37a57e95ea134eL, 0xc9c465a83b9fc2L,
1454
          0x4b9e8c76e3eccaL, 0xca07dbe9bdbab5L }
1455
    },
1456
    {
1457
        { 0xd297f3cb0d7807L, 0xee441a5f59ce61L, 0x728553bb2db844L,
1458
          0x90f87e5640e9e0L, 0xaa72cbfcb76dffL, 0x065c6864012d57L,
1459
          0xd5ee88f9678b44L, 0x3d74b852177603L },
1460
        { 0x3f9c947748b68eL, 0x03856d98f44d44L, 0xde34b84462426cL,
1461
          0xc16d1bb845ab29L, 0x9df6217d2e18deL, 0xec6d219b154643L,
1462
          0x22a8ec32ee0f8fL, 0x632ad3891c5175L }
1463
    },
1464
    {
1465
        { 0x19d9d236869267L, 0x628df94fe5532aL, 0x458d76c6dc9a01L,
1466
          0x405fe6c2cc39c8L, 0x7dddc67f3a04baL, 0xfee630312500c7L,
1467
          0x580b6f0a50e9deL, 0xfb5918a6090604L },
1468
        { 0xd7159253af6b2dL, 0x83d62d61c7d1ecL, 0x94398c185858c4L,
1469
          0x94643dc14bfb64L, 0x758fa38af7db80L, 0xe2d7d93a8a1557L,
1470
          0xa569e853562af1L, 0xd226bdd84346aaL }
1471
    },
1472
    {
1473
        { 0xc2d0a5ed0ccd20L, 0xeb9adb85dbc0cfL, 0xe0a29ee26d7e88L,
1474
          0x8bb39f884a8e98L, 0x511f1c137396eaL, 0xbc9ec5ac8b2fb3L,
1475
          0x299d81c090e5bcL, 0xe1dfe344cdd587L },
1476
        { 0x80f61f45e465b7L, 0x5699c531bad59eL, 0x85e92e4b79ff92L,
1477
          0x1e64fce9db244cL, 0x3748574a22097dL, 0xe2aa6b9efff24eL,
1478
          0xb951be70a10bc6L, 0x66853269067a1cL }
1479
    },
1480
    {
1481
        { 0xf716ddfa6114d3L, 0x9e515f5037ec1fL, 0x773454144944a6L,
1482
          0x1540c4caba97ccL, 0xe41e5488b54bb7L, 0x4363156cae37bcL,
1483
          0xc384eaff3d2ce8L, 0x72a4f454c58ba4L },
1484
        { 0x0ceb530dcaf3fcL, 0x72d536578dcdbbL, 0x9b44084c6320faL,
1485
          0x6262d34eb74c70L, 0x8abac85608e6dcL, 0x82a526410dd38dL,
1486
          0xbc39911a819b8dL, 0xbda15fe03ad0d9L }
1487
    },
1488
    {
1489
        { 0xadbf587f9dc60bL, 0xf9d814f7d846d2L, 0xccdd241b77bde0L,
1490
          0x89cb6d72242f50L, 0x95c0e3ee6360a8L, 0x7c7dd5adf49713L,
1491
          0x68e0e4957d5814L, 0x3aa097d0c16571L },
1492
        { 0xb56b672267d03aL, 0x4f557088c44af4L, 0x67c49e7f3252a5L,
1493
          0x871d6cfc94a469L, 0x57ae99801fbfaaL, 0x5c0e48f48a5d8eL,
1494
          0xe9bf9c85e240b9L, 0xa41018999d41caL }
1495
    },
1496
    {
1497
        { 0x6beb0c7b2889b4L, 0x78b7f899455370L, 0xd43421447ca364L,
1498
          0xdd9d2da9f21e5bL, 0xa0c7c180a7e4aaL, 0x022c0d4da1660cL,
1499
          0xe1f5c165a57002L, 0x51c7c9e518f68fL },
1500
        { 0x6d521b62586502L, 0xa0f2cb3183ec1bL, 0x578b4e0caa5e16L,
1501
          0x7bd4fbd764997fL, 0x7ec56c364b1804L, 0xb75a2540ee08e4L,
1502
          0x6bf74a6dc19080L, 0x6ec793d97d6e59L }
1503
    },
1504
},
1505
{
1506
    {
1507
        { 0x16789d60a4beb9L, 0x512b2cd9b9c801L, 0xf8b6d108c7bb9cL,
1508
          0xd85651e9ebdc8cL, 0xc9450829ba971aL, 0x852d9ea7e1cf78L,
1509
          0x6a45e350af01e2L, 0xe6cdadf6151dcfL },
1510
        { 0xc454bb42b8c01bL, 0x59e0c493d54cd2L, 0x8e1e686454d608L,
1511
          0x0dbae4bd8c6103L, 0xa5603a16c18b18L, 0x227a6b23369093L,
1512
          0xf1e89295f3de1cL, 0x42f0b588ab63c5L }
1513
    },
1514
    {
1515
        { 0xf1974cc5b596d8L, 0xee8093f44719f0L, 0x40ba933f6f5b54L,
1516
          0xd6e53652f3d654L, 0x9aeb83526d73b8L, 0x50ed5350776382L,
1517
          0x3be47d6ad43875L, 0x21d56dfc786e48L },
1518
        { 0x8a75e18b73bb39L, 0x9eba84cf265a78L, 0x7c02a4d2e772e7L,
1519
          0xf7df6d44c1ecd2L, 0xa8d9ea06cef71bL, 0x86e8f91cae3b68L,
1520
          0x2fd141199efefaL, 0x0b36ab2214e6f6L }
1521
    },
1522
    {
1523
        { 0xd79065cbdce61cL, 0xcb562ffdecb229L, 0xef5d3d14600849L,
1524
          0x348b31b1d23ac8L, 0xb2ea69915c36b8L, 0x268683d4822836L,
1525
          0x083edbec6f0b7dL, 0xaf4f39d1a7821cL },
1526
        { 0x23be6e84e64841L, 0xe9e246365bf791L, 0xa3208ac02bfd7cL,
1527
          0x231989cd01357dL, 0x79b8aad6422ab4L, 0x57d2b7e91b8564L,
1528
          0x28ebbcc8c04421L, 0xdc787d87d09c05L }
1529
    },
1530
    {
1531
        { 0xeb99f626c7bed5L, 0x326b15f39cd0e8L, 0xd9d53dcd860615L,
1532
          0xdf636e71bf4205L, 0x1eaa0bf0752209L, 0x17ce69a4744abbL,
1533
          0x474572df3ea2fbL, 0xc4f6f73224a7f3L },
1534
        { 0x7ed86ad63081b4L, 0xcd4cdc74a20afbL, 0x7563831b301b2eL,
1535
          0x5b4d2b1e038699L, 0xa15d1fa802a15fL, 0x6687aaf13e9172L,
1536
          0x3eccd36ba6da90L, 0x34e829d7474e83L }
1537
    },
1538
    {
1539
        { 0x4cea19b19c9b27L, 0xa14c37a5f52523L, 0x248b16d726625cL,
1540
          0x8c40f9f6cabc21L, 0x918470c32a5c65L, 0x314056b2a98d5bL,
1541
          0x6c974cf34a0714L, 0x0c8f8a94f6314aL },
1542
        { 0x484455770bccfdL, 0xf5835db740c9fdL, 0x12e59b5a21407cL,
1543
          0xbe338e0db1689dL, 0x5a50ce9dd5e915L, 0xb1780e9ef99f39L,
1544
          0x1262b55ee4d833L, 0x4be3f2289c5340L }
1545
    },
1546
    {
1547
        { 0xbb99b906c4b858L, 0xa7724d1550ca53L, 0x7d31f5a826962eL,
1548
          0xf239322a5804daL, 0x3e113200275048L, 0xcbb1bb83ee4cb6L,
1549
          0xdb865251331191L, 0xb7caf9e7d1d903L },
1550
        { 0x06e3b0577d7a9dL, 0x7a132b0b3bbbf5L, 0xd61fbc57c50575L,
1551
          0x393f712af4b646L, 0xef77972cb7efe9L, 0x20e6d5d5ea4995L,
1552
          0x0ac23d4fbbe4c6L, 0x8456617c807f2aL }
1553
    },
1554
    {
1555
        { 0x4995fb35396143L, 0xa8b4bd1b99dc46L, 0x2293e8e4150064L,
1556
          0x2f77d4922a3545L, 0xe866b03b2192c4L, 0x58b01f05e0aa38L,
1557
          0xe406b232ed246bL, 0x447edb3ed60974L },
1558
        { 0xf541b338869703L, 0x6959fe0383420aL, 0xd6b39db4be4e48L,
1559
          0x048f3b4b5714efL, 0x68b49685d9e4b8L, 0xbda8e6c2177963L,
1560
          0x5094e35c4211feL, 0xea591c32d46d1aL }
1561
    },
1562
    {
1563
        { 0x3a768ff2fef780L, 0x4218d2832970c6L, 0xce598e4ec6da17L,
1564
          0xf675645fbb126aL, 0xb04c23f0427617L, 0xc9f93fbe4fce74L,
1565
          0x44a414b3c91b00L, 0x4d982f31d3b3ccL },
1566
        { 0xb1d40e8b24cce0L, 0x5a21c07133e73dL, 0x6e9358e0bb589dL,
1567
          0x39cfb172399844L, 0x83f7647166080eL, 0xcfe7bf8450b468L,
1568
          0x2a288f71e8434fL, 0xd39f1e521a81e3L }
1569
    },
1570
},
1571
{
1572
    {
1573
        { 0x78c6f13528af6fL, 0x0001fe294b74d9L, 0xae7742501aab44L,
1574
          0x7cbe937ef0039cL, 0xaf3e4f00fa2a67L, 0xe28175fda1378eL,
1575
          0x72adeed8ccd90eL, 0x16a8ce100af22fL },
1576
        { 0x69fae17cbf63ddL, 0x67861729e39e26L, 0xe92b3d5f827a18L,
1577
          0x4d75e418403682L, 0x01a4fd99056a79L, 0x89efb2d20008f5L,
1578
          0xa2f6918b78ff15L, 0xf41c870a3437f5L }
1579
    },
1580
    {
1581
        { 0xc840ae57be353cL, 0x465a5eb3fb2691L, 0x34a89f07eba833L,
1582
          0xf620896013346eL, 0x563b5f0e875df2L, 0x5f7fc8bfbc44ceL,
1583
          0x22fcb5acfedf9dL, 0x7cf68d47dc691bL },
1584
        { 0x37f7c2d76a103fL, 0x728a128fd87b7dL, 0x7db2ad8ccf2132L,
1585
          0xa4c13feb100e63L, 0xcd28a517b511d5L, 0xb910280721ca5cL,
1586
          0xec1305fd84bd52L, 0xb9646422729791L }
1587
    },
1588
    {
1589
        { 0x83fccdf5bc7462L, 0x01f3ddad6f012fL, 0x57f11713a6a87cL,
1590
          0xedb47ceff403acL, 0x6c184e5baab073L, 0x5b17c7d6f0d6a1L,
1591
          0x45a4c4f3ef2c91L, 0x26c3f7e86a8f41L },
1592
        { 0x81a6db0b646514L, 0xf84059fca8b9aeL, 0xd73dab69f02305L,
1593
          0x0de3faec4b7c6cL, 0x18abb88696df2fL, 0x45dd1b975d7740L,
1594
          0x3aeccc69ee35bcL, 0x478252eb029f88L }
1595
    },
1596
    {
1597
        { 0x66bf85b8b2ce15L, 0x1175425335709dL, 0x00169ef8123874L,
1598
          0xfd3c18c9b89868L, 0xb3612f9775204eL, 0x4b8d09dc2cd510L,
1599
          0xafa12e614559adL, 0x1ddaa889657493L },
1600
        { 0x87d700b1e77a08L, 0xaf4cf2f14d2e71L, 0xe00835dbf90c94L,
1601
          0xb16a6ec6dc8429L, 0x02a7210f8a4d92L, 0x5a5ab403d0c48dL,
1602
          0x0052b3ab5b9beaL, 0x6242739e138f89L }
1603
    },
1604
    {
1605
        { 0x7c215d316b2819L, 0xdacb65efeb9d7aL, 0xc3c569ed833423L,
1606
          0xbc08435886a058L, 0x132c4db7e5cb61L, 0x6373a279422affL,
1607
          0x43b9d7efca9fc4L, 0xe3319a5dbe465fL },
1608
        { 0x51d36870b39da7L, 0xcb6d7984b75492L, 0x77eb272eadd87aL,
1609
          0xf2fb47de0d3f6cL, 0x807fd86f9f791cL, 0xf01086b975e885L,
1610
          0xf9314b5b6a3604L, 0x8cd453867be852L }
1611
    },
1612
    {
1613
        { 0x7c1e6b3858f79bL, 0xf0477c4938caf9L, 0xb311bbf3e88c44L,
1614
          0x9234c091e3a3c1L, 0x531af2b95a1d4dL, 0xf3cc969b8d1c64L,
1615
          0x6f3c328b51e78dL, 0x5a1bd6c34e8881L },
1616
        { 0x2e312393a9336fL, 0x020f0cc5ced897L, 0x4b45d7b5fab121L,
1617
          0x8068b1c1841210L, 0x1bd85fc8349170L, 0xfe816d80f97fe5L,
1618
          0x108981814b84fcL, 0x1d4fabbb93cd48L }
1619
    },
1620
    {
1621
        { 0x1f11d45aef599eL, 0x8d91243b09c58aL, 0xd2eec7bd08c3c3L,
1622
          0x5a6039b3b02793L, 0xb27fed58fb2c00L, 0xb5de44de8acf5eL,
1623
          0x2c3e0cd6e6c698L, 0x2f96ed4777180dL },
1624
        { 0x67de8bf96d0e36L, 0xd36a2b6c9b6d65L, 0x8df5d37637d59cL,
1625
          0x951899fc8d9878L, 0x0fa090db13fcf8L, 0xa5270811f5c7b4L,
1626
          0x56a6560513a37aL, 0xc6f553014dc1feL }
1627
    },
1628
    {
1629
        { 0x7f6def794945d6L, 0x2f52fe38cc8832L, 0x0228ad9a812ff5L,
1630
          0xcd282e5bb8478aL, 0xa0bc9afbe91b07L, 0x0360cdc11165e2L,
1631
          0xb5240fd7b857e4L, 0x67f1665fa36b08L },
1632
        { 0x84ce588ad2c93fL, 0x94db722e8ff4c0L, 0xad2edbb489c8a3L,
1633
          0x6b2d5b87e5f278L, 0x0265e58d1d0798L, 0xd2c9f264c5589eL,
1634
          0xde81f094e4074dL, 0xc539595303089fL }
1635
    },
1636
},
1637
{
1638
    {
1639
        { 0x183492f83e882cL, 0x4d58203b5e6c12L, 0x1ac96c3efec20bL,
1640
          0xabd5a5be1cd15eL, 0x7e1e242cbbb14bL, 0x9f03f45d0543b3L,
1641
          0xc94bc47d678158L, 0x7917be0a446cadL },
1642
        { 0x53f2be29b37394L, 0x0cb0a6c064cc76L, 0x3a857bcfba3da3L,
1643
          0xac86bc580fcb49L, 0x9d5336e30ab146L, 0xafb093d5bc1270L,
1644
          0x996689de5c3b6eL, 0x55189faea076baL }
1645
    },
1646
    {
1647
        { 0x99ef986646ce03L, 0xa155f8130e6100L, 0x75bef1729b6b07L,
1648
          0xc46f08e1de077bL, 0xf52fdc57ed0526L, 0xe09d98961a299aL,
1649
          0x95273297b8e93aL, 0x11255b50acd185L },
1650
        { 0x57919db4a6acddL, 0x708a5784451d74L, 0x5b0bd01283f7b3L,
1651
          0xe82f40cc3d9260L, 0x2ab96ec82bbdc2L, 0x921f680c164d87L,
1652
          0xf0f7883c17a6a9L, 0xc366478382a001L }
1653
    },
1654
    {
1655
        { 0x5c9aa072e40791L, 0xf0b72d6a0776bfL, 0x445f9b2eaa50dcL,
1656
          0xa929fa96bda47fL, 0x539dc713bbfc49L, 0x4f16dd0006a78bL,
1657
          0x331ba3deef39c7L, 0xbfa0a24c34157cL },
1658
        { 0x0220beb6a3b482L, 0x3164d4d6c43885L, 0xa03bb5dacdea23L,
1659
          0xd6b8b5a9d8f450L, 0xd218e65bd208feL, 0x43948ed35c476fL,
1660
          0x29a0dd80a2ed2bL, 0xa6ccf3325295b7L }
1661
    },
1662
    {
1663
        { 0xf68f15fac38939L, 0xb3dd5a2f8010c1L, 0xf7ac290a35f141L,
1664
          0xdc8f3b27388574L, 0x7ec3de1e95fed2L, 0xc625451257ac7dL,
1665
          0x66fc33e664e55aL, 0xd3968d34832ba5L },
1666
        { 0x980291bc026448L, 0xfcb212524da4a5L, 0xbca7df4827a360L,
1667
          0xfcc395c85ca63bL, 0xcf566ec8e9f733L, 0x835ee9bd465f70L,
1668
          0xe66d111372f916L, 0xc066cf904d9211L }
1669
    },
1670
    {
1671
        { 0xb9763a38b48818L, 0xa6d23cc4288f96L, 0xe27fcf5ed3a229L,
1672
          0x6aebf9cabaff00L, 0xf3375038131cd1L, 0x13ad41dffabd58L,
1673
          0x1bee6af861c83bL, 0x274fe969c142e7L },
1674
        { 0x70ebcc99b84b5bL, 0xe1a57d78191cfcL, 0x46ccd06cbf00b8L,
1675
          0xc233e8eefe402dL, 0xb4ab215beebeb3L, 0xb7424eabd14e7bL,
1676
          0x351259aa679578L, 0x6d6d01e471d684L }
1677
    },
1678
    {
1679
        { 0x755c465815ae38L, 0xadc3e85611db56L, 0x633999b188dd50L,
1680
          0xfdf7509c12d907L, 0x25bcfde238b6afL, 0x50d705d397f5e7L,
1681
          0xb65f60b944c974L, 0x8867fc327ac325L },
1682
        { 0x2edc4413763effL, 0x892c0b3341fb63L, 0xb34b83ab3a7f28L,
1683
          0x9aa106d15c2f18L, 0x720bbc61bb2277L, 0x637f72a5cfaefdL,
1684
          0xf57db6ef43e565L, 0xceb7c67b58e772L }
1685
    },
1686
    {
1687
        { 0x2793da56ecc1deL, 0x4e1097438f31b2L, 0x4229b4f8781267L,
1688
          0xe5d2272dec04a1L, 0x6abb463ec17cffL, 0x28aaa7e0cbb048L,
1689
          0x41dc081d22ef85L, 0xcbc361e5e63d0fL },
1690
        { 0xb78aafcad5dbaaL, 0x0111505fc1edc3L, 0x63ed66d92c7bfaL,
1691
          0x2982284e468919L, 0x30f1f21b8c0d8cL, 0xf0567472685093L,
1692
          0x0e085b6f03dd0fL, 0xa8c8db85581e66L }
1693
    },
1694
    {
1695
        { 0x42009a6264ad0cL, 0x13bf2b8593bef4L, 0x1d111905d4e8b1L,
1696
          0xfe3e940ef7bddcL, 0xa012275624e62cL, 0xcb659241d6d3ccL,
1697
          0xc7bcc70edb7ab6L, 0xff9fafbb750b1cL },
1698
        { 0xf65df297fea84bL, 0x17c84a890b0e02L, 0xa92a859301e821L,
1699
          0xbee8cb2fb480d1L, 0x7010b8c59c604eL, 0x47bf3f4e803c43L,
1700
          0xd64514247b3fffL, 0xc4c5dcb9f0da13L }
1701
    },
1702
},
1703
{
1704
    {
1705
        { 0x8af700cb5253b3L, 0x31ca605206957aL, 0x25744393eafdcdL,
1706
          0x2ba5ae1d3ae15eL, 0x710b7385b82579L, 0x145ab57112b95aL,
1707
          0x4b133a038c55c5L, 0xf7559c92a16fefL },
1708
        { 0x70c3e68d9ba896L, 0x475dd32c33d07aL, 0xe084e473a41e40L,
1709
          0xddc9382fd2e706L, 0x34b727579510bdL, 0x5e78a69a5f901eL,
1710
          0x429dfd7dcfb823L, 0x1d9dc18014f0a3L }
1711
    },
1712
    {
1713
        { 0x364fcdfaf403d7L, 0xd9ea4ffb7d7b34L, 0x21a3426cbb1dacL,
1714
          0xfa51052143b4f5L, 0x2bca0736df2409L, 0x7e6985a8ad7285L,
1715
          0x3a1a9d04aaa27fL, 0x1a815e19fc0c6cL },
1716
        { 0xfab6147bb65bb3L, 0xa36dc0d33ced0bL, 0x26a88592062d78L,
1717
          0x343861728a5fb7L, 0xe82da254ebb1adL, 0x70f5071d05aa11L,
1718
          0x0b7f847adaac48L, 0xeb812bc93cb269L }
1719
    },
1720
    {
1721
        { 0xcb317ccf7cacccL, 0xd3410d9cf85098L, 0xca68c8d7f078d7L,
1722
          0xfe9e812b782efcL, 0x32e7c0f5f544b5L, 0x44fe95a3a7b7f2L,
1723
          0xf4f1543e91327bL, 0x27d118d76645edL },
1724
        { 0x690547cd7abc2cL, 0xf64680fb53c8afL, 0xbe0cbe079ea989L,
1725
          0x6cf0ccea91af28L, 0xa3b85a29daa2f9L, 0xd4b663c91faed0L,
1726
          0x782c7b7a8b20baL, 0xf494fafb8d98ceL }
1727
    },
1728
    {
1729
        { 0x080c0d7002f55aL, 0xf4f8f142d6d9ddL, 0xb326229382f025L,
1730
          0x58fd0b5ad28c20L, 0x704b9928d06a15L, 0xf4545d97fbd8e4L,
1731
          0xc32fa63ed55581L, 0x3ab793601ac0fdL },
1732
        { 0x13ece526099fd1L, 0x776dba89c79178L, 0x8d28212ce26c45L,
1733
          0x09fddaf60d739cL, 0xf9931eda84826eL, 0x6e73d90b29439eL,
1734
          0x94cfefc9095e61L, 0x3050d16802f474L }
1735
    },
1736
    {
1737
        { 0x0898f8f9f6394bL, 0x48b8cea88b0e91L, 0x4bc99254c1b362L,
1738
          0xe3fccb4827d9ecL, 0x5d4cf9ad950d6aL, 0xa16f1ef39b5b38L,
1739
          0x3c76d1d620f288L, 0x9fdd059e119390L },
1740
        { 0x7b5de9efb5edf8L, 0x3e290b9769d14eL, 0x4df3a916bd10b5L,
1741
          0xae99bca82f8f7bL, 0x5481d5dc9524afL, 0xf112e4f69504f1L,
1742
          0xb048f0951931ecL, 0xbff876a18f51b1L }
1743
    },
1744
    {
1745
        { 0x932e2a746c1c37L, 0x903ad529aea4c1L, 0x717ac918f161f2L,
1746
          0xa57d197f425e2aL, 0xae89dac7f39e0eL, 0x91655c0baa2a58L,
1747
          0xe3dc28654836ddL, 0xb5f0baaa9ec9e6L },
1748
        { 0xf7c4662bdbda04L, 0xbe5393b51059c0L, 0xb16d552dd95b0fL,
1749
          0xde495b31b3bd96L, 0xb2a6e02c0206c5L, 0x045cc09014d3a9L,
1750
          0xf66a3152a2f490L, 0x208c108c5dea05L }
1751
    },
1752
    {
1753
        { 0x6e38b6865237eaL, 0x93a13039f27fc6L, 0x9a6d510a95068aL,
1754
          0x6fbf216e7c9e54L, 0x7824290571ac1dL, 0x8cb23ba91c2a0cL,
1755
          0x611202ec7e434dL, 0x8f901bf76058b4L },
1756
        { 0xef0ac050849588L, 0xe0d2ddedd31804L, 0xaf5417ceb2ca81L,
1757
          0x420ac065d1a509L, 0x46e345e9683bb6L, 0x6daf635f613f7fL,
1758
          0xc9e829148a9576L, 0x5f9f1d1176d147L }
1759
    },
1760
    {
1761
        { 0xd24ae1d77e9709L, 0x77751dc0047b8aL, 0xe325334c6a1593L,
1762
          0x9baf962671f86aL, 0x425af6ac29a15eL, 0x31086002796e33L,
1763
          0xb6ea78cfc253a5L, 0x4c733e0afae0eaL },
1764
        { 0x4b7443a97c99b9L, 0xc14e9e450203a6L, 0xd1bb51552680baL,
1765
          0xa56a3efd55533aL, 0xa66e38c169e1a0L, 0xb3e4df9eed7da0L,
1766
          0x022c937ddce3d9L, 0x8552089f6e36b4L }
1767
    },
1768
},
1769
{
1770
    {
1771
        { 0x8e4bf95f5cc82eL, 0x2ad80c3c3ed6c9L, 0xf2e5b2cc9045e1L,
1772
          0x42c906559b06d4L, 0xc1f73797b43b84L, 0x1710dbf72d7992L,
1773
          0xe98cf47767b41cL, 0xe713fce7bfb9e9L },
1774
        { 0x9f54ae99fa5134L, 0x3002fd8de40d0eL, 0xdc282b79311334L,
1775
          0x5519810bfeb360L, 0x31539c70f96ffeL, 0x04eacc0d27777bL,
1776
          0x59824108ff5053L, 0x598236632b67adL }
1777
    },
1778
    {
1779
        { 0x6eb45546bea5c2L, 0x82cfae0d509a33L, 0x6a69bd8394bb59L,
1780
          0x1880d8d5770ee1L, 0x63518447dacf9eL, 0x5b1ecc5f02b891L,
1781
          0xeb7d900b6c9a5aL, 0xdab8a768897da8L },
1782
        { 0x28c7be598851a6L, 0x0101d4f4d73c3bL, 0x3c2569c5084996L,
1783
          0xb9bc911280bde0L, 0x513a22acd0d4f9L, 0xdf2986d2a15f3bL,
1784
          0x231c28f2aa4943L, 0x29623ad0333870L }
1785
    },
1786
    {
1787
        { 0x2ceb1784084416L, 0x924cf1c49516cdL, 0x76536c04be856fL,
1788
          0x11b59cd47a265bL, 0x720dc844999494L, 0x910f794007b795L,
1789
          0x8434e142d3df83L, 0x8f53878bd478d3L },
1790
        { 0xd9b072eaeb9c2fL, 0x16f87eafd8a29fL, 0x8c42f9b2fd0de1L,
1791
          0x916721e0e816efL, 0x2ecb47018bde37L, 0xcde3b7a2375da2L,
1792
          0x30d0657ef94281L, 0x51054565cd7af8L }
1793
    },
1794
    {
1795
        { 0x7230b334bdced3L, 0x0c6a3e10838569L, 0xf19c9ece3493b8L,
1796
          0xf2759270d97c57L, 0xf14181e0c862ebL, 0xfd3bac132c72bcL,
1797
          0x620563ff3be362L, 0x672ccaf47283b7L },
1798
        { 0x191e3fa2b7bf16L, 0xf838633520dad7L, 0xd3dde553629d87L,
1799
          0x14d8836af86ebeL, 0x3db7dfb221b2ceL, 0x3872abb0aed72aL,
1800
          0xb60de528c665b7L, 0x89c259644982cbL }
1801
    },
1802
    {
1803
        { 0x799a2de4dbba25L, 0xd818aaea42715eL, 0xbc88f4df55c362L,
1804
          0x142a163713c9aeL, 0x411e8eefbfb33fL, 0x34b46296bb684aL,
1805
          0x4344becdc81817L, 0xcc9573d17f9d46L },
1806
        { 0xf85f8bcff38a7dL, 0xa14bf730caf117L, 0x126874f4ba6429L,
1807
          0xcc9bf22aa5db97L, 0x62b56df6aba827L, 0xfee1cb89c9772aL,
1808
          0xe36838f177e541L, 0x698815dadd438fL }
1809
    },
1810
    {
1811
        { 0xc9fd89438ed1adL, 0x73cd79d7b6a601L, 0x2210e6205e8d20L,
1812
          0x72384ac3592af5L, 0x5ccc079763d07eL, 0x2f31a4aa5f79ebL,
1813
          0x693f4ed2945a95L, 0xc7120178056fdcL },
1814
        { 0x361ecd2df4b09aL, 0xa5644eab7d929aL, 0x34abc0b3fabe9aL,
1815
          0x1a2473ce942a8cL, 0xe00c9246454bc3L, 0xab324bcdff7366L,
1816
          0xe1412f121b8f99L, 0x970b572e33551eL }
1817
    },
1818
    {
1819
        { 0x6ca4cacbd0a6b5L, 0x5584787921d654L, 0x18e5253c809bdaL,
1820
          0x01b32c3f0cbe5eL, 0xb9aa7540f987ddL, 0x628f4bb6dfa4dbL,
1821
          0x0255f0b891890bL, 0x25b7df4874e590L },
1822
        { 0xbded3188ed5f95L, 0x9dc428dca93023L, 0xc68f25abccf520L,
1823
          0xc4f3764e616e6cL, 0xd9a57f1a1d9993L, 0xd1964a5533431bL,
1824
          0x06cd77f02ab6d0L, 0xa66079103e52e0L }
1825
    },
1826
    {
1827
        { 0xab088645f72700L, 0xf77b2ff0a1a44eL, 0x43ebdd8c2a24b5L,
1828
          0xa6d67114f564d7L, 0x495df63f414160L, 0xf5bacd776f6de6L,
1829
          0x3011aff7c2b43dL, 0xbb1e64c3241928L },
1830
        { 0xf70c5725034073L, 0x891c62a68f1e97L, 0xed8eb2eb22e374L,
1831
          0xd3a53e97dbcc2fL, 0x1d06281dc8f220L, 0x9eef48face4393L,
1832
          0x96014f5d2abecdL, 0x1da7e092653cebL }
1833
    },
1834
},
1835
{
1836
    {
1837
        { 0x7593318d00bc94L, 0x586f3c6c7262a2L, 0xea68f52958ad31L,
1838
          0x6707fccd4e8bedL, 0xb7e35d6cb3f9ceL, 0x2cbb6f7f4b1be8L,
1839
          0xa5352687b41aeeL, 0x1d77845f7b39b8L },
1840
        { 0xb1f3995eaf9554L, 0x3250f70fe9e7d4L, 0x62e5d1ba00c23cL,
1841
          0x5e422f5c10e3bfL, 0x7a18039c25cec4L, 0xb4e66a17cc4d5bL,
1842
          0xad7c5f636d0e0cL, 0x9f40b12a4cf347L }
1843
    },
1844
    {
1845
        { 0x697f88251e3696L, 0xc89bc40ab0a648L, 0x8f261a59785804L,
1846
          0x4c7f900b51a2bdL, 0xd00e7af8a2dfcfL, 0xf9c534db642aebL,
1847
          0xea2a79fb63df0eL, 0x392a69af2f64a4L },
1848
        { 0x0c0f01cc331b6cL, 0x414bf2e6a5edb5L, 0xfe5ed815068391L,
1849
          0x0a8078d62fbc34L, 0x78a438254bca98L, 0xf7a49ae3d727c7L,
1850
          0x96c1de1ab4dffeL, 0x45901f73b9440aL }
1851
    },
1852
    {
1853
        { 0x3f1189facfe46eL, 0xdca6f464467443L, 0xac385422eb5bcfL,
1854
          0xb02dce9906bf72L, 0xdd8cdacfe1d454L, 0xc26f04c65f7218L,
1855
          0xb4748596ea145dL, 0xc53dc6b5bdb315L },
1856
        { 0xbe5be749ad7197L, 0x627e91918b5eccL, 0x57c889c9ea405dL,
1857
          0x2e5650c1a5360bL, 0x42290df1b30b27L, 0x4a071575242687L,
1858
          0x553ed1fd379133L, 0xb9d7a0701db019L }
1859
    },
1860
    {
1861
        { 0xcfe551c56597dcL, 0x81af92a925ebd6L, 0x83efe16f4e8d57L,
1862
          0x61bb4311f640d3L, 0xf80440f78b414aL, 0x72f3c636c9e3b4L,
1863
          0xb55f43a6a03c66L, 0x47a9dede417037L },
1864
        { 0x1a7e287dbb612bL, 0x895c3c7dbb9220L, 0xd50c86e6c04764L,
1865
          0xed5269853cf7caL, 0xc78d799f74af55L, 0xb2ba0f2b969ff2L,
1866
          0x06d48151c6530bL, 0x764a1fe165a575L }
1867
    },
1868
    {
1869
        { 0x4383a3bc1b5eceL, 0x0563c8854ff148L, 0x9a452795af796eL,
1870
          0xffba7c088e9953L, 0xfe9fb5eb6a3001L, 0x795098825b6b19L,
1871
          0x67c899ad81be5eL, 0xc89ac8d2f9d29bL },
1872
        { 0x7c76ba329ab8f7L, 0xb2a18c96e40f74L, 0x1b5056e3864d9bL,
1873
          0xdfa503d9b582b8L, 0xfb035197c9c68eL, 0xdc501316b3c22bL,
1874
          0x38ab231a6c96ffL, 0x4ea527c8cb1c10L }
1875
    },
1876
    {
1877
        { 0xd632f20c05b4edL, 0xe0199fab2a032dL, 0x373295626812d7L,
1878
          0x2aed855013df13L, 0x92ca24b39f96acL, 0x620273dbb9751aL,
1879
          0x5d0d21ef7437a1L, 0x9de2a43077de56L },
1880
        { 0x0569b1211a4674L, 0xfc3923e89c3989L, 0x3d127042c5c770L,
1881
          0x0072b9084e8c37L, 0x7178d4dac39f9aL, 0x5f8292f778d345L,
1882
          0x9e5bf0f77c7307L, 0x7691610c3a20f5L }
1883
    },
1884
    {
1885
        { 0x7c4ead5705fe96L, 0x377ec35c8e464cL, 0x3e5b9907689954L,
1886
          0xc0f6949a2d31eaL, 0x839d395c580671L, 0x2f347a6b215b09L,
1887
          0xfdcfa33683df83L, 0x6e12cc26af39a8L },
1888
        { 0xae46ec813a3bd2L, 0x03a7d3b59366f8L, 0xe2029d5b87aed4L,
1889
          0xbdc4e43fe1b83dL, 0x768437cdb8a1a8L, 0xe47acc3ea0dd7fL,
1890
          0x550e0cc62a0af4L, 0xcaf2cbc1a20962L }
1891
    },
1892
    {
1893
        { 0x5a784f7f28a78fL, 0x952a9b507e9724L, 0x8ac5e411bab7a3L,
1894
          0x1251e3fb7bc1e1L, 0xe360f82dc15e22L, 0x3ac72da95213f5L,
1895
          0x65ee9ba4dcd47bL, 0xdfeab7b3af5952L },
1896
        { 0x34c5c8026fd3c6L, 0xd977b08f3ac7eeL, 0x003bd017dba2f6L,
1897
          0xcfc5cf8ac98c8dL, 0x05eb6040e46922L, 0xc248b17faa9352L,
1898
          0xfa41c0f395c7a7L, 0x29931d4b71ee44L }
1899
    },
1900
},
1901
{
1902
    {
1903
        { 0xac087bb07861c5L, 0x3bd37db5ae8240L, 0x94c68ecf94518fL,
1904
          0xd32a378ff88a5bL, 0x42c8aaf9b441d1L, 0x089db70fc07f12L,
1905
          0x211c386d3d4455L, 0x1db9af7546b158L },
1906
        { 0xdfd1b6551bc927L, 0x69c04930733df4L, 0xdc72cd42aeb586L,
1907
          0xeebdace823aa13L, 0x51b3b3c56ad643L, 0xb983a99d4e0426L,
1908
          0xa1e5b6c69c4eccL, 0x37cd38245e6668L }
1909
    },
1910
    {
1911
        { 0x158ce6d9f73aeaL, 0x36a774914ff475L, 0x0d4e424dc0b018L,
1912
          0xc2c44483946f09L, 0x7a7de3ffacda62L, 0x49a19e6b486709L,
1913
          0x65094d8db61da7L, 0x09edfd98f5ee87L },
1914
        { 0xe460fcfb37226dL, 0x3b9d03969bf470L, 0x3d4d511247ca22L,
1915
          0xc7248d6c782cb1L, 0x91189a000ad293L, 0x1244942e8abe75L,
1916
          0x9f88d12bf52cdbL, 0x368463ebbbcadfL }
1917
    },
1918
    {
1919
        { 0x419e4b38074f45L, 0xd3f8e2e0771c83L, 0xd2743b42e68d34L,
1920
          0xc68b7dbb116a00L, 0xfad2cf7d84cc37L, 0xcfd27c0b7a0f4dL,
1921
          0x3b9e23f190e587L, 0x7bab499751ca9eL },
1922
        { 0x3270861a8f12eeL, 0xee1f38d31b36d5L, 0x748bb31e4c0eedL,
1923
          0x9be5c9b110ebadL, 0x728660bc8b6cb6L, 0x7bc9df793d914aL,
1924
          0x73a4f2cc88c859L, 0xbe4a2fdb4e7f0eL }
1925
    },
1926
    {
1927
        { 0xe566ff8a450e77L, 0xb0b40066a13abaL, 0x483a510cd7dc90L,
1928
          0xb1a20135fa9cccL, 0xeb0b631a80e67cL, 0x7c34e1f020801aL,
1929
          0x0257dc8f4e447cL, 0x7abe7d174c6f0fL },
1930
        { 0xf115a3ab19a576L, 0x8f0474a064ca0eL, 0x999bb6b351f99bL,
1931
          0x855254b773edc3L, 0x49f6c2f427d717L, 0x9f682532e0cef2L,
1932
          0x1fe126c2ee34f5L, 0x1ec2cae80150f7L }
1933
    },
1934
    {
1935
        { 0x862c5afc005b7aL, 0x61adea7ec4ef17L, 0xf885fd3007b446L,
1936
          0x25c129d9b0e30eL, 0xbc10f25feec7e0L, 0x3901ac4df79ee1L,
1937
          0xad49db7fe9e19fL, 0xc8624d9360d050L },
1938
        { 0xc74a576bf3260bL, 0xbde80248c010c2L, 0xf15532909b6977L,
1939
          0x6a5a82ed52dcf8L, 0x4fbf59d29b9dfcL, 0x337d049c7b730cL,
1940
          0xb3deac63a89cd4L, 0x1e07595ad2f2ebL }
1941
    },
1942
    {
1943
        { 0xa0b0a4d3b7c84eL, 0xf132c378cf2b00L, 0x192814beaaa8ecL,
1944
          0xe7929f97b4b5dfL, 0xf08a68e42d0ab7L, 0x814afb17b60cddL,
1945
          0x78c348c7d9c160L, 0xf8a948844db217L },
1946
        { 0xcdefd88eaa2578L, 0xf717f56bd0e260L, 0x7754e131694d02L,
1947
          0x1254c14181dbd8L, 0x0dacdd26e5f312L, 0xb8abdfbcef87bfL,
1948
          0xb985972e74e2eaL, 0x1717621002b424L }
1949
    },
1950
    {
1951
        { 0x92cc75e162df70L, 0x1e20c0618ee849L, 0xc036b4626aa590L,
1952
          0x31be67e4da5155L, 0x04911b5f7213b0L, 0x39261d7bb2e72eL,
1953
          0x9e844665c015a3L, 0x2f59fc0298ae67L },
1954
        { 0xa3ea7ba1701fccL, 0x87a5fa90ebd651L, 0xa607ed4301d7b1L,
1955
          0xbd4ec5f3b2e271L, 0x732a1a2dc4180fL, 0xbe15d82feaa8c1L,
1956
          0x103670266f2f3fL, 0xccfd3979e79ce8L }
1957
    },
1958
    {
1959
        { 0x82ab83570a54adL, 0x5c1dee8e3bec75L, 0xf583ff454b556bL,
1960
          0x9220199f461e60L, 0xdf61ca887fc4e7L, 0x6641fd20776dadL,
1961
          0x00c6edd8edd061L, 0xaf9b14255f7e87L },
1962
        { 0x73f15e49bbe3ecL, 0xdd3b788f8bc1faL, 0xb24cc071b8ff86L,
1963
          0x6c260d241be58bL, 0xec1c4e36b10adaL, 0xf6b42097fdb985L,
1964
          0x0d0ac85d47c212L, 0x967191c07d78d1L }
1965
    },
1966
},
1967
{
1968
    {
1969
        { 0x3b11638843d0f3L, 0x4b89297f27f10eL, 0x477236e863ba2aL,
1970
          0x1949622add280cL, 0x7cd523504da757L, 0xe0e99d279e4ff7L,
1971
          0xb4ef894537da41L, 0xc55dde45a24ff1L },
1972
        { 0x18d8e21b587521L, 0x8010b5d3777833L, 0x4af522dd3a54c8L,
1973
          0x7cd476b4c0ac13L, 0x4587e614099f67L, 0x494d0ed605ee64L,
1974
          0x3218ba2cc80903L, 0x5ff56aa0b2e169L }
1975
    },
1976
    {
1977
        { 0x51ec94e3a06c69L, 0xa26d7be5e65c52L, 0x156f113d44ee96L,
1978
          0x70f0968bf5b9b4L, 0x9b7e4695f5332dL, 0x36c295f6703829L,
1979
          0x1522690d04f492L, 0xcf35ca4728043bL },
1980
        { 0xf9ca3e1190a7c3L, 0x53d2413f971b07L, 0xae596529c48b49L,
1981
          0x74672b8fefff5cL, 0x0a3018ba7643b0L, 0x51919e83e9b0a8L,
1982
          0x89ad33dc932fb5L, 0x52a4419643e687L }
1983
    },
1984
    {
1985
        { 0x7778990d2d0acdL, 0x3bdbcce487fdf1L, 0xdc413ca2b03dd2L,
1986
          0x278755b9a2b7d0L, 0x4ebb8b535ddd7fL, 0x0465152bcbdb92L,
1987
          0x34f22d6671d051L, 0x1ba04c787192b9L },
1988
        { 0xb1693f483560c1L, 0xe08a5937d174e9L, 0x47ffdc464dc9afL,
1989
          0x1123596ce8126cL, 0x632d95f1124628L, 0x66287abfee7c76L,
1990
          0xb40fe60c552332L, 0x3f11729e304e1eL }
1991
    },
1992
    {
1993
        { 0x97a6ea05030a8cL, 0x692419809c27b2L, 0x3308501ac9dd5dL,
1994
          0x9fed7fabe73fdcL, 0xea555440535286L, 0xc7c07ab6c9b832L,
1995
          0x178c882c51b967L, 0x6fa0c6986ee075L },
1996
        { 0xbaa4a15b8b5c4aL, 0xf83c0ea3130c0aL, 0xcf8624b2800331L,
1997
          0xade85cd7ccbcb8L, 0x971d7f6f08445dL, 0xfd480b76a546dcL,
1998
          0xdc15a38c93761cL, 0xc4c495c9d04631L }
1999
    },
2000
    {
2001
        { 0x5f4cee89470efeL, 0x9fe896188d93adL, 0x24783b3f4e49ceL,
2002
          0x1bc7ed752ffb3eL, 0xa3abe6a6d81e17L, 0xd6bb8b47a333c3L,
2003
          0x3485c0b10a3527L, 0x7cddc9c31a9d10L },
2004
        { 0x0c78112c38ca37L, 0x10e249ddd2f8d8L, 0x72c88ccc511911L,
2005
          0x4d75b5a29a6c84L, 0xc74b267a227b1eL, 0x698390cf8e35adL,
2006
          0x8f27edfe98d230L, 0xec922f26bdc7f4L }
2007
    },
2008
    {
2009
        { 0xac34023fc32e11L, 0xe0ae2f547200d1L, 0xa7c7492bd98c82L,
2010
          0x3910b687b02154L, 0x6fdd06ce28ab6dL, 0xd3a7e49d98b012L,
2011
          0x4c1c82b9f54207L, 0xef5bbe645c176fL },
2012
        { 0x3d17960d3e71ebL, 0x90d7e84080e70cL, 0x83e6438bff5d9eL,
2013
          0x1877e1f535d85cL, 0x931ed6efbb69ccL, 0xcf962651247848L,
2014
          0x76d618b750da4eL, 0xc076708717fbf6L }
2015
    },
2016
    {
2017
        { 0x80a5ac5eec5126L, 0x6d05dd13379c80L, 0x514b0892336d32L,
2018
          0x586c0066725137L, 0xab2365a574f954L, 0x3c89ea0ac7d356L,
2019
          0xf1f2edd27460baL, 0xf200ddbab9870fL },
2020
        { 0xc8f1b2ca35e885L, 0x5d22f86e6e7550L, 0x24b9a409554615L,
2021
          0xcb41107616314fL, 0xca752f0c976a11L, 0x3e2f839a08291aL,
2022
          0x0cff22ff2c420eL, 0xafd603e82b9747L }
2023
    },
2024
    {
2025
        { 0xaddeddc810a3daL, 0x78b6c2dd3a87bfL, 0xbc7020bde3a04cL,
2026
          0x47ab9739b6d045L, 0x3b046d60959358L, 0x0f953e7509ee3eL,
2027
          0x803dc8669fc61bL, 0xcceaec0893c8d4L },
2028
        { 0x21f8c40b048a45L, 0xb535073fcaea8aL, 0xe712c3590e360bL,
2029
          0x5d0f3f48403338L, 0xe0ea26c7207f2dL, 0x20f6b57ffd9e05L,
2030
          0xb97d68e4788b00L, 0xb1215541889cceL }
2031
    },
2032
},
2033
{
2034
    {
2035
        { 0x0079817464238eL, 0x21103020d381caL, 0x1cc4c6ed9f01b5L,
2036
          0x5e35dc55a131b1L, 0xb61848d06944ebL, 0x83792a029631a3L,
2037
          0xbe1017fafca0ddL, 0x70aaa01782fcbbL },
2038
        { 0xc63b7a099945e7L, 0xe9164ecc4486c1L, 0xb133e35885f2c1L,
2039
          0x186f0d3c99ae02L, 0x2fca4922bf53e6L, 0xf922aa248a02bcL,
2040
          0x4fe64900dd3dcaL, 0xe8c313ff6a8207L }
2041
    },
2042
    {
2043
        { 0xc5b358397caf1eL, 0xa001922922a4b6L, 0x67e36bedf07c95L,
2044
          0xabaa0aeb2f4f34L, 0x66dc926dedc333L, 0x82021c438ec5b3L,
2045
          0x82b4f2600ab176L, 0x1b7c22e69c45afL },
2046
        { 0x07b0dbe0924ad9L, 0xe030936a407ddeL, 0x66e1ce926ccd06L,
2047
          0xb50c108e3505a9L, 0x8b921e1da98f51L, 0x449ca1a20cf7c7L,
2048
          0xadb80c7e67d079L, 0x205aa54834372dL }
2049
    },
2050
    {
2051
        { 0x1482b4819bf847L, 0xd6c16ab5906f0fL, 0x323fb1723ad060L,
2052
          0x0346389c832be7L, 0xe71b2d82ee45bfL, 0x761c37dfb22276L,
2053
          0xa9b33345d70be2L, 0x81a06565a0627aL },
2054
        { 0x337750399a6282L, 0xafc8d2ed0436f0L, 0x22f71d3c53342fL,
2055
          0x66ca56d8939ad3L, 0x15a919230e09baL, 0x261091ea6de890L,
2056
          0x609d700e78f2d5L, 0x8aa52ee8eaaf78L }
2057
    },
2058
    {
2059
        { 0xa398788ce76258L, 0x3031d07494b975L, 0x4a6d652043dfe2L,
2060
          0xdb1a849b4401ecL, 0xf81ebbbce8bbccL, 0x937dd4716efe9eL,
2061
          0x9c19350ef85eccL, 0x260d932214273bL },
2062
        { 0x1d7e21e77bf1a3L, 0x199d689a544eb7L, 0x9da594194ced50L,
2063
          0x71a60be8a0aeaaL, 0x183a0ae26d3b51L, 0x49f176a8df9728L,
2064
          0x744376e3230674L, 0xb2cb21ae25541cL }
2065
    },
2066
    {
2067
        { 0x7a721589a0071fL, 0xe19dd29e7d2a6bL, 0x3deb34e55113f0L,
2068
          0xef1f8ebede573bL, 0xa8f7ff95665e37L, 0xa2c21eaf2d7777L,
2069
          0x1387afa91e2e39L, 0x04057b97db68f6L },
2070
        { 0x8b9d5ae1c241f7L, 0x689588a8e75993L, 0x79585b45c0e2d4L,
2071
          0xba1ef167b64974L, 0x72685bc1c08a75L, 0xf0a5814d572eddL,
2072
          0x71464a35ab0e70L, 0xc93c92b339aea7L }
2073
    },
2074
    {
2075
        { 0x1917e2a5b8a87dL, 0xea5db763a82756L, 0x5bba2fb6420e2bL,
2076
          0x5cc0501019372aL, 0xb1ef8beccc5efdL, 0xaf06393f49c57dL,
2077
          0x3ab1adf87a0bc4L, 0x2ee4cca34fe6b6L },
2078
        { 0xd1606686b8ba9bL, 0xef137d97efec13L, 0x7b6046550abb76L,
2079
          0xb40ec2bf753a00L, 0x696ed22eaf8f1dL, 0x398c91fd8ba3d8L,
2080
          0x11f203437db313L, 0xe1ec33bfe5079eL }
2081
    },
2082
    {
2083
        { 0x8a10c00bdc81f0L, 0x5f392566fe8e05L, 0xa595dab14a368eL,
2084
          0x32b318138cec6bL, 0xd77afde1b00d00L, 0x3c979284d9923dL,
2085
          0x78f0e7a76e13ddL, 0x5ee8e59bf75675L },
2086
        { 0x49ec89391b130cL, 0x9416182a47a441L, 0x54555b576e2ce8L,
2087
          0xcbdd2fd349c40bL, 0x10ae7379392bbeL, 0x270b1112e2dab0L,
2088
          0x5cb7712af293f4L, 0xfc22a33d6095c6L }
2089
    },
2090
    {
2091
        { 0xdcb5bbd0f15878L, 0xbcf27adb6bba48L, 0x979913e7b70ebaL,
2092
          0x4c0f34b158578aL, 0x53f59a76ed6088L, 0x19b3b2c75b0fc2L,
2093
          0xad628dc0153f3cL, 0x5195a2bcec1607L },
2094
        { 0x95f8b84dfe0f7aL, 0x935c6b0152920bL, 0x25f9e314da1056L,
2095
          0x4910a94b28c229L, 0x54b03b48ee4d6eL, 0xc991fc3694e3edL,
2096
          0x68c4c26dbe5709L, 0xc9cfce463d7657L }
2097
    },
2098
},
2099
{
2100
    {
2101
        { 0x21c9227f52a44eL, 0x7f105a2e85bfbdL, 0x887781f6268fc2L,
2102
          0x56ee808a2d7e35L, 0x14f9de52d3930fL, 0x4a4e356dcb561aL,
2103
          0x87362267f95598L, 0x211c3425f34151L },
2104
        { 0x8fcb75b0eaf9cbL, 0xcc9edf93d60ce2L, 0x54412c9a5fe627L,
2105
          0x6036a72842dd09L, 0x71ce668a6c6099L, 0x02b30d75386764L,
2106
          0xb69bed36f18e23L, 0x124c9b1d1de9f4L }
2107
    },
2108
    {
2109
        { 0xe8f8d95e69b531L, 0xe1e115eaff1049L, 0x9087cd1eddea0cL,
2110
          0x8ed55a57449916L, 0x8009f547808404L, 0x990f21617fea55L,
2111
          0x68ba624fe8ecf9L, 0x8ac295056d1f47L },
2112
        { 0x3257887529dfb0L, 0xc4a613f244c080L, 0xabb1ac028672faL,
2113
          0xb2915c531eb291L, 0x6e368ca8fababaL, 0x6b8c2591fde498L,
2114
          0x67724a1f2a548cL, 0x6b3b7e8f90409bL }
2115
    },
2116
    {
2117
        { 0x5415003fae20aaL, 0x95858a985df5ceL, 0x42bc9870ac6beeL,
2118
          0x8d843c539ea1a9L, 0x5de200cb571043L, 0x084fcd51741a33L,
2119
          0xe1ca20c0009d1cL, 0x0271d28e957e6dL },
2120
        { 0x84cbf809e3be55L, 0xc804dda1c578c6L, 0xea85489409a93aL,
2121
          0x64a450a972021dL, 0xc6a2161e681312L, 0x280bff965bc111L,
2122
          0xd358a4b0f8526fL, 0xd967be8953a3abL }
2123
    },
2124
    {
2125
        { 0x4c5e6157dd066cL, 0x37afd33634c8d4L, 0xa3ac88a42d8b87L,
2126
          0x9681e9b938b607L, 0x7a286ab37fe4c8L, 0xdeee5742494245L,
2127
          0x184b9d36af75a8L, 0x20f696a3670c04L },
2128
        { 0x1340adfa39e8b9L, 0x03c19290850b2eL, 0x435ebd42c0e1efL,
2129
          0x49de18b142ee9bL, 0xb440b273f116f2L, 0xd94e9fa2214463L,
2130
          0x1b0ddd36311543L, 0x1ae042a991ba3cL }
2131
    },
2132
    {
2133
        { 0xbc322f85bb47aaL, 0x9e2562554a5845L, 0x96b65ae21115f3L,
2134
          0x46fbed4bb5757bL, 0x18aec4f4c42dceL, 0xc59caf68d801f0L,
2135
          0x91894631205521L, 0x66bd8e089feb7aL },
2136
        { 0x39ebe95c529ee7L, 0x28d89928eadb99L, 0x6058c786927544L,
2137
          0x877e7a5d3808ecL, 0x8f651111c52eafL, 0xfb59812ae221cdL,
2138
          0x22289c6f890391L, 0xa97695b4966e92L }
2139
    },
2140
    {
2141
        { 0xf0a91226ff10f0L, 0x49a931ba2a65c8L, 0x3fcebbcb1d3cb0L,
2142
          0x70eb79bca9685fL, 0x82520b5ab38cb6L, 0xccf991b76304c3L,
2143
          0x575aab1af8b07cL, 0xec8166a5ed5efbL },
2144
        { 0xddc5698c8689b1L, 0x227c949b2e78d7L, 0x61323218e07d91L,
2145
          0x658a11d22cfd62L, 0x908fb44004dd5fL, 0xe3d14f090d21b1L,
2146
          0x6f3db9da6a1639L, 0x09d86c0333a525L }
2147
    },
2148
    {
2149
        { 0xd83eaf06f043f7L, 0x88ab648b52d5f6L, 0x67c664d57144d7L,
2150
          0x55d7644eafc8b5L, 0x1c89f20cceb291L, 0x51aec7b831ac47L,
2151
          0x51172fa6148854L, 0x8fabf7ef6d7bfeL },
2152
        { 0x5910316477ee27L, 0x5f299dd20fe61eL, 0x48079a842826abL,
2153
          0xf4a83ba22591faL, 0x8fac66055482ecL, 0x48fd5f16b65b3bL,
2154
          0x4288a7c9fd9e19L, 0x27db8199377894L }
2155
    },
2156
    {
2157
        { 0x2936ee47fd9dd6L, 0xcce5f0e9ec87c6L, 0x15a50e3db6e3b4L,
2158
          0x61df105ad701c8L, 0x3601add1dff1f7L, 0xb761e06e8a16e1L,
2159
          0x4341e021af3f91L, 0x9156a4a933fa3fL },
2160
        { 0x9dc46ae54bc01dL, 0x605577a64eb910L, 0x22b99f85a59a99L,
2161
          0xab2dbaf0a229d8L, 0xa8bfb656599364L, 0x39ed4a5e94ebf0L,
2162
          0x7b46a1e0dbb23eL, 0x117b1958751422L }
2163
    },
2164
},
2165
{
2166
    {
2167
        { 0xd19e8fd423bddfL, 0x9d77042387ef59L, 0x315cbdd849590aL,
2168
          0xfdc637c7866c1eL, 0x72be83d03515a6L, 0xd44a4a00376780L,
2169
          0x3b9613119e0c2bL, 0x023aca37b1a689L },
2170
        { 0xf5f368782282eaL, 0x44710898a8b5c7L, 0xcd2f00a17a3066L,
2171
          0x754e11281ed681L, 0x9c6c70c0bfcefdL, 0xd6aced03b6f29bL,
2172
          0xe443d562817a2aL, 0xe590ef4e7c0012L }
2173
    },
2174
    {
2175
        { 0xc2f96763e62e2aL, 0x661816eb2daa26L, 0x3515fd2dd5f512L,
2176
          0xdc36e2756b6e75L, 0x0bdde4674cc658L, 0x102908600e7644L,
2177
          0xfdf00451694a09L, 0x454bcb6ceac169L },
2178
        { 0xf4c92ab6481eb6L, 0x8b77afa09750e7L, 0xe6f42316362d6dL,
2179
          0x0d45deef53a3aeL, 0xdac7aacd7dcf98L, 0x628cb7f125ec4aL,
2180
          0x41e8a20aec0320L, 0x7418c7eea2e35bL }
2181
    },
2182
    {
2183
        { 0x4d649abdf40519L, 0x8cb22d43525833L, 0x15f6d137a5333fL,
2184
          0x8c3991b72c23eeL, 0x248b9a50cd44a3L, 0x6b4c4e0ccc1a75L,
2185
          0x3221efb15c99a9L, 0x236d5040a9c504L },
2186
        { 0x401c7fbd559100L, 0xcf0e07507c524dL, 0x39647c034a9275L,
2187
          0x2355422f7e8683L, 0x3e0a16eb3ae670L, 0x1c83bcbad61b7fL,
2188
          0x491bcb19ca6cbeL, 0xe668dc45e29458L }
2189
    },
2190
    {
2191
        { 0xe44c65b219379eL, 0x211381bbb607eeL, 0xd4c7428b7bc6dbL,
2192
          0xba62a03b76a2e8L, 0xe1729c98bb0b31L, 0x3caeb50c6bbc10L,
2193
          0x6c66727b0187aaL, 0xbf9d2f0fb90dcfL },
2194
        { 0xec693501184dc6L, 0xd58d2a32698eb5L, 0xb366d8da316b07L,
2195
          0xe1e39bb251c017L, 0xbe44ba9adb157fL, 0xbaa9a9a8a8b06cL,
2196
          0xd0f46356e473e1L, 0xd25a8f61d681c6L }
2197
    },
2198
    {
2199
        { 0xba39d5fcb102c7L, 0x66eba21d8aa1ebL, 0xcc2591a697fbf4L,
2200
          0x5adb5792317f54L, 0xa01ae71f76c6f9L, 0x2c525de5042705L,
2201
          0xc8f42724f4479fL, 0x26ab54ae6d7a5bL },
2202
        { 0xda217b5dc28106L, 0xc7cadeaeb2ae6aL, 0x0b1609453ea3b2L,
2203
          0xcddcc1ccc6111bL, 0x5c47affa7a7bebL, 0xf9931bd0e52dabL,
2204
          0x5231835c6dcf96L, 0x7095bdef27ea4eL }
2205
    },
2206
    {
2207
        { 0xee8adaec33b4e2L, 0x300665163ceb44L, 0xf1476fb880b086L,
2208
          0x07033289569ce8L, 0x2cabf9a238b595L, 0x85017bc26c8158L,
2209
          0x420b5b568d5144L, 0xa9f5f1ef9c696fL },
2210
        { 0x1409c3ac8fec5aL, 0x541516f28e9579L, 0x06573f70e1f446L,
2211
          0x3e3c7062311b96L, 0x0033f1a3c2ffd8L, 0x8e808fcca6711cL,
2212
          0x716752d07aef98L, 0x5e53e9a92525b3L }
2213
    },
2214
    {
2215
        { 0xce98a425a1c29fL, 0xaa703483ca6dc9L, 0xe77d822edfa48bL,
2216
          0xd2e3455068abcaL, 0xb456e81482cfcaL, 0xc5aa9817fbfb08L,
2217
          0x8979f258243194L, 0x727f2172cd043dL },
2218
        { 0x7cca616aa53923L, 0x387c5aee9bcb72L, 0x0173fd437580bbL,
2219
          0xdd7795b75fc0d9L, 0x47d1c37345deaeL, 0x2eb5d7fb0d1c03L,
2220
          0xf7a1b92958f002L, 0x7365cf48f61b67L }
2221
    },
2222
    {
2223
        { 0x4b22c3b562a5edL, 0x711216f5c7cd07L, 0x51f72c49ba0648L,
2224
          0xc10d0930de9e6fL, 0xaca479bfda63baL, 0x4722a55af532b0L,
2225
          0x8d59eb77236f39L, 0x5cad8744465c34L },
2226
        { 0xa2119e5722b0c1L, 0xb670264f343ea4L, 0x6910f02c19f387L,
2227
          0xcfec5bc0381fbaL, 0x5f5de0d52c0a1dL, 0x4e474d56378cb6L,
2228
          0x2fc802727e2ba3L, 0xa215da3159b541L }
2229
    },
2230
},
2231
{
2232
    {
2233
        { 0xed535858499895L, 0xa0aefd565c998dL, 0x210d8502d5a561L,
2234
          0xc2cc23ca2cd9d6L, 0x2371d46c4d297eL, 0x88b2143d18d441L,
2235
          0xbebdad9043993dL, 0x6ba91e7ad5f28dL },
2236
        { 0xc2bb3f13a731f4L, 0xd35cfac5d0d5c3L, 0x995099835ac427L,
2237
          0x8938bb55458adbL, 0x0bd738cab26f3bL, 0x56db3d5a28cd8dL,
2238
          0x87eb95fa1d8b4bL, 0xd6700efe7f3b4bL }
2239
    },
2240
    {
2241
        { 0x962c920ea1e57bL, 0xd3be37e6dded6dL, 0xf499b622c96a73L,
2242
          0x3eaf7b46c99752L, 0xa310c89025590bL, 0x535aa4a721db23L,
2243
          0x56ab57819714a0L, 0xeecb4fad4048c1L },
2244
        { 0x7b79ec4470c466L, 0xc4e8f2e1383ceeL, 0x0f5d7765750c45L,
2245
          0xa3b3bc3725527dL, 0x2f5deb66d00cceL, 0x5d5a0f495a8d81L,
2246
          0x50a442ee02b824L, 0xafb04462a11628L }
2247
    },
2248
    {
2249
        { 0x72b67bc0c613deL, 0x0150d4be6f0b24L, 0x847854e8ed289dL,
2250
          0xe08292fa320f88L, 0xd5b6da329c6160L, 0x2a48e2d4fb9d06L,
2251
          0x55d9e412de087cL, 0x65683b54f02100L },
2252
        { 0x4dc8c2ea8886c6L, 0xe966dd220d6114L, 0x99745eba57af97L,
2253
          0x23a9a71b854725L, 0x8effe05621a047L, 0xf16d284049a4beL,
2254
          0x95828c25b0660fL, 0xd5b69ba56e96b0L }
2255
    },
2256
    {
2257
        { 0x0b5b4244ffa0b8L, 0x0585b45096cc5eL, 0x413e1aef505d37L,
2258
          0xe5652a30c7ab8dL, 0xab32fb72990120L, 0x6b8b16e3f09368L,
2259
          0xbf9fadbefe128eL, 0x85f366b14b7671L },
2260
        { 0xcb2f294090608dL, 0x25e2769ac3045fL, 0x069c4f06131904L,
2261
          0x1c57cf1329a779L, 0x72fe0d5b7cace7L, 0x04d9f430897a45L,
2262
          0xbaf32f6359a645L, 0x0fa854ffa7485aL }
2263
    },
2264
    {
2265
        { 0xae3533c5f56f60L, 0x9773bbb0ad9360L, 0x769b34a38fbe6bL,
2266
          0xb5ba8e9ffb0c00L, 0xa93931875472e4L, 0x12cac92ce5f30fL,
2267
          0x514fc06a9e7dbcL, 0xd7ca86558b4734L },
2268
        { 0xd101ff365a730bL, 0x92da451abe70e9L, 0xfb5f94aef7bf4bL,
2269
          0x8c3ef4c1d56c7bL, 0xb0857668435c10L, 0x7fbbbdae7ed4ccL,
2270
          0x1da6eaf24f372fL, 0x0ab2c1f59b8ae3L }
2271
    },
2272
    {
2273
        { 0x63a1a78f10a4b9L, 0xbb5278d0c7e510L, 0x97b224ef874142L,
2274
          0x0a9ff52b2517b1L, 0x1b5a485c5cd920L, 0x1a8e2eba1823b9L,
2275
          0x2b088c00e914a8L, 0xe5ec3adcf13432L },
2276
        { 0x0d6ab3e6e7e253L, 0x9f0f5cd6f18458L, 0x839a744f459a6dL,
2277
          0xb4b4f941eb15f7L, 0xe0313acc72cb14L, 0x58ee933b20472dL,
2278
          0x5f73d7a872543eL, 0xb1700c5501f067L }
2279
    },
2280
    {
2281
        { 0xb70428e085f67fL, 0x5441d5143cabe5L, 0x4d0e8c2e0a6055L,
2282
          0x8d39a080882e4fL, 0x615bb32c1cb39dL, 0x113f18df7a1642L,
2283
          0xbab8cf5250681fL, 0x3017ba2677b72aL },
2284
        { 0xcd2b6e95a3a876L, 0x04765012035a69L, 0x31d6440efa2ea0L,
2285
          0xde8f8d156874d5L, 0xcbc71cd0199d4aL, 0xc546b61e7f2170L,
2286
          0x4e57e4e112c4c3L, 0x58955a8d1622baL }
2287
    },
2288
    {
2289
        { 0x0064cd704e2f6fL, 0xe9d458de0edd38L, 0xeb1a5977e0a5c8L,
2290
          0xe322ece01fc0a8L, 0x8b9d1661032a19L, 0x3e7b539a89de94L,
2291
          0xfa30262001c754L, 0xe33de4ddb588f6L },
2292
        { 0x4dafbdb954eb94L, 0xbb436480584c1bL, 0x622c93e5dbe29bL,
2293
          0x968f9e3f57b931L, 0x98f03be0f6453bL, 0xb0ecc7f08f696cL,
2294
          0x5af55f4a505335L, 0x028533efb3fa9bL }
2295
    },
2296
},
2297
{
2298
    {
2299
        { 0x3bc8e6827e8d86L, 0x4e43b3063f105aL, 0x5301b7d4981250L,
2300
          0x8b0a75e9f72fa8L, 0x88f59db357348cL, 0x5f0ebb1ec4208eL,
2301
          0x4712561c043d3bL, 0x9e5ded0c806b97L },
2302
        { 0xf9bd0a62121d09L, 0x1759ecbe337cd1L, 0xd1acc0ee945542L,
2303
          0x3683febbd2f63aL, 0x44f1bccda5dfe9L, 0xa3606c9707f22fL,
2304
          0x45ef0642d96ca5L, 0xfc3107d9022df9L }
2305
    },
2306
    {
2307
        { 0xe81320b44be755L, 0xdf213d55c7c761L, 0xf43d2d5b4e5db9L,
2308
          0x3bcfd828dedcd2L, 0xdf368a6d37a9ecL, 0xfef20aef475a77L,
2309
          0x22f5894162c064L, 0x956bc660142a7dL },
2310
        { 0xaaa10e27daec78L, 0x3cb9b72b6e9a78L, 0xa740bade383f72L,
2311
          0xc31b4017759007L, 0xdada964a7afc50L, 0x6bf062cfd3d11fL,
2312
          0x9470d535db3679L, 0x339447303abf13L }
2313
    },
2314
    {
2315
        { 0x533f44046e5d7fL, 0xd1793e349048c8L, 0x59e11501929b94L,
2316
          0xcddbbcb8364134L, 0x795c794582774fL, 0x114dfc4e03081aL,
2317
          0x541ef68ef54042L, 0x159295b23f18cdL },
2318
        { 0xfb7e2ba48a2c8cL, 0xe2d4572bb6d116L, 0x7bb0b22d750b53L,
2319
          0xc58888cd142ee8L, 0xd11537a90c9e2dL, 0x77d5858d02eb9eL,
2320
          0x1fa4c75d444a79L, 0xf19b2d3d58a68dL }
2321
    },
2322
    {
2323
        { 0x37e5b73eb8b90fL, 0x3737f7a3f2a963L, 0x87913fa9de35e0L,
2324
          0xec7f9928731eddL, 0x6e6259e219491eL, 0xb2148a04de236cL,
2325
          0x89700e8fdd309bL, 0x9ce51e49f0bf80L },
2326
        { 0xe7ec421301f17bL, 0xa4b570a3bc5f4fL, 0xc2b1b2a1285ee2L,
2327
          0x5e86bc8c53db73L, 0xb65fceaf24fa90L, 0x9e74c5608ab024L,
2328
          0x5c8003df9ed877L, 0xa632e9e4a2cbbcL }
2329
    },
2330
    {
2331
        { 0x32a4546c91c8b5L, 0xc122b5ac969363L, 0xbbbec5e3648b3aL,
2332
          0xd5a365e25143b0L, 0xcf3e46454157ceL, 0x9712f04f9bab64L,
2333
          0xc12d43a04b4008L, 0x51932d72edf1c7L },
2334
        { 0xaef1655b2f8470L, 0xaa8e3f36c24aceL, 0x7da75da6b4e761L,
2335
          0xd371827b90bca2L, 0x84db4500afb45cL, 0xae12045ef46b5dL,
2336
          0x91639a5d962f98L, 0x669cbe672f2ac0L }
2337
    },
2338
    {
2339
        { 0x851bb3183a4356L, 0x7d436bf9a1bf15L, 0x46a3f0e120b378L,
2340
          0x9302abc3f5b357L, 0x1e0672693fef53L, 0xb12f4a95fd2ee9L,
2341
          0x94a884c7de9433L, 0x2645234a6f2874L },
2342
        { 0x6fb56f5cdb8dfaL, 0x4a17dfc9e0ee4eL, 0xe269d8383ab01eL,
2343
          0xda932dab77c10fL, 0x463af0c0321243L, 0xbe1d68216fc8a3L,
2344
          0x2eae3ea48b39e3L, 0x94230213b03e7bL }
2345
    },
2346
    {
2347
        { 0xaeb507cb22f28aL, 0xa77458b49a6b44L, 0x232ed5ac03dc17L,
2348
          0x79dfc169c61ac6L, 0x7c48be9cd71b93L, 0x983d68ac429cd9L,
2349
          0x7709c4798ae2c8L, 0xe4765c0a5df075L },
2350
        { 0x23c4deb3367f33L, 0xbdf2b7e37d72a7L, 0xbaab5c70af2d26L,
2351
          0xd609f7ffd026abL, 0x23b72b2541b039L, 0x8d06bac83be852L,
2352
          0x911d4a9cb23d1cL, 0xeae815cfb0dbd7L }
2353
    },
2354
    {
2355
        { 0x487c35c2c33481L, 0xffab636b6136dbL, 0xccd4daea3d3aa4L,
2356
          0x87149bbc3704e0L, 0x9de8119c0e8396L, 0xd49357a58e7ca6L,
2357
          0x68789181562d75L, 0xc7453815ab1fadL },
2358
        { 0x0f1579802c9b91L, 0x7ffc3f0b1ddde5L, 0xa01d5e06aae50dL,
2359
          0x6a97e65e279873L, 0x4bcf42fb5b1b41L, 0x1c6410f32f5982L,
2360
          0xd4f760050701c8L, 0xff02663873b90dL }
2361
    },
2362
},
2363
{
2364
    {
2365
        { 0xdc53ea2e5b2de2L, 0x94b352d38acecbL, 0x37d960b0d9d5e5L,
2366
          0xabd868f90bd997L, 0x781668f35a7376L, 0x043d59710118bfL,
2367
          0xd4da719f57928aL, 0x01942f6983e46cL },
2368
        { 0xab97fc8728bd76L, 0x825956b4b5c1c5L, 0x202809fc82a104L,
2369
          0xdb63e9cc8e3132L, 0xa41c701c2181afL, 0xd28018043e066aL,
2370
          0xc734e4124044ceL, 0x4d9ab23505193cL }
2371
    },
2372
    {
2373
        { 0x0bcd42af9f0c3fL, 0xda21a46b94a218L, 0xe55243c0ffc788L,
2374
          0x318aae647a5551L, 0x8c2938b79af9cbL, 0x5d15232ec1dce5L,
2375
          0x3d310ba8ad2e5cL, 0xd3d972494f792aL },
2376
        { 0xdeb4ca112a9553L, 0x2f1ed04eb54d9dL, 0xaa9c9cf69fb7a1L,
2377
          0xeb73c3a54dcd3aL, 0xee3eddcf5f201fL, 0x35f9e1cba7d234L,
2378
          0x1d1d04cd2e242fL, 0x48df9d80df7515L }
2379
    },
2380
    {
2381
        { 0x4ecc77da81dd9aL, 0xa6ac4bb03aa015L, 0x7645842bbc4fedL,
2382
          0x9ae34cd9d6cf52L, 0xf8ff0335917e0bL, 0x7c9da37c2cc175L,
2383
          0x1e74dccaaacfbeL, 0xa8f2df07999af8L },
2384
        { 0xd06c4ea102a466L, 0x2156e87ae190ddL, 0xc95db8aec4a863L,
2385
          0x49edffd244a6feL, 0x110fae6904f81eL, 0xbaa3e50a1cd104L,
2386
          0x5bd38a20478b65L, 0x2b57d05daefbccL }
2387
    },
2388
    {
2389
        { 0x1ce92ba86f4534L, 0xb2a8592414f5e3L, 0xdd7a4c69979436L,
2390
          0x7599aff3f0add7L, 0xe0ce4d3e2d4f64L, 0x74475cc401a29fL,
2391
          0xaef6541a2377d9L, 0x54048f53f917b6L },
2392
        { 0x1b86b2205312ecL, 0x779ba2231493cbL, 0xc718369aac9320L,
2393
          0xeab01a8617fce4L, 0x17b1f10f7187faL, 0xe68eda0a1aca46L,
2394
          0x61033fe2586342L, 0xfc14e790b6ca43L }
2395
    },
2396
    {
2397
        { 0x9f2231913d2491L, 0x66bdb537997202L, 0x0bafb0c4617f34L,
2398
          0x5917831f3bb7b3L, 0x6feb2a6b45bddbL, 0x08662b30202c19L,
2399
          0x0bc2b5705852f6L, 0x2c00fd491818c2L },
2400
        { 0xca7672cda37dacL, 0xfe4c04c5a30865L, 0x5f1399f322e92aL,
2401
          0xe7d67ea25b1bebL, 0xe08b014dce7f68L, 0x24df52af2f2b3cL,
2402
          0x2028b23750ecd1L, 0x9b25d4bc810a45L }
2403
    },
2404
    {
2405
        { 0xa35b7157a9d799L, 0x6da1eb301f9c99L, 0x33ef91ce363ba8L,
2406
          0x21c0e2ece140daL, 0xb0b11bf158cd84L, 0x6a8744293da438L,
2407
          0x924f10d3db585bL, 0xf5ddd7310c6159L },
2408
        { 0xb72dcb86a74c21L, 0x6d14198cc8f79fL, 0x99f4b6c9c5a8d6L,
2409
          0x063968890e135cL, 0x330edb883f6385L, 0xe1a5a6b9079675L,
2410
          0x6e37fa8b8f5fe0L, 0x60e2fd961dca1eL }
2411
    },
2412
    {
2413
        { 0xc6cb40366c395eL, 0x03b21a7b51d0f1L, 0xbc478a5e693181L,
2414
          0x0017c2fc6cff33L, 0x740a5b839d8d1eL, 0x3968d664d9ec6dL,
2415
          0xfd53738b0ef1b0L, 0x73ca8fd1ed0a04L },
2416
        { 0x4ace93875ab371L, 0xd602936ddad7e9L, 0x1f5424a750bcc2L,
2417
          0xfe09b3668c7a17L, 0x165f7de58341ecL, 0x95b825a6ce61e5L,
2418
          0x9d31e1966c83c4L, 0x65b3e08cc5887bL }
2419
    },
2420
    {
2421
        { 0xd37e93221482d1L, 0x9af659708b6380L, 0x279426a7d61e4bL,
2422
          0x80dd0ec80997adL, 0x7239b0dd5b76d4L, 0x92e6c73e76c098L,
2423
          0xeeb2321eab3e1dL, 0xa69c4a7eb1a910L },
2424
        { 0x46d6aa7833d9aeL, 0x3ee6957572b0feL, 0x44ccbedcdb3d97L,
2425
          0x342f29dcbea01bL, 0x0d518c58926876L, 0xaaabae75585d2cL,
2426
          0xc548c77e008f58L, 0x819e2fa21fab2cL }
2427
    },
2428
},
2429
{
2430
    {
2431
        { 0x468e149c16e981L, 0x286c7909ddbb7cL, 0x2a92d47db7a38aL,
2432
          0xde614e68a27cb2L, 0x8dc8822e5b0ab6L, 0x38441aecf48565L,
2433
          0x11ed5c9089435bL, 0x238928682d0d31L },
2434
        { 0xc6698d472f2f31L, 0x295242c56d76afL, 0x4099205eba563bL,
2435
          0xae7de5a3ab7384L, 0xccdf127d0ed86cL, 0xb9b6d5b965c3c3L,
2436
          0xe351a8f2c31ad7L, 0xa761dd8ac12f13L }
2437
    },
2438
    {
2439
        { 0xda115ddf171ab7L, 0x2de17b1401f93dL, 0x95019ca40964b4L,
2440
          0x169d1f465ba3c3L, 0x534a0070090d08L, 0x805c5e282bf410L,
2441
          0x15dfe1165f8d90L, 0x827a416ca72456L },
2442
        { 0x5af888433a36c4L, 0x8bfa54cd8ee604L, 0x08fd1419ce290fL,
2443
          0x2db5e8c287b3a6L, 0xe5be98103cdad2L, 0x155b874bf810b9L,
2444
          0x2ae42de670f473L, 0x22185847f74657L }
2445
    },
2446
    {
2447
        { 0x54b2a5023ffa43L, 0xcf87b16a24d919L, 0x1ff540263524e8L,
2448
          0x73c94e056d1e54L, 0x76515523899fb5L, 0x13a721418723bfL,
2449
          0x39afbdd3561517L, 0x49b790a9f2862eL },
2450
        { 0xc8c1f4f527d2ceL, 0x1997aec7609bb7L, 0x583ad8002a3400L,
2451
          0xac2374e4f79706L, 0xbf1f9a821b7183L, 0x06158ab6600fe0L,
2452
          0xfcc9b2ebd56751L, 0xe1de5acddaaec7L }
2453
    },
2454
    {
2455
        { 0x230baa1788fdabL, 0xf30860a7d04597L, 0xa2c7ece99f4caaL,
2456
          0xbd39f106ad065eL, 0xfd92f5d3bef7bdL, 0x6069fad96d2203L,
2457
          0xbff38cac4d9e0dL, 0x419a0171fda313L },
2458
        { 0x5d77fd8572f035L, 0x5af99f2b282b40L, 0x7257d3b23facffL,
2459
          0xf2ee22358c90afL, 0xcc2687d9b6a52aL, 0x140892c302430eL,
2460
          0xa934d5e3ec4f38L, 0xc087d7c3bd18beL }
2461
    },
2462
    {
2463
        { 0x7e94138a2c5ed7L, 0xbc8ceef53610bfL, 0xe89356bd86f803L,
2464
          0x9a3a3805a55330L, 0xe894aba11ad648L, 0x2e68fbaba95918L,
2465
          0x643e2bafcad344L, 0x0dd025661640aaL },
2466
        { 0xc02e479e25cbddL, 0xd78c4d813a1b3fL, 0xa6dae8fcca9692L,
2467
          0x3dd91e9e5de8a0L, 0x78ae0ce764ea36L, 0xb4ad99985dbc5eL,
2468
          0x967ff23e82a169L, 0xaeb26ecbaee1fcL }
2469
    },
2470
    {
2471
        { 0x8c502559a6f90cL, 0x56e7abe0ea374aL, 0x675c72256413b2L,
2472
          0xd3fc17e946753fL, 0x28c4e1fe235f7cL, 0xe209bcdb028eb0L,
2473
          0x7d0f93a489fe88L, 0xb966a2e063706aL },
2474
        { 0xb6c228c4a30319L, 0x6868efeca6d674L, 0x0610a70057311aL,
2475
          0x0808112bad7f89L, 0x2a2462c1dd6181L, 0x52ed9feb58e88aL,
2476
          0xbbff16f33821a2L, 0xda53e9617f882aL }
2477
    },
2478
    {
2479
        { 0xb6ffca38c30e5dL, 0xa90f9915c905f5L, 0x72fb200d753e88L,
2480
          0xe509d4c7256c6aL, 0x369e552d866500L, 0xee4b7e033cf8aeL,
2481
          0x280d954efcf6ebL, 0x5b275d3d557f0eL },
2482
        { 0xeb17211b5cecf8L, 0xd6ad50fbdb2f8dL, 0x2478c7b35e04b7L,
2483
          0x97e7143ac73bd3L, 0x09d6ede4817e24L, 0x68fea712c405e1L,
2484
          0x34adbc905f67a1L, 0xd20ab7073edf99L }
2485
    },
2486
    {
2487
        { 0xe116a96569f191L, 0xb3f0bce4d6e29aL, 0x30b9e1af51dbabL,
2488
          0x1dd36f3346d276L, 0x83151030749a27L, 0x242f148ab47f70L,
2489
          0xe8a5bcf5585681L, 0x8b801845ed79baL },
2490
        { 0xa4042fd3894ad1L, 0x82f781d2b88bc6L, 0x2d34cacbe4c397L,
2491
          0x8731aeadd99c9fL, 0x0f95498ef1d382L, 0xcaba2e1dd0bbc9L,
2492
          0x78889e954064e8L, 0x8cd9c9761a8ab9L }
2493
    },
2494
},
2495
{
2496
    {
2497
        { 0xf31f53ffa0459eL, 0xf8742a1315cd6bL, 0xabe2f50ae64e97L,
2498
          0xbd787419b9da48L, 0x4521a3351e526eL, 0xfa05935e10ba45L,
2499
          0x5c947e1e8f903cL, 0x0aa47d15a754eeL },
2500
        { 0xb2849efd814825L, 0x9c2a5d25c9968dL, 0x24dbb2604e634cL,
2501
          0x33f3a4cdb38194L, 0xe04f609c8a2b6bL, 0xcaefd8eabbbfdbL,
2502
          0x683119a404498bL, 0x24ab7a98b21cbdL }
2503
    },
2504
    {
2505
        { 0x6f1326921fa2ddL, 0xd79e61cc10a4bcL, 0xac4b3ce4bd6d46L,
2506
          0x52459b6bd3f37bL, 0xce0f0a3a396966L, 0x050d1d5a1ed488L,
2507
          0x1b9c403e0b17faL, 0xee1abd004a2e66L },
2508
        { 0x97065c35cf3e3bL, 0x6513d5fbe33441L, 0xcd3463479047aeL,
2509
          0x45cbb1cfd22df1L, 0x7a173ae967b17cL, 0x75f5ba72223cdaL,
2510
          0xe3d12dbefe0a73L, 0x3b7f94dfd7adcfL }
2511
    },
2512
    {
2513
        { 0xd596a13f1e9b7dL, 0x04f5bdd6734e0cL, 0x18b694f8be163aL,
2514
          0x15620c7d959fa3L, 0x65fc2c553d2a3bL, 0xd44a364c4d36f2L,
2515
          0xc8b421f268ceabL, 0x564139abfe2bd4L },
2516
        { 0xb52461019d4633L, 0x5ab3f886346934L, 0x96691fe9819422L,
2517
          0xdfdec898b39b82L, 0x84b1c7997cfb27L, 0xe59a98d4d6d004L,
2518
          0x5e5d0c612c350fL, 0xb431220d415774L }
2519
    },
2520
    {
2521
        { 0x3d0ca736aae0a2L, 0x7b1991f48c2d8cL, 0x00ae8565cdae72L,
2522
          0xdbb6ca0bd55128L, 0x3c2ab2a45c82bfL, 0xea5a55979545caL,
2523
          0xeba9a26d5927d0L, 0xb52e40183257fcL },
2524
        { 0x55ed517ca9650aL, 0xbdaa081e3ebff2L, 0x8cf7ce49f8831bL,
2525
          0x1d0b5bd6e3b8d3L, 0xa314a9fd8fc869L, 0x07f2079b892babL,
2526
          0xb700dbfa0cc9d9L, 0x7105a086dc0a39L }
2527
    },
2528
    {
2529
        { 0x0c7e05d8c7d901L, 0xa7ff681af3182bL, 0xb88e3caf9a0d06L,
2530
          0xfe20a12c343b7fL, 0x9f0257703251f9L, 0xf225dedc40c5ebL,
2531
          0x50e0cecb208ea7L, 0x5b250f0e6eeb65L },
2532
        { 0x807a1534806b6eL, 0xded120afa94139L, 0x237ddc749366fbL,
2533
          0xdd3674e5a34bcbL, 0xef6cdff9c4a61dL, 0x036194bb2fb896L,
2534
          0x38659539528cd9L, 0x0723c596936a52L }
2535
    },
2536
    {
2537
        { 0x1f84cd5e17719dL, 0x545939bc73b394L, 0xefbf3c583e84e7L,
2538
          0x6cc46f1f77fd66L, 0xa629f591383ab8L, 0x9177ffacd35cd2L,
2539
          0x039187f9dd411bL, 0xa9cf1cf7b7eea8L },
2540
        { 0xa3b105aac47e5dL, 0xa755bead0a9da4L, 0x50cfbae73da15eL,
2541
          0x9456cbc60b628cL, 0x7ffc3629b7a910L, 0x30b5924cd6d6a4L,
2542
          0x198629f0b04ab6L, 0xc74609c624dea9L }
2543
    },
2544
    {
2545
        { 0x27d4d77af12fa6L, 0xdd8a216690aeb2L, 0xe48fc02fe24417L,
2546
          0x1970403720e17eL, 0x95013fdce37b42L, 0x06817d2de4bd9bL,
2547
          0xc5863e763d0ba2L, 0xa1bafc0a556f5dL },
2548
        { 0xf28ec7b410a78aL, 0x0dcac420a01a63L, 0xfcd3fa4b5bce11L,
2549
          0x054d7e5d278b89L, 0x5195db85ce49e3L, 0x4c0b1672c73d96L,
2550
          0xd94307720a1bdbL, 0x66fa8b359c77a7L }
2551
    },
2552
    {
2553
        { 0xb9e93aed7462feL, 0xbfe54b218dde4fL, 0xaabb5283dbb08eL,
2554
          0x8c367020e5fc45L, 0x35028888e69be3L, 0x6d2efc1c12a11dL,
2555
          0xfce5cebf265e30L, 0x58c8bb35742c7eL },
2556
        { 0x32e89dcccf7fa0L, 0xa811f33dd020a4L, 0xa10d6205129fe5L,
2557
          0x3841c88e4ed29bL, 0xf3303a9d8b1ea6L, 0xa9a0cad1781f58L,
2558
          0x4502b388f3ef0bL, 0x2b7587e74c6d35L }
2559
    },
2560
},
2561
{
2562
    {
2563
        { 0xc6eaea123ae7cdL, 0xa1884d473c0caaL, 0x901e76fef1ea88L,
2564
          0xdb9935ca14269dL, 0xe8b2486947f1deL, 0x4ad56f4a657588L,
2565
          0xe7680542913fb1L, 0x2abff5d37600daL },
2566
        { 0xa814813a81a797L, 0x63e76a446acb69L, 0xb1038394ab8277L,
2567
          0x587de349d8e759L, 0xdfaeb8dddf62dfL, 0x24fe1cf9239d49L,
2568
          0x7de7409e130d1cL, 0x3ecfef9581d070L }
2569
    },
2570
    {
2571
        { 0x8d177a0f87c72dL, 0xae7e5818c6d1deL, 0x0077b5f8cece85L,
2572
          0x382483832d2187L, 0x49d8b156db2bd2L, 0xe9e5513c8d85b9L,
2573
          0x63c410ce05c53fL, 0xceaf2fbd86f752L },
2574
        { 0x0b432fe93806c5L, 0x18eb15d3d06c75L, 0xcaad82612cfc02L,
2575
          0x581e0401e2d045L, 0xd573cb595edcfdL, 0xce71948dbc66e3L,
2576
          0xcf68721acc14eaL, 0xf68bea26cac4dcL }
2577
    },
2578
    {
2579
        { 0xd8576afcb74da2L, 0x8771c29c433f46L, 0x7315af6e2f5b8eL,
2580
          0xc195481ba33928L, 0xb77dcc22fb1f94L, 0xcb3e57ca610f75L,
2581
          0xeb2a92753907dfL, 0x916f14923eff95L },
2582
        { 0xbb378e4b6cd291L, 0xa2a5e2b2f13ce1L, 0xa8a0e60bcd00b0L,
2583
          0x5902741682b75aL, 0xa0882c93f65a77L, 0x2069f75c93cfffL,
2584
          0x1ede40570c0cb9L, 0x13840c90d526c4L }
2585
    },
2586
    {
2587
        { 0xdc2caaa03ced48L, 0x2079219a0315beL, 0xca493563b1f642L,
2588
          0x0202dc7b0665f2L, 0xe5d6bbdb7a5238L, 0x36fbd5e26eab32L,
2589
          0xb3988f1f5819b4L, 0x5b15dc84aa4d69L },
2590
        { 0xa52feed54e5c24L, 0x927471be91a797L, 0xd119bfdd57f677L,
2591
          0xde38f7b78e4c4fL, 0xa7af516b150bc3L, 0x403b21e26b76c2L,
2592
          0x589067d92300dcL, 0x04e406a066802aL }
2593
    },
2594
    {
2595
        { 0x28e7d09a9ca9bbL, 0xaa84fd5fccf4a0L, 0xdbe9fb8635b7edL,
2596
          0x9ede3f5d56fc7cL, 0xa4b5031b01cb29L, 0x584299d7f93703L,
2597
          0xbd28868b6fe825L, 0x1d385d48b9c2d9L },
2598
        { 0x6606f4a822be80L, 0xb5a0165626d0fdL, 0x9920a2014568adL,
2599
          0x7d430f41c6d174L, 0xc243e16e02e9e9L, 0x367f1d2a6bd649L,
2600
          0x693910071b8c36L, 0x2ede1314de2984L }
2601
    },
2602
    {
2603
        { 0xdc781875beec32L, 0x1fff0cca525ff4L, 0x6e86425676df34L,
2604
          0x2b4e8a63f638e1L, 0xc4991d29b1e59fL, 0x399d0011589717L,
2605
          0x406464ebe041cdL, 0x901cb3d9e65bb0L },
2606
        { 0xf5f4572fb42307L, 0xf81b3b0f1b7307L, 0x8fb695cf2094d1L,
2607
          0x7db4792db56f7bL, 0x36836d55a794e0L, 0x2da477b09bc879L,
2608
          0x1cdfadb1887c40L, 0x65dc6c2f2699b6L }
2609
    },
2610
    {
2611
        { 0x36f9f214737972L, 0x48f0c8b7a387b0L, 0xa156ed339a1d24L,
2612
          0x375293a0fed268L, 0xf679f487ff75cbL, 0xd15a00f1cc9e62L,
2613
          0x92a7dc722c3877L, 0xe9870636fb0ed4L },
2614
        { 0xfd8e59c16f5f3cL, 0x375732eaeeb48eL, 0x2dd9213ca1ab42L,
2615
          0xcb062099ffcceaL, 0xfc611f6b23edfdL, 0x271634999b060eL,
2616
          0xb938b5d820de8aL, 0x138f6e7eb49a32L }
2617
    },
2618
    {
2619
        { 0x7feda63e485f70L, 0x646380aeb27b2cL, 0xcf8fe32c4511c7L,
2620
          0x2c68e1eff9406aL, 0xa9f2fd920b6020L, 0x1c98fc63b3e465L,
2621
          0xb8dac3593e53aaL, 0x2fb47b6a750e96L },
2622
        { 0xea373ef1950bb3L, 0x81566944ac7aecL, 0x8d6b3c2b55b931L,
2623
          0x5d13f2db62ef7dL, 0x4647f2aab9182bL, 0x8f56c5a33bf07cL,
2624
          0xc5ab284b35a221L, 0x0747ab75a46a6bL }
2625
    },
2626
},
2627
{
2628
    {
2629
        { 0x5b9236c86b85c5L, 0x5967a0dc482448L, 0x397c9557df6ae0L,
2630
          0xf83ee1c5378f2bL, 0xf82df656e05dd1L, 0x4c424f619d7c8bL,
2631
          0xa612550a6d5f2aL, 0xfe8482a63c3ebfL },
2632
        { 0xcb8d4030142c82L, 0x08b06623679e6cL, 0x3ea51463eca5eeL,
2633
          0x089eb3b1370500L, 0xcbfb19c5a0d306L, 0x2f6858842a65bbL,
2634
          0xe3e1db5e51e119L, 0x2c150e7110895eL }
2635
    },
2636
    {
2637
        { 0xf323488f6d4c4cL, 0x5fc931f63b87e2L, 0x8867da035c759fL,
2638
          0xb6f1eff9746d4cL, 0x8a8172d990be0aL, 0x1113eee5c407b4L,
2639
          0xd80dacf378ed8aL, 0x99b57cf3fa7fd1L },
2640
        { 0xf5bb6d95176405L, 0x6b8963a92e83b5L, 0xac55b6b8a7ef8dL,
2641
          0xe73fa126c1fbf0L, 0xdb3756060148dfL, 0x72f1a98f3f1fbaL,
2642
          0x1f71d0aea550f2L, 0xc3ea4f09544a87L }
2643
    },
2644
    {
2645
        { 0x5b09da24322bf3L, 0x2a573d561264e1L, 0x93cb2e1803acc4L,
2646
          0x397b4fbe502fc6L, 0xddfb21239e0ebcL, 0xeccd8f5bbcbc57L,
2647
          0x49d3bed4663788L, 0x37192aa1218df9L },
2648
        { 0x8a05bc92ffa3c6L, 0xc38c28123ebf4dL, 0xc80d547fe343a8L,
2649
          0xa8d5a5b6c63516L, 0xc5d8ce18d8fa6bL, 0xeb5e87224a87c0L,
2650
          0x9806e9e75bfa23L, 0x11f0889689469aL }
2651
    },
2652
    {
2653
        { 0x81005f68e75666L, 0xb84d861d349505L, 0xe0832829f321eaL,
2654
          0xb751d7acfa33a1L, 0x793cf6f067c550L, 0x073a6b21027e56L,
2655
          0x53f40ee66a6012L, 0x70bfaa8c210fa9L },
2656
        { 0x1518e39e4b5998L, 0x8f0b53024b8d9cL, 0xd91c281afdf923L,
2657
          0xc5cfb2824e3f69L, 0x63a529a870871fL, 0x3d3e8872128dadL,
2658
          0xed658dccb30cceL, 0xf9373b9afb7baeL }
2659
    },
2660
    {
2661
        { 0x22d4dbede58ed2L, 0x4fefc1d03f8789L, 0x6b0a1fe344817fL,
2662
          0x96bef40a56b0b2L, 0x32684eeda249faL, 0x8298864524a91bL,
2663
          0xa958baf0c736a1L, 0xd033a7def2f3e5L },
2664
        { 0x5be3edc43f4d6aL, 0x326a39d9c89abbL, 0x90c44f755d997aL,
2665
          0x20581066e966c2L, 0xdbae4906548038L, 0xac7bc97d473fc1L,
2666
          0xb34488b4b2603aL, 0x27aea275e9bb98L }
2667
    },
2668
    {
2669
        { 0xa59e7281b88773L, 0xe2f05d40c241f6L, 0xa56229e4e75749L,
2670
          0x8f00c0b1b10705L, 0x855994619394d3L, 0x0d7e352aaf5e32L,
2671
          0x526c462787b8eaL, 0x89297d9a179d48L },
2672
        { 0xeff17e6ef43892L, 0x17091eb221f841L, 0x82f5eb34a4b848L,
2673
          0x6bea4778eb7b76L, 0x21f227176c536cL, 0xd9ef2c896c81bbL,
2674
          0x7c2754654bf4d3L, 0x9dd4662d7c28c8L }
2675
    },
2676
    {
2677
        { 0xe7fff0020e1a6bL, 0x26a35c6a08d467L, 0xb3c773d3248c91L,
2678
          0xa646615ba7d935L, 0xa91f453b0d26faL, 0xdcf9c3460c6d32L,
2679
          0x63668619e3e3dcL, 0x3012813f30f3e2L },
2680
        { 0xac6623dc2fc61aL, 0x108dc252bfd2ffL, 0xd7f5c0d231d6eaL,
2681
          0xa904f9aad1107eL, 0x46941c20d1e9c8L, 0xe5b6451c810cf2L,
2682
          0xaba8e674f511d1L, 0x5b4b94f08373feL }
2683
    },
2684
    {
2685
        { 0x002d4e2849c230L, 0x9bed0efd8ba391L, 0x745e0c0828e319L,
2686
          0xcd40907ca58de2L, 0x2c87ab11abaa4aL, 0x3c17a97db64391L,
2687
          0x36b184e86c72d2L, 0xb03d202485f7aaL },
2688
        { 0x2b6b79bde24abaL, 0xdcb78542325fb2L, 0xf5d1db966ebae2L,
2689
          0x35a4d5b903840aL, 0x7afeb09190e9daL, 0x1818f6a35c1792L,
2690
          0x90091fa3faa269L, 0xc4ccff62570235L }
2691
    },
2692
},
2693
{
2694
    {
2695
        { 0xa177619ec85940L, 0xfca24db7ef7eeeL, 0xb2450f37a90c11L,
2696
          0x29d256ddbf4f85L, 0x920c8d051316c3L, 0x2f7f7ba04474daL,
2697
          0x308117f2ec9a0bL, 0xd0a231ad0d2085L },
2698
        { 0xf3288fc7ab641dL, 0xc68bade9f4fa32L, 0x768f014bbf8253L,
2699
          0x5eff260c0a33f0L, 0xc71b4536bb93ceL, 0xa71d045680697fL,
2700
          0xb62444cce72bc3L, 0x11f03e8d1379f3L }
2701
    },
2702
    {
2703
        { 0x1f54789c16df92L, 0x874c642e3ed142L, 0x6699f60fa2a9f1L,
2704
          0xbd1b8d33fecfc1L, 0x59682d58a3d953L, 0xf17c0214a36b81L,
2705
          0xeb9621d181a666L, 0x7c2c3ab3cf1ad8L },
2706
        { 0xe6888c3e529f7cL, 0x197b66ab355315L, 0x63b558a83e31acL,
2707
          0x4aa7bc5891c68eL, 0xc17d989592e360L, 0xc750a291363666L,
2708
          0x0d534704909ac0L, 0xd6d02724594a10L }
2709
    },
2710
    {
2711
        { 0x35c541b3fbb635L, 0x50016d05982afaL, 0x58ebce496b0ca0L,
2712
          0xb940027577ea56L, 0xf29d305e38480fL, 0x43705b0ebd6a2cL,
2713
          0x0e4acdae90c639L, 0xbe94a29f56e05eL },
2714
        { 0xc61f4a030659adL, 0x39074adc402211L, 0xfe0d8d551b621dL,
2715
          0x2d02e8dd1d5222L, 0x05ece3c46c2683L, 0xf70705ac689d41L,
2716
          0xe3caf444d837bfL, 0xfda058475ba6d0L }
2717
    },
2718
    {
2719
        { 0x1098163cb7d458L, 0x12b645ff5ba834L, 0x70a318128af72cL,
2720
          0x5f4727ef32e5ddL, 0x7cbae1510a21b4L, 0xa80bf806785389L,
2721
          0x9827402b8f93b7L, 0xe385f8208349daL },
2722
        { 0x2d054619589f6eL, 0x6aa5b26e7c0191L, 0xe79ae12bd5574dL,
2723
          0x5d13f914148e61L, 0x7b2be0f13716ffL, 0x82b0fe680bb81fL,
2724
          0x697633c3e2569cL, 0x6c1f083873f8b3L }
2725
    },
2726
    {
2727
        { 0x6e26d850be1674L, 0xe4e47f6ab8044fL, 0xfdf46e882fc434L,
2728
          0x639ae2cc89cadcL, 0x2244a524b85bdcL, 0xb1e4790b7cf4eaL,
2729
          0x51dce037e0bb8fL, 0xdd143352716ceeL },
2730
        { 0x1c049b48e8841dL, 0x6bf26dcb97c621L, 0x21d6255ba01178L,
2731
          0x477258a8e4f0e4L, 0xf5e437e68f8ef1L, 0xd118fbc8b03e1eL,
2732
          0x3d6bc51e1c91b3L, 0xa259486d5b6907L }
2733
    },
2734
    {
2735
        { 0x4159cfc7b6f5dcL, 0x05a52b3493694aL, 0xeeb511c83b8883L,
2736
          0x19d79e42b06400L, 0x8e503a2738f37eL, 0xa30e5795a94ad9L,
2737
          0x3981c75262618dL, 0x06b6c692dcba19L },
2738
        { 0xd7242ee4d1b051L, 0x6274ccb3b350c4L, 0x66df0bbf540019L,
2739
          0x4d66be65ae12d5L, 0xcea29601049cbaL, 0x40473398df84b3L,
2740
          0x7d6c96b75a31c8L, 0xbb80159874174cL }
2741
    },
2742
    {
2743
        { 0xf0f7be059f1aa4L, 0x798f39adcff451L, 0x96763ff8014e1eL,
2744
          0x03987a809cc5ecL, 0x4919656893650aL, 0x92e8eef75e24dfL,
2745
          0x54e97cde89d639L, 0x8081d067682cc0L },
2746
        { 0xb9ef41aa8ceb71L, 0xb8173a4a4d7aaaL, 0x93d81b1c54ee10L,
2747
          0xabe180570a445aL, 0xac0ff9764d569dL, 0x86946b23e570beL,
2748
          0x8e11dd24180641L, 0x3d0b33c99f67dcL }
2749
    },
2750
    {
2751
        { 0x2c9637e48bf5a4L, 0x9fdec19ccaf112L, 0xe5cde9d5c42023L,
2752
          0x9869620878f0ccL, 0xcf970a21fe6ebaL, 0x1df5ec854e678bL,
2753
          0x4667f0128d00ddL, 0xfa7260db0b3fa8L },
2754
        { 0x6bd2895b34239bL, 0x04c8bc52d2a50dL, 0x14e55ef6cb23e2L,
2755
          0x6440c273a278d5L, 0xf4b12e32193046L, 0x46adf645dd4c08L,
2756
          0x70e29984656e8cL, 0xe7b36eae4acd44L }
2757
    },
2758
},
2759
{
2760
    {
2761
        { 0xea64a5716cf664L, 0x8497ee426fd357L, 0x44d94b4814e851L,
2762
          0xf4aac225a6a2cfL, 0x947b30980c301fL, 0xf390ba17865383L,
2763
          0x16c4fc6d1773d3L, 0x61b98146227220L },
2764
        { 0x07dd03a1dd0270L, 0x290ca820f160dfL, 0x8f2205444ba955L,
2765
          0x4e85e450b6f1b3L, 0xfd73ce9ad78089L, 0x67c12702f2cb0eL,
2766
          0xa7de0d7ee33a61L, 0x6a811cc6553261L }
2767
    },
2768
    {
2769
        { 0x5ef05742d0a427L, 0xe8d2e95220a341L, 0xdd28cbf8044886L,
2770
          0xdad7b4ba1aa58bL, 0xb28f3738ec901bL, 0x1841a935bbe3dbL,
2771
          0x8fd7cd1a075feeL, 0x93b603fc0d3cddL },
2772
        { 0xca54fd55edd859L, 0xa4cb05f64ed687L, 0x3138668ed1a3d7L,
2773
          0x1224fdaee32be5L, 0xf1f532bc80aeb3L, 0xa4f65d0e8d4d69L,
2774
          0xc697a015905fe5L, 0x514da7a6690ce4L }
2775
    },
2776
    {
2777
        { 0xc7b9af83de4a55L, 0xc79bad7b318d93L, 0x1808071f5b1c83L,
2778
          0x92112efb965b16L, 0x655ab387bb740aL, 0x53dbc8b384ff87L,
2779
          0xd153c2872dc6f2L, 0x2ec20e199c7819L },
2780
        { 0x65e46ea3b854b5L, 0x272d5aec711db5L, 0xfd1bb5326e19e8L,
2781
          0x33280b83dc0665L, 0x95b986eb8f1c4aL, 0xa671fc4a685c4aL,
2782
          0xa03cbd583bdbbfL, 0xd329402ab77544L }
2783
    },
2784
    {
2785
        { 0x40fa6518e62b35L, 0x3913b11f9e55a6L, 0x4e8089b5270a41L,
2786
          0x565f52a80d1886L, 0x93b5f05512749bL, 0x35c869c141c547L,
2787
          0x9a44a1af86717fL, 0x2b9984b9c2b2cbL },
2788
        { 0x61fb6074952322L, 0x2d4072f7af1464L, 0x9b2fa8c600eb30L,
2789
          0x6071fb7f10668eL, 0x27cc24d90634caL, 0x3875bc2471d32bL,
2790
          0x678590ba11210cL, 0x352b447fcc5a9aL }
2791
    },
2792
    {
2793
        { 0x795d5415fa3200L, 0xadaa557a92949fL, 0x42fff063cc88c4L,
2794
          0x26d683171b68a5L, 0x3286549e67ad8cL, 0x5bf636386396b2L,
2795
          0x41229b6e12c8eaL, 0x05320c9748952eL },
2796
        { 0xae36b63900b460L, 0x9354ff2f2b6affL, 0x10b810b065ee0cL,
2797
          0x4d6925fcc8bb38L, 0x31c03fd7a22f14L, 0x76b7f4457544e8L,
2798
          0x3a9123cc0eed26L, 0x77acd67e0cd1ccL }
2799
    },
2800
    {
2801
        { 0x2e9053007ec527L, 0x32388ef62937cfL, 0xa445389e229188L,
2802
          0xa44b68e33bcebeL, 0x5a8722e4c4e701L, 0xfd066e8cf07e41L,
2803
          0xa3c1a4f95fab62L, 0xb4d6a1be542f24L },
2804
        { 0xe6a92e4af6c9b5L, 0x9452484c83d61dL, 0x422b55b0062276L,
2805
          0x261973a5279688L, 0xde8be263999fb2L, 0x64e96287b029caL,
2806
          0xd8edfaa06897d4L, 0x408319c6955511L }
2807
    },
2808
    {
2809
        { 0xff6baed50a5632L, 0x922b7d05c5885aL, 0xdf0f3b31b45864L,
2810
          0x27e49c0c04340eL, 0x618c566122c447L, 0x7863a38eafee7eL,
2811
          0x7143affb828cb0L, 0x51fcf4cf9d054eL },
2812
        { 0xc4a4b3127f5e09L, 0x021f47a90be2bdL, 0x1a060197ab956dL,
2813
          0xe77fa1586ea86bL, 0x9ccde87d550ef3L, 0x7dee53a6532654L,
2814
          0x8b4f060e826387L, 0xda38637ad077b5L }
2815
    },
2816
    {
2817
        { 0xbc901b30e9fac8L, 0xfa082046fb2a2aL, 0x92f68ab5e04efcL,
2818
          0x184a30a9ac12d0L, 0x1aa11aab25d479L, 0x8bc5f4c0f03161L,
2819
          0x7e3a083cfc8817L, 0x84d9355597f93fL },
2820
        { 0xc014478239abc6L, 0xb226b098d37b04L, 0xb056942f575789L,
2821
          0x816b95aba745ebL, 0x2a49d39b98ddb6L, 0xc41ca26291af81L,
2822
          0xb3afe99ab26347L, 0x59c31bc604b638L }
2823
    },
2824
},
2825
{
2826
    {
2827
        { 0xa16a8b9c42befdL, 0x731c9c92052f00L, 0x1ad49b41f5dfa0L,
2828
          0x7a289e3bffce36L, 0x868fac00c79cf1L, 0x6d6d28486721abL,
2829
          0x590f928e726c94L, 0x0e802cb51f3841L },
2830
        { 0x6a6a57a0b694bcL, 0xb9bb0cd8120fb8L, 0xad96ac79c05826L,
2831
          0x294da8c7768df0L, 0xfe32311b56c6c6L, 0x291c2c6ae8d050L,
2832
          0x1c765e7e7db4c9L, 0xe058298d65f9f7L }
2833
    },
2834
    {
2835
        { 0x4bfa85b7e8d345L, 0xa04ef95de1dfc8L, 0xb5f7f21324ace3L,
2836
          0x4b350a1574b14aL, 0x11436bff8e5c8dL, 0x1c789f97642369L,
2837
          0xeb5e335fb623ceL, 0x9deacd2442d562L },
2838
        { 0x4ff989f531ee71L, 0x43e2c49aacb52aL, 0xa76319885bfadcL,
2839
          0x08b6d5cd0161a0L, 0x010e3fa541f197L, 0x83a589e3279a16L,
2840
          0xf0991376309f9bL, 0x07c093bf1cea10L }
2841
    },
2842
    {
2843
        { 0x1ce3f0f33d2192L, 0x07b559ac37ce73L, 0xaa2ad38207be27L,
2844
          0x84f053b7ed93deL, 0xbc5c7973b98a4bL, 0xc92346163aa9b9L,
2845
          0x807cc16231a10cL, 0x8ffdf57a061209L },
2846
        { 0xa9ca741497070fL, 0xf608ec9d113b3aL, 0x51327268d0384dL,
2847
          0x96686acf5ec307L, 0x437bbbd71c4665L, 0xdef09d57c379caL,
2848
          0xf8be033621747cL, 0x2775b378ae8047L }
2849
    },
2850
    {
2851
        { 0x4009798b2c4fc2L, 0x148d7d1203772eL, 0x9d9392df8423fbL,
2852
          0xa5bd72eaf8cef4L, 0x579d58d4380b53L, 0x2ff88f18c39d24L,
2853
          0x9ca2fbc5706466L, 0xb42987d1e56af2L },
2854
        { 0xcc2556e5d94ea8L, 0x4e5c2b35369d76L, 0x5de35742a94f9cL,
2855
          0x8d068c95cb4145L, 0x4d553ff51bfcbfL, 0x3ab71648a23fceL,
2856
          0xc9cb3a9d0fa7f3L, 0xf81209bed9ced1L }
2857
    },
2858
    {
2859
        { 0xde7356ee5b66f5L, 0x7b2bf1ae8a25e0L, 0x09a444a2c9b725L,
2860
          0xfd8a2f44906c55L, 0x409cc8082514f3L, 0x47e009928999a9L,
2861
          0x0a582a66a312f4L, 0xf7946f8f6723deL },
2862
        { 0xa55f6ba92d8affL, 0xb62c3c8a544b1cL, 0xa1d14115c16a94L,
2863
          0xc3783192ad5e71L, 0x13d784706b1dd6L, 0x99005f8ee7ff55L,
2864
          0xfb5ea3f8a1e7d8L, 0xdc7f53cb4cac39L }
2865
    },
2866
    {
2867
        { 0x482abaf36e3794L, 0xc23e9e5c74684fL, 0x4544cf6f1629beL,
2868
          0xd8a8ee52f40374L, 0x2eea87ff433bdbL, 0x489a99cae9990eL,
2869
          0xefc131e54b23b6L, 0x25fe6998600270L },
2870
        { 0x03d2d9ec059a7eL, 0xa6445b56979c3cL, 0x491a10c9bfbceaL,
2871
          0x15b5974e937af1L, 0x4be8002797c7fcL, 0xbed8a49fedcfeeL,
2872
          0x35751cea9e0691L, 0xe9a9fa39ef5982L }
2873
    },
2874
    {
2875
        { 0xeffeaca3065de7L, 0x841d544ac4d4e2L, 0x8144679caf199fL,
2876
          0x98cf4f9443967aL, 0x8cd57f4f33183cL, 0x390832ac1b15ebL,
2877
          0xc4b1feaa53b500L, 0xd762a10dff24b5L },
2878
        { 0xccd3eedb0ee2a9L, 0xa6dd4a9362d485L, 0xeb4ff26f1d047aL,
2879
          0xc0771fd23860fcL, 0xdbb4e394b64114L, 0x2ff3f244d29b29L,
2880
          0x9cac005387b365L, 0x05b7aa6de5994aL }
2881
    },
2882
    {
2883
        { 0x5e71752c03dd63L, 0xad10fe9bc74687L, 0x51a5b0c54c76abL,
2884
          0x763fd501f586d4L, 0xc7bd5ce816048bL, 0x8fc83d23f744dcL,
2885
          0x0561802109df9aL, 0x18fb01fccf0e43L },
2886
        { 0xe4606fc038ab23L, 0x5878f1fa664c98L, 0x3aedbbd5da7356L,
2887
          0x3c578f5516746aL, 0x259477f1a17210L, 0xc7a869d028248fL,
2888
          0x6517a6148cbf95L, 0xbc5f91d3d04d47L }
2889
    },
2890
},
2891
{
2892
    {
2893
        { 0x15fd9a9083ca53L, 0x1161da02697ca6L, 0xf516af356b676cL,
2894
          0x8a420d575eec13L, 0x72d67421a9526bL, 0x8d8c29e76b463fL,
2895
          0x38a4f588815627L, 0xf7e528be0650f9L },
2896
        { 0x2cfa78e382edcaL, 0x638d183c4ad83cL, 0x96d3b9de4a0119L,
2897
          0x5769ccba7c1101L, 0xc3b3b792b8d04aL, 0x96212f64951bdeL,
2898
          0xad7905a481161eL, 0x8fd676241c5edfL }
2899
    },
2900
    {
2901
        { 0xf7b063539d6cdeL, 0x69d0549115a84aL, 0x4a976c6cbd9fe4L,
2902
          0xc92953f950ff96L, 0x1d7f0fe654d127L, 0x7293870da0f75dL,
2903
          0x7bb3652cf2277fL, 0x64798c9834484fL },
2904
        { 0xb94d8bfac3a76cL, 0xf5721a97ff776bL, 0x23a6e9f2722e31L,
2905
          0xe9da9969a5c034L, 0xb9bbf83456ebc3L, 0x239f58a96956a4L,
2906
          0x8b75beb18b7f00L, 0x6c2b5b8a51cb97L }
2907
    },
2908
    {
2909
        { 0x78b1c627eb41f3L, 0x0638fcf17c4352L, 0x939edd80c5709cL,
2910
          0x0a8dfc3edc906cL, 0x3942f47efb01edL, 0x4c8275749986feL,
2911
          0x792545c4dffa57L, 0xeee68836c3ff26L },
2912
        { 0x824d08e12b1218L, 0x515a478902457fL, 0xc70cc9cbae55b3L,
2913
          0x1240737bcef9d4L, 0xf22e6162f9db7fL, 0x98c4f0291f8da2L,
2914
          0xa89219cafaaa67L, 0xf35fd87e7d27e2L }
2915
    },
2916
    {
2917
        { 0x19b0cd701b80d0L, 0x3d7e29df9aebd1L, 0xd39c9ca0477cbcL,
2918
          0xac0f6155ff0d3dL, 0x8a51993520fd01L, 0x508ff54b22d6fbL,
2919
          0x8786c47318d3abL, 0x4312c464a683f8L },
2920
        { 0x73b1d3995359f6L, 0x0d94fa5963011eL, 0x5723af29bfe83eL,
2921
          0xafa90016841df3L, 0x791e92ab7c498aL, 0xbc931ad7ea4253L,
2922
          0x438e016b783c06L, 0x1347db22ca662bL }
2923
    },
2924
    {
2925
        { 0x41df37dfbaa861L, 0x98ecb23329e4deL, 0xdaf1560507e018L,
2926
          0xa902269b088e32L, 0xad898a5e4cab2fL, 0xd84e9ed02c1e1bL,
2927
          0xc20a5d58488af3L, 0xc7165af6cc77c6L },
2928
        { 0x8526f3adeb7461L, 0x03577b14a2d332L, 0x28e469de4760b5L,
2929
          0x442c7f9b276266L, 0x90d5c77f9c90faL, 0x7aa87163e211bdL,
2930
          0x56d8ff05decfd6L, 0xa204b56ee23e6eL }
2931
    },
2932
    {
2933
        { 0x2e4374e4aceafcL, 0x978743b6fcd5e5L, 0xa0f6345c4855caL,
2934
          0x9bc7e4fe98074bL, 0x3835d57c33d08aL, 0xeec7c8b6f00566L,
2935
          0x71628a21acf55cL, 0x5da375097fb19eL },
2936
        { 0x6904a8e01a7125L, 0xad33c85e6e3780L, 0x1702928c19f94aL,
2937
          0xb424ff27c04b3dL, 0xb212e3919e2ba3L, 0x4cca8e8c9af4c9L,
2938
          0x98ab7aefd9bf0eL, 0x21d245d9799db5L }
2939
    },
2940
    {
2941
        { 0x6b034dcec08806L, 0xfd763f2b40f2d9L, 0x5e16de029cb906L,
2942
          0x02b70148a0e16aL, 0x463c8eee071e12L, 0x644728125ad509L,
2943
          0x9ee6f2ddc0e07aL, 0x188895c68d4d97L },
2944
        { 0x092fff3b27f971L, 0xb3c159fc9b7722L, 0xe27d8ff3cae42dL,
2945
          0xf8a5ed6e87071dL, 0x318388f607ebd2L, 0x924967b53486f1L,
2946
          0x77304947c46e1fL, 0xf279c60f21d196L }
2947
    },
2948
    {
2949
        { 0xef2bc0384f3201L, 0xf8750c71f94c51L, 0xbaa4f5a986ec65L,
2950
          0x6f8a5de2732a33L, 0x0f13d80299e365L, 0x2709530e85261fL,
2951
          0x097d922f527d56L, 0x4969687be1f3f8L },
2952
        { 0x9f3f5043e1708dL, 0xac67b874aa4be4L, 0x75fb042320a87eL,
2953
          0xa361ad36e2cad6L, 0xcb01470203e9f6L, 0xe3807b7c9b76c6L,
2954
          0xf086833b907c09L, 0xe9bed3c7e85a01L }
2955
    },
2956
},
2957
{
2958
    {
2959
        { 0xa7ea98991780c7L, 0x04e4eccd2476b6L, 0x0af9f58c494b68L,
2960
          0xe0f269fdee64fdL, 0x85a61f6021bd26L, 0xc265c35b5d284bL,
2961
          0x58755ea3775afdL, 0x617f1742ecf2c6L },
2962
        { 0x50109e25ec556aL, 0x235366bfd57e39L, 0x7b3c97644b6b2eL,
2963
          0xf7f9e82b2b7b9cL, 0xb6196ab0ec6409L, 0x88f1d160a20d9eL,
2964
          0xe3be3b4586f761L, 0x9983c26e26395dL }
2965
    },
2966
    {
2967
        { 0x1d7605c6909ee2L, 0xfc4d970995ec8aL, 0x2d82e9dcf2b361L,
2968
          0x07f0ef61225f55L, 0xa240c13aee9c55L, 0xd449d1e5627b54L,
2969
          0x07164a73a44575L, 0x61a15fdbd4bd71L },
2970
        { 0x30696b9d3a9fe4L, 0x68308c77e7e326L, 0x3ac222bce0b8c8L,
2971
          0x83ee319304db8eL, 0xeca503b5e5db0bL, 0x78a8dceb1c6539L,
2972
          0x4a8b05e2d256bcL, 0xa1c3cb8bd9fd57L }
2973
    },
2974
    {
2975
        { 0x5685531d95aa96L, 0xc6f11746bd51ffL, 0xb38308ac9c2343L,
2976
          0x52ee64a2921841L, 0x60809c478f3b01L, 0xe297a99ae403acL,
2977
          0x7edc18fcb09a5bL, 0x4808bcb81ac92aL },
2978
        { 0x3ec1bb234dc89aL, 0x1e8b42e4e39da5L, 0xde67d5ee526486L,
2979
          0x237654876f0684L, 0x0a583bd285a3ddL, 0x3d8b87dfe9b009L,
2980
          0x45bd7360413979L, 0xb5d5f9038a727fL }
2981
    },
2982
    {
2983
        { 0x7b8820f4bde3eeL, 0xea712ef24d5170L, 0x517f88cdf6ec7bL,
2984
          0xb15cecf983ea9aL, 0x9eeee4431a4592L, 0x786c784ebb013eL,
2985
          0x2f06cb31f4e15dL, 0x5603fd84f4fda1L },
2986
        { 0xf6790e99e1321fL, 0x274c66a74a4c09L, 0xa4b70b49a41a4eL,
2987
          0x7700bddada5157L, 0xe54a60d51be8dcL, 0xfaf92761a477e0L,
2988
          0x6661c72b027eacL, 0x50e2340280b917L }
2989
    },
2990
    {
2991
        { 0x635f40f96ec123L, 0x4a331337a766a4L, 0x9ce4416b935587L,
2992
          0xbb6e1f595d97e4L, 0x26147239d4197dL, 0xabd4478490e896L,
2993
          0xf6a1b2a8bba895L, 0x401fa405e27a45L },
2994
        { 0x7354ba50620900L, 0xc443a29385678bL, 0x48aba1053cf5faL,
2995
          0xd67e723bbe152dL, 0x4b858e02a63d68L, 0x174e1ee72be4eeL,
2996
          0xad0fbb39ab8d46L, 0xa0fdffbce17dd7L }
2997
    },
2998
    {
2999
        { 0xa1ea3259c46fd8L, 0xeca122e9fb96efL, 0xf9074a26767acdL,
3000
          0x9b004a22787082L, 0x389f8077f3ba8eL, 0x6463de90d5aabeL,
3001
          0xf30ceaab090585L, 0x71b31e85634ab8L },
3002
        { 0x0dee65caf02aedL, 0x506886e20ac252L, 0x0665f7886b8a59L,
3003
          0xb9b784df2bb328L, 0x46e443adc6b089L, 0x3d5de1966c27fdL,
3004
          0x0419265f0fde70L, 0xed946122b5c034L }
3005
    },
3006
    {
3007
        { 0x5a52ad213b0056L, 0x9fbeb92b909ee3L, 0xb42ba18bdaab08L,
3008
          0xec127c4ffc8a77L, 0xc6d2985fda906aL, 0x5355547994bbe7L,
3009
          0xa7470c09cdfd62L, 0x31a3971d2e675aL },
3010
        { 0x8d8311ccc8b356L, 0xabb0bf801b4372L, 0x33c1cad0294566L,
3011
          0xe2e649ce07b672L, 0x9084d882ae3284L, 0x7a90d4c1835ce2L,
3012
          0xb4d1cd5809d44cL, 0x78227149f0528fL }
3013
    },
3014
    {
3015
        { 0xca884cfbf5844bL, 0x9dd05c48524cf9L, 0xdbffa1936ba889L,
3016
          0xef94fdd29e7666L, 0x358f81b3eaf48fL, 0x96734d51530d56L,
3017
          0x378b2d14adf9e5L, 0x2f850464731f61L },
3018
        { 0xd6ae90599dcb83L, 0xa4f89e06199239L, 0x64052498f0f958L,
3019
          0x2866d99cc27707L, 0x64681a2f551c0fL, 0x2c7b0d04c37080L,
3020
          0x218925b00ac301L, 0x8d57fb354df895L }
3021
    },
3022
},
3023
{
3024
    {
3025
        { 0xdaebde0809c8d7L, 0x58c761c0e95ea1L, 0xbd9965000ae5e2L,
3026
          0x6117a85cd51acdL, 0xc4424d87c55d56L, 0xe9b1ddedfbeeafL,
3027
          0xda98bb50db4791L, 0xff3a5a63fca108L },
3028
        { 0x172fb8e5ccbea1L, 0x9fe12a7a9f6cc9L, 0x1de4b0b8967ce2L,
3029
          0xc1ab60f671dbc6L, 0x338385a5dedcdaL, 0x647a4203a043feL,
3030
          0xe9abc6428ebc89L, 0xc357ff003ba3c8L }
3031
    },
3032
    {
3033
        { 0x37061e7de39ebdL, 0xebb91352be567aL, 0xa9a6f6bd6bb80aL,
3034
          0x039345d99f0ba2L, 0x215494e98bbf47L, 0xf2cb7a4a2a1ccbL,
3035
          0xf51aa1037f67c9L, 0xd29c85c17fff71L },
3036
        { 0x8d4e4f24d30b87L, 0x20fdf5593a8309L, 0x9b9f9cf757075cL,
3037
          0x09142adcd70101L, 0x901d0ee766ca55L, 0x6a5d86a32e418bL,
3038
          0x550ad92d7fcaecL, 0x64e8818d91b26eL }
3039
    },
3040
    {
3041
        { 0x5cea0f747e5ee5L, 0x8ca1d31be99699L, 0x52db8465c136c7L,
3042
          0x8cecb3890e0d74L, 0xb8efe9dede2ad8L, 0x18d6ff8f17ade8L,
3043
          0xd2227352d66c20L, 0xc46593ef2005fdL },
3044
        { 0xe5ebe6ff7141e1L, 0xc968315e0126f2L, 0x95adc731cb91b6L,
3045
          0x753b54c38a6003L, 0xa6141254230a61L, 0x23ac6eb559feceL,
3046
          0x9816b603865c23L, 0x567014e543a570L }
3047
    },
3048
    {
3049
        { 0xd46091ddd2b71fL, 0x3999a5d97d24ffL, 0xce2a4f11ecff3cL,
3050
          0xab2687c581c6f0L, 0xa9fb2ebcba70b4L, 0x6fde35642093e1L,
3051
          0x00253ecaee724aL, 0xa08ce3c2b81bddL },
3052
        { 0xa251238935a2b3L, 0x8cae1d4584f750L, 0x011469e988a219L,
3053
          0x61f7ed35a6a50eL, 0xe13ebaa01fcebdL, 0x794b97631d8867L,
3054
          0xf25755ccda32e7L, 0x368a97b4564cd1L }
3055
    },
3056
    {
3057
        { 0x0d22224aa3397bL, 0x1dbb3e638066dbL, 0xfe0b5ee0ce8e32L,
3058
          0x09c17c87bab4dcL, 0x5cc65ddf188b64L, 0x74c4abf211b5faL,
3059
          0xdcc17b7ab0ba86L, 0xfbdf46fa535501L },
3060
        { 0x4775087aca569eL, 0x6575f9006a1718L, 0xb5c45a9b94de93L,
3061
          0x0fc80068497171L, 0x775d965489f7abL, 0x8775b58f5c0c89L,
3062
          0x05d4e201a06254L, 0x8cab349b6d73a5L }
3063
    },
3064
    {
3065
        { 0xca7816339465b0L, 0x3ef914814498fdL, 0x9ca1f346255c11L,
3066
          0x389fd15b7f38f1L, 0xdac2089354b8f3L, 0x82d07fca840a70L,
3067
          0xf53fd731dd483aL, 0xa6e4eae1590578L },
3068
        { 0x7bf65af3c01b77L, 0x27542f3a75c982L, 0xc5bd947716cfceL,
3069
          0xba5fe76884b9e7L, 0x39bae14d55725dL, 0x982f64efae0eabL,
3070
          0xcfae6627a5293aL, 0x22a25a1d60f464L }
3071
    },
3072
    {
3073
        { 0x74caecc7dd5e16L, 0x23678a2ce7bca3L, 0x467393257f1ba1L,
3074
          0x4eb9948a4c1697L, 0x5d400e8eaba18dL, 0x128d1c89807871L,
3075
          0x78f9627bff38a6L, 0xf80b813a39d4ccL },
3076
        { 0x8aeefa031d3aadL, 0x504219927db664L, 0x244fc694cb6383L,
3077
          0x319047772192a3L, 0xcc86075bbfb57bL, 0xbae3a134451511L,
3078
          0x16cf416f6174f0L, 0xb343cc0d376813L }
3079
    },
3080
    {
3081
        { 0x31ac9b9d1824b7L, 0x6282260ec8f61aL, 0xbbeb9f8c781765L,
3082
          0x06ab5c02d110daL, 0xd583e2247146b8L, 0x79a16084100d05L,
3083
          0x16dbbb4f0a5c95L, 0xfe2af1de331667L },
3084
        { 0x26f0364af8710eL, 0x1cb8c91eec08feL, 0x436bce61d95e9fL,
3085
          0xfe9050c57944a0L, 0x5f45acf07b626bL, 0x48dc93f9cf1276L,
3086
          0x4491371a05bfb7L, 0x51063044bcf785L }
3087
    },
3088
},
3089
{
3090
    {
3091
        { 0xac2e294ed0b3b6L, 0x5c5ade6671637bL, 0x2f289ce1140677L,
3092
          0xaf446e2754eb53L, 0x70911b720421adL, 0x4b73836e0b7556L,
3093
          0xcadf1042a97827L, 0x4824e498005bc6L },
3094
        { 0xb0eeccd937c28aL, 0x1ce061d0c3ee97L, 0xcb076319f33faaL,
3095
          0x9980bf4aea66dcL, 0x2bd0755d111d98L, 0x43feaf67fe4de0L,
3096
          0xe76fb80b077b2fL, 0x227dc9f5793b04L }
3097
    },
3098
    {
3099
        { 0xea24ae514f49baL, 0xbc39ea611436e7L, 0x9d7fed278485d8L,
3100
          0xb6ef00cdf8b131L, 0x0237b4bfdbc7afL, 0x08745b564ccd27L,
3101
          0xaf8595dafc5a76L, 0x43657af29f5500L },
3102
        { 0x300718348470f8L, 0x51f91fd640fd53L, 0x859c807be15512L,
3103
          0x7d1a474ab3e9c5L, 0x5d714d981553e5L, 0x07573436f62310L,
3104
          0xedc5be06b02a62L, 0x5a4b9b7ea47832L }
3105
    },
3106
    {
3107
        { 0x03e0a24e93dbb3L, 0x25841dccadc884L, 0xabc1a818d10ad5L,
3108
          0x207e38a2042dddL, 0x7fffbdbfeba8d8L, 0x74efebba3ec9b5L,
3109
          0x0bc39ca0b40a9fL, 0x69ee9c90267febL },
3110
        { 0xd402facbc62919L, 0xe9f8fc11cf53c6L, 0xe76fa5a7cc7d81L,
3111
          0x4f2d87696bb19dL, 0xd4fb7f9adc67c7L, 0x40621d596702dcL,
3112
          0x5b6a98e438f6c5L, 0xa7c64def1a1036L }
3113
    },
3114
    {
3115
        { 0x84c5e809a092c7L, 0x9e40e0a11c22b7L, 0x820a091d06c99bL,
3116
          0x45fdc77eecca8fL, 0xfe1b8a35794f16L, 0x31f7e5b4ce3d6dL,
3117
          0xfd5e01082c74c8L, 0xfdabf30c1f6f7dL },
3118
        { 0xbfa6017b9248a0L, 0xe898d30546b941L, 0x878c492207ff65L,
3119
          0xbf22e8db874e64L, 0x43fdb1b53a547eL, 0xb66deda5fbd464L,
3120
          0x59127a6c7ae1b5L, 0xa4636466a7515aL }
3121
    },
3122
    {
3123
        { 0x22c4e66de9ab2eL, 0xfaf60c20203c58L, 0xed2d7bf0d5c5edL,
3124
          0xdbc16fe4ca0f19L, 0x54e8ef6465b979L, 0xe2d64b1a310ef9L,
3125
          0xa0f2c953778636L, 0xf3b4aa4281883bL },
3126
        { 0x4ac9af09be6629L, 0xba455e11ca90c5L, 0x0147538856f492L,
3127
          0xc80db7eabd7840L, 0xb3526d96beb9cdL, 0x37657fb9d81503L,
3128
          0x8729a16193cec3L, 0xd9a93fbd69952aL }
3129
    },
3130
    {
3131
        { 0xfce017594f47c6L, 0x228da21e366d05L, 0x27ce0b2dc8baf3L,
3132
          0x8cc660b6b4a951L, 0xf678947384bb01L, 0xc629d7d44d980cL,
3133
          0x47980e4e85e81fL, 0xa2e636a1cd723eL },
3134
        { 0x6b6ebae77fb207L, 0x70179614c92891L, 0x5569541b4d279cL,
3135
          0xbb6b36a41758cbL, 0xecaa22227a8e30L, 0x8b6746ab470ad9L,
3136
          0x4c4601763e2d3dL, 0xe19c4edd3edaecL }
3137
    },
3138
    {
3139
        { 0x0b43fec34718c8L, 0x553c407f33499fL, 0x8272efb970d1dbL,
3140
          0x008c62ca8e8d1cL, 0xe4b79d763eec45L, 0x1fd4230f2d71a3L,
3141
          0x090fdafa368c36L, 0xf62c101fca7baaL },
3142
        { 0x1c9e6c8d2395b3L, 0x671ed6304c5513L, 0x577d933299a465L,
3143
          0x286890e63f9986L, 0xd92a95dbfc979cL, 0xcebd79d2b51019L,
3144
          0xe74d88b3d07251L, 0x8b6db73906f9adL }
3145
    },
3146
    {
3147
        { 0xc0c43db7b3d90cL, 0x85d154e4304a06L, 0xe8aceefaf2f38eL,
3148
          0x5e0429383d9459L, 0x65e5e32431afd1L, 0x9e5f050a900a65L,
3149
          0xcbaa1718a26671L, 0x33d0b249c93de7L },
3150
        { 0x3dcbf92d5b6680L, 0xc47e5ec20006f9L, 0xc9711299a51924L,
3151
          0x665d9b8cd0ed46L, 0xed2d63fa5fcab6L, 0xa817eb6cfbfc5aL,
3152
          0xb38169fb76eb76L, 0x8b93544f11160bL }
3153
    },
3154
},
3155
{
3156
    {
3157
        { 0x02eca52693bdcdL, 0xbbf09232ae01d6L, 0x0b0a2de8b44b3eL,
3158
          0xdb82449b250dffL, 0x0c42b866e1c530L, 0xcd226dca64c2c4L,
3159
          0xcfb2bb1f046b5fL, 0x97e2fae3fccb0dL },
3160
        { 0xdf9290745ed156L, 0x224dcb9f641229L, 0x2126abc5f1f67eL,
3161
          0xa7eed5ae9c8a6bL, 0x40abedc9857d9bL, 0x3f9c7f6de941c6L,
3162
          0x2158d42d725ddfL, 0xbdd10158c69543L }
3163
    },
3164
    {
3165
        { 0xa7dd24e8df2fbcL, 0x3adbcfd13d1aeeL, 0xf6a32d113b2177L,
3166
          0x89a72327a9a14cL, 0xe3aef43dc65df9L, 0xeaec3e3a64d74cL,
3167
          0x4d387d84fec33bL, 0xaba2a0521a2128L },
3168
        { 0x2382c226b85e30L, 0x4352d85cd2aad3L, 0xb0c6001d9772c4L,
3169
          0x7ed82635f3653fL, 0x3626a6f0300f47L, 0x23909de6ca7e4eL,
3170
          0xb43dd81c154141L, 0x9a49fad7e4bc68L }
3171
    },
3172
    {
3173
        { 0xa3661df2428f88L, 0xbe48b0256e0db2L, 0x3cd1871ce79aa9L,
3174
          0x90ab87123dddacL, 0x9c58fb971871a6L, 0xf031f7fa34910eL,
3175
          0xb501eea81060e4L, 0xdb668ba791224eL },
3176
        { 0x240bbcb6a705bcL, 0x7e76fbd2d1865eL, 0x6e2cd022513641L,
3177
          0xe6c522546365c9L, 0xe46a8b8a5a01fbL, 0x696fa7bb67618bL,
3178
          0x418b3b90db6792L, 0x7204acd7108b9cL }
3179
    },
3180
    {
3181
        { 0xb5a143b8456b45L, 0x8a3ab25f53b4d9L, 0xb112a58e13a570L,
3182
          0x613ca3281487d2L, 0x837d8233b1e7c9L, 0x592baded41e9d5L,
3183
          0xdc1893a5cd02f2L, 0x08795028972e23L },
3184
        { 0x7003c08cb76261L, 0x14bde9e332a5e0L, 0x14b2872cbbd78eL,
3185
          0x5594061de238e8L, 0xad12645067466cL, 0xa8d0e64f5e4952L,
3186
          0x5b44b82c7f8d06L, 0xb51bea8fb1b828L }
3187
    },
3188
    {
3189
        { 0xebad6853f0daccL, 0x5c31b8b1cbebbcL, 0x6746975fa5a2dcL,
3190
          0x2d9596531d9faaL, 0x343797d00fc0e4L, 0x38d821c55fe01bL,
3191
          0x0bfdb247323aa0L, 0x42613c4f962a8eL },
3192
        { 0x599a211e134bc0L, 0x75fa4a147a7084L, 0x6e719487f734b5L,
3193
          0xd5ced2d6dfca2bL, 0x9fa0fdc8aeabd2L, 0x5e6b03f12361daL,
3194
          0xad23d315859fcfL, 0x3120ef125a5fc8L }
3195
    },
3196
    {
3197
        { 0x990ef628e9f638L, 0xfdaa240626a60cL, 0x4a3de202abddabL,
3198
          0xd5d10b7d8872b2L, 0xa01b7301ea5880L, 0x481697fa81b9d8L,
3199
          0x29841533471ed8L, 0xefd73f8292d37cL },
3200
        { 0xdda76269994bebL, 0xa0377036a4f865L, 0xda992ece5b47d5L,
3201
          0x912a427e53edbaL, 0x64675989264e45L, 0xd3b68c3af71222L,
3202
          0x9d3436c6dedc5fL, 0x1e027af076b2adL }
3203
    },
3204
    {
3205
        { 0xd56fca14382f4aL, 0x83712a48966b7bL, 0xd6b2cf5a4c9ddbL,
3206
          0xa66be29f602875L, 0x70e4266894f3d0L, 0x007d220b3195caL,
3207
          0xba38d8f82c74d4L, 0xdccc5fcd975cbdL },
3208
        { 0x03e1610c88b38bL, 0xeb9f9a152e0d8dL, 0x6a57ecab646eb7L,
3209
          0x161641fc76b6c1L, 0xf9025adbd2e12bL, 0x87c74db5c0e26dL,
3210
          0xed5cb51bfeca74L, 0x603dfb6e34a08cL }
3211
    },
3212
    {
3213
        { 0xc4be728cb03307L, 0xde34c0ec2741ccL, 0xe01db05a74eb17L,
3214
          0x1bfce0c8905e4bL, 0xb18830ad1b1826L, 0xcacbb41e87bbfbL,
3215
          0x8696842d2f1a79L, 0xa80e5fb08c83eaL },
3216
        { 0xe48f1633f1439cL, 0xc1d4108cd6987bL, 0x05705c4b751814L,
3217
          0xa9bffd0c1c622dL, 0x23de4af46cd053L, 0xf782f5e39457c3L,
3218
          0x815276b5e5d243L, 0x31320416161ae3L }
3219
    },
3220
},
3221
{
3222
    {
3223
        { 0x245966177f2542L, 0x203be7e8372b25L, 0xc7c9426ee2007bL,
3224
          0xc5641380621799L, 0xda56589c28c3ceL, 0x13e8a7c7afc1e3L,
3225
          0xdba81e9e352082L, 0xf43054904435c7L },
3226
        { 0x4d26533691de4aL, 0x364408cfb777abL, 0xccdfb43eae7f88L,
3227
          0xbc40f44a525b11L, 0x8e112a53c60627L, 0x7f7c581e17e696L,
3228
          0x0fd78781ea774aL, 0xd09e6320b1f582L }
3229
    },
3230
    {
3231
        { 0x44390bd70aab15L, 0x41112bc889c3f2L, 0x6b02894d685349L,
3232
          0x71030015584dfeL, 0x373cb1b1ba7887L, 0x53d286c2a017c7L,
3233
          0x2ed03883c81fdcL, 0x3bfc5e3fbcc6fcL },
3234
        { 0xd38ac6ffd6418dL, 0xc667e96bfad89eL, 0x46f4f77eab4d66L,
3235
          0x194c04f0911293L, 0x0fd09cf68c48d5L, 0x6f5b05563cf7f4L,
3236
          0x0c0a8c4acd562fL, 0x94c1d8336d965dL }
3237
    },
3238
    {
3239
        { 0x94fc8f0caa127aL, 0xc762d5dd803690L, 0x8bfdfd11ebf0d3L,
3240
          0xa98cdf248eac50L, 0x3d7365d8b5ff10L, 0x20dc29bc65b4deL,
3241
          0x62ac28e8ec7c68L, 0x7f5a13290372d2L },
3242
        { 0xf3d8a253246658L, 0xa4bebd39ac202aL, 0x078ede75cc1697L,
3243
          0x5525800c8fc022L, 0x302a8025fae77bL, 0x018013957917b6L,
3244
          0x7c8806d864bf55L, 0x4e2d87812f06f1L }
3245
    },
3246
    {
3247
        { 0x8d351183d66e88L, 0xfb861a1a91d02aL, 0x8c27c2a7850e5fL,
3248
          0x9fd6399a5496f6L, 0x52152ae8080049L, 0x600e2fffd1c2dcL,
3249
          0xc75902affe8b2eL, 0x5c4d2cce03b175L },
3250
        { 0x8ad7c424f57e78L, 0x77cf6061736f87L, 0x2876012f85038aL,
3251
          0xff328451b97b95L, 0x3cc6dd5392dfc8L, 0x72f1363a6f5075L,
3252
          0x028ec4471de894L, 0x7030f2f6f45a86L }
3253
    },
3254
    {
3255
        { 0x66400f59695817L, 0xeda0a7df20ea36L, 0x855be51d394992L,
3256
          0x2d082c18336f62L, 0x30944ddf28c868L, 0xfb5f8530dc86d0L,
3257
          0x9562ae5564a0bdL, 0x1f7ea12b6b9b51L },
3258
        { 0x5bd74e0d0a7148L, 0x6c8247fb91e572L, 0x699aba547da498L,
3259
          0xed825811f7c814L, 0x434674b62057b9L, 0x8b4df5e15c15b4L,
3260
          0x2a97da1b110081L, 0x2a96b0c4c417feL }
3261
    },
3262
    {
3263
        { 0x4f75dfc237639dL, 0xe5ad6bc1db7029L, 0xd43e06eb3d28f7L,
3264
          0x89f3bb5e447989L, 0xc426a2c01a1a6eL, 0x33ea71c315878fL,
3265
          0x8a7784ab1b5705L, 0xa59e86e77ca811L },
3266
        { 0xddb133c36ae155L, 0x49f1d4c0d51b42L, 0x55080829d05519L,
3267
          0x20e23be5291816L, 0x35047ec67181ecL, 0x6237dc47aad091L,
3268
          0xa1d3ce1e2e25a2L, 0x1de05220d3db4cL }
3269
    },
3270
    {
3271
        { 0xe9a5e19d9fd423L, 0x0c2c3d09801e43L, 0x043c2dd28df2daL,
3272
          0x4eecab4e1ad12aL, 0x97e17979615aa5L, 0xe57b879ca7bb5eL,
3273
          0xa2a903ccc92619L, 0x5cef370aa56e93L },
3274
        { 0xbef29fa7f3232cL, 0x1cf35ed2b7ad5cL, 0x35c48933b6077aL,
3275
          0xe0651487a1d47dL, 0xedb4673ce14572L, 0xdc9e98c0b17629L,
3276
          0xef98ebe9a02a5cL, 0x1f772e311d03c0L }
3277
    },
3278
    {
3279
        { 0xcbdbdcd4608f72L, 0xb4352235a13c6fL, 0xa6497f64bb3c21L,
3280
          0x3af238312c15c9L, 0xfbbf4b36322d11L, 0x520a5c6c641775L,
3281
          0x18cd967e81e0e1L, 0x980b2c63de3871L },
3282
        { 0xfa9db619ae44a2L, 0x0281dd2176bc56L, 0xfd037118a7f817L,
3283
          0x9c485454129b30L, 0xb439648039626dL, 0x355050ee4ada6bL,
3284
          0xc9c16d67f5d98cL, 0xf53ccc318c4d5eL }
3285
    },
3286
},
3287
{
3288
    {
3289
        { 0x50ae9423ffb20bL, 0xa6c0b426865eb4L, 0x4677f7d09930f1L,
3290
          0x742e0b64a16427L, 0x521d18ef976f9aL, 0x43ac9cfa454749L,
3291
          0xda3a91dc51f50dL, 0xf657029ad6f954L },
3292
        { 0xfe5f0646b4f99aL, 0xd92a5d963ad4ceL, 0xfcb55092e0e081L,
3293
          0xadc85ab8d8a858L, 0x8e9b9660632f0fL, 0xe7a4f168d7216dL,
3294
          0x00a4cc559c3b99L, 0xed6d0bdba09dc1L }
3295
    },
3296
    {
3297
        { 0x7236d141621bebL, 0x1751fd4bc7ca95L, 0xaa619d12f5319cL,
3298
          0xfc2b15b4e9316fL, 0x2d1a9069fd4d33L, 0x28c3bac8ced829L,
3299
          0xf2efab51dd998fL, 0x2c133303b149edL },
3300
        { 0x65237c9f601ac6L, 0xb54dd6507d6a45L, 0xa1ce391fb1a4cfL,
3301
          0x2957533115f67eL, 0x6456da8465279bL, 0x02890aaa993e02L,
3302
          0x6891853b7175e4L, 0x3fda2030f3e59bL }
3303
    },
3304
    {
3305
        { 0xe99fe12d8c6e0bL, 0x7cb07ff5341c56L, 0xc292c7bdf77b24L,
3306
          0xf52dfd0ca29906L, 0x4a6aa26772f02cL, 0x26f7684e1bbd09L,
3307
          0xec56b2bee7c2a8L, 0x67709e6ad4a312L },
3308
        { 0x99c57b2c570263L, 0xeb0100b2faafaeL, 0x980d5d1ff25ecaL,
3309
          0xace35e682cf936L, 0x5a82ce544679edL, 0x5c76a41074b81eL,
3310
          0xf36fa43a00abb1L, 0x064281904ffb2dL }
3311
    },
3312
    {
3313
        { 0x68f6bc804bdd28L, 0xc311d96b5dc7adL, 0xff0d646ed32e45L,
3314
          0xaf3cdc6e0f712dL, 0xd4508e9d483861L, 0xb624be50e1c277L,
3315
          0xc510275c5dd841L, 0x451c5c3298dc02L },
3316
        { 0xf87d479dd34d6bL, 0xda7f293dd06a38L, 0x575e129b699e9fL,
3317
          0x79e5fb2215b2ccL, 0xd280028657e690L, 0x7fecd09e702a71L,
3318
          0x85160abfa13677L, 0x5de3427ce65f64L }
3319
    },
3320
    {
3321
        { 0x84e4bf6e8fff38L, 0x16f3725b358b1cL, 0x360371c3b472a5L,
3322
          0xe64c06152f217aL, 0x8e673790501241L, 0x88e81d6ab2dd96L,
3323
          0xf3e218a1385604L, 0x9736cafe84184dL },
3324
        { 0xb55a043dbb93a3L, 0x335088f9301088L, 0xcea7a2db2a4959L,
3325
          0x48e5d4ab882c33L, 0x114f09bad46179L, 0x4416467b446576L,
3326
          0x01cb23e34c6c2fL, 0xddebf04a02db8aL }
3327
    },
3328
    {
3329
        { 0x36d60cc9bde8a1L, 0x20fd2f2676e4adL, 0xebdcfb78936581L,
3330
          0x245d0d5dbfc2c3L, 0x104c62ca9f82e5L, 0x7387457d654d9bL,
3331
          0xe966777ae7f10eL, 0xefeb16f1d8e582L },
3332
        { 0x4faf4f170364b5L, 0x0e1ab58d612472L, 0x11bbfe7fed6085L,
3333
          0xb360a14a59a09aL, 0x61d96e9722fdb6L, 0x16a12f194068bdL,
3334
          0x225bf07f73c2beL, 0x1e64665c8bd24eL }
3335
    },
3336
    {
3337
        { 0x27a478a3698c75L, 0x778ccd36202aa2L, 0x0149c638d87f1fL,
3338
          0xa660e5f784edaeL, 0xe0d4d2f82adfa8L, 0xf512dd61ba1f9dL,
3339
          0x90cfed96245c58L, 0x6c3a54818b53ddL },
3340
        { 0x833f70cbdc094fL, 0xa5f26f5b1514e7L, 0x93e7cf51c8cf13L,
3341
          0x1436601186ec43L, 0x81924ace78170aL, 0xcc880a08694368L,
3342
          0x2dfa9550b62cbbL, 0x0bc6aa496b4a2cL }
3343
    },
3344
    {
3345
        { 0x5157a7e3561aa2L, 0x525c5008645c1eL, 0x22feb4ece7cbb3L,
3346
          0x36d0d25c89a58bL, 0x43131f7c9bde9cL, 0x74afdda881f731L,
3347
          0x99ab87c7c8e36aL, 0xf07a476c1d4fb2L },
3348
        { 0x1b82056bebc606L, 0x95a1e5afcf089fL, 0xc5bccfa2b55d5cL,
3349
          0x8fbc18e00eb0b1L, 0x93a06fe9efb483L, 0xcafd7252d74c57L,
3350
          0xc7518f03de4350L, 0x9a719bfc6fd762L }
3351
    },
3352
},
3353
{
3354
    {
3355
        { 0x5ee0d832362087L, 0x7f2c0d70b167e8L, 0xb7327895e0e865L,
3356
          0xef5b2e898c4e65L, 0x222797d8fe9cc1L, 0xfe6d73e82d1e15L,
3357
          0xc7c0e9cf62dc4bL, 0x962acfe937cedaL },
3358
        { 0xd763711c1e85c7L, 0x8f2dbbc2836978L, 0xbadc0558c44e98L,
3359
          0xed63eaba3e93f8L, 0x807e85741b55c7L, 0xd51ae5e6d1207bL,
3360
          0xa0ef9a639d541bL, 0x58855f9a0c56a5L }
3361
    },
3362
    {
3363
        { 0x7d88eaa213091dL, 0xcbdfee745b6a0dL, 0x826a0124f5e077L,
3364
          0xb04fc1390f1e4cL, 0x1961ac3aea69aaL, 0x3afb719d5bb63eL,
3365
          0x2a378374ac7e5cL, 0x78efcc1c50ca45L },
3366
        { 0x346e8f0b8abdefL, 0x27e3dbd88095d0L, 0x56d3379ffc6c22L,
3367
          0x67d416cfa4b291L, 0xc3baaf63b1b373L, 0x0184e1fdf73baeL,
3368
          0x38ae8f79167528L, 0x7329d4c35d6297L }
3369
    },
3370
    {
3371
        { 0x45d2ac9f568c52L, 0x51348149808593L, 0x0c92d8331b7ed8L,
3372
          0x921327a0876ecdL, 0xf752d75052736aL, 0x7b56487bc6b837L,
3373
          0x6b1a320a23b4ccL, 0x1983937ec0d665L },
3374
        { 0x2c3017c08554abL, 0x40ad955366e87fL, 0x88c4edf8ed7f02L,
3375
          0x64a7db13cc5e6dL, 0x5ac91fa2dc978bL, 0x016a20d925d2a2L,
3376
          0x3604dfeabb57b4L, 0xc3683ecd7e2e85L }
3377
    },
3378
    {
3379
        { 0xc47150a4c0c6d0L, 0x30af45ee22adcfL, 0x39b5acb022ea4bL,
3380
          0xfbe318577203b5L, 0xe5aaa346fd9b59L, 0x0062c90dd1c8dcL,
3381
          0xcf113f354049acL, 0xd8fba4d63a31b5L },
3382
        { 0x73b54881056a69L, 0x3be6cbcd780bdaL, 0x5776ec230ba2b9L,
3383
          0xbe883cf8e8d6f7L, 0x64efe945c2be6fL, 0x064f704f1ade8dL,
3384
          0x41cfd17743110eL, 0xaac94114c20abeL }
3385
    },
3386
    {
3387
        { 0x91f9192f1c1468L, 0x8176e744563e13L, 0xa48b5f90bda15dL,
3388
          0x2a085aeda42af6L, 0xfd38ab2425c018L, 0x2884ba408abafbL,
3389
          0x356f318cbd091dL, 0x454e450817871bL },
3390
        { 0xe080e818ada531L, 0xa40f1eb3152ba8L, 0x051049f0c38eb1L,
3391
          0x37e4bb3bd45003L, 0x6d0980454a01e5L, 0x6de932feeb824aL,
3392
          0xccdef37dc93481L, 0x8633e0793a05e8L }
3393
    },
3394
    {
3395
        { 0xbe94256034675cL, 0x376c01d08db789L, 0x8707ee79af1b6bL,
3396
          0x633b3ef11bfbacL, 0x694f33fd06db60L, 0x2a68bfcbb13407L,
3397
          0x1c860c9da27c3aL, 0xbca16ded701ac3L },
3398
        { 0x2b76cfac59ffd0L, 0xf9a116554d718dL, 0xf86a1db67f0878L,
3399
          0xe313e05af34e85L, 0xa1888113343159L, 0xdbe4c3f0bb7ed1L,
3400
          0x73b67e80c732bcL, 0xa4e1c87e74110eL }
3401
    },
3402
    {
3403
        { 0xce1106b5c6770cL, 0x422c70b5c0bcb7L, 0x32a39908195e7fL,
3404
          0xa24968d1ccd4aaL, 0x8f08ecf720e557L, 0x5da10a454bcc81L,
3405
          0x9d3c73b6cd846eL, 0xaeb12c7368d065L },
3406
        { 0x2110859cf9fd1bL, 0xd2a4801ee2bd6dL, 0x376e556e9466acL,
3407
          0x767803b3b5aa35L, 0x343f842b8a89baL, 0x3263cc16726bbfL,
3408
          0x26caf1725871b0L, 0xef66ad641b8578L }
3409
    },
3410
    {
3411
        { 0xc9f2249638068cL, 0x96d282c1ccf9afL, 0x71df30c69b435aL,
3412
          0x88c943acb9d5c9L, 0xbf98ef12a8f378L, 0xffc1824114c6ffL,
3413
          0xda3ad2cd52e8c7L, 0xf1222bc1afcb59L },
3414
        { 0x459e94b0ee334aL, 0xd4477b8421933aL, 0x60fb7b0a1e401eL,
3415
          0xfde6e820d1e330L, 0xcecfe9b3233fdeL, 0x09ec4662e93523L,
3416
          0xa5ba64930775b9L, 0xcc397e5adf80f2L }
3417
    },
3418
},
3419
{
3420
    {
3421
        { 0x2fe182d4ddc8a8L, 0x88d6e79ac056bfL, 0xc3ff2d10e41e4eL,
3422
          0x32ec7f92c3679fL, 0x3561f094e61051L, 0x4553f5a6c6250aL,
3423
          0x2b765efdd25c5bL, 0xe3a40a26a1cd7fL },
3424
        { 0xb27309b5d821ddL, 0x950fb8dc2c17caL, 0xfeed0158fb0d4cL,
3425
          0x762c479f550179L, 0x306cf44e095840L, 0x84b413ad379e66L,
3426
          0xd6e5d5abb2e4f1L, 0x8bc12b794b085dL }
3427
    },
3428
    {
3429
        { 0xc0d4cb804b5532L, 0x7a31525b9940a6L, 0x010e7dd68c69d1L,
3430
          0xd81f29d2a18c35L, 0x08ae7703f11e73L, 0x5358f876e55106L,
3431
          0x299e8cac960ef5L, 0x89a6fb4acfc8dcL },
3432
        { 0x5996a406dc7d4aL, 0x21e5112e51b96eL, 0x95b8c3d09a202bL,
3433
          0x306ab0fd441f1fL, 0x2834fed98d4245L, 0xc29c387d0abbdeL,
3434
          0xf6a9bf1b805c15L, 0x602f4f8c4e458dL }
3435
    },
3436
    {
3437
        { 0xf041486e5a893aL, 0x53b891d8934327L, 0x11e000d4000758L,
3438
          0xa4ccde8662bad9L, 0xe34d3edb9a1b64L, 0x72d967584e7a6dL,
3439
          0x773da2f6627be4L, 0xa11c946e835ae3L },
3440
        { 0x02e8203650bc15L, 0x2d35936e58b78dL, 0xe9cfbe8f21a3ccL,
3441
          0x55ad8311049222L, 0xbf99de438fff47L, 0xebbfd803831db5L,
3442
          0xe990636af2af42L, 0xc26ae52b7f5a0eL }
3443
    },
3444
    {
3445
        { 0xb5d85b1fa8f846L, 0x4166489b3b1455L, 0x768260dd36a305L,
3446
          0xc6a82354ff5645L, 0xd241cd8d6e93e5L, 0xeed9aa1a406e74L,
3447
          0x9e96ab05f600d9L, 0xa26b8b56eca2a1L },
3448
        { 0x78321cfd705aefL, 0xc4fb6b3c0161ecL, 0xdc324415199cf1L,
3449
          0x33627d0d0a5067L, 0x13490cb15143eeL, 0x77e0ede85b4f44L,
3450
          0x904f12e394b165L, 0x90f50f5efab32dL }
3451
    },
3452
    {
3453
        { 0x4aa0a16bc2de96L, 0x172596aaa9c12bL, 0xd512e1e60e8a29L,
3454
          0x77d35c1f637e83L, 0xbb0d141d2aae0bL, 0x8a878a58c03738L,
3455
          0x6d24c01ab0e525L, 0xb7d3136f760887L },
3456
        { 0xdbc3f8f3f91b7cL, 0xe7b4bcaa8722c0L, 0x3286a91da0ae65L,
3457
          0x8372274225b084L, 0x5884cd5ae1886cL, 0xb4e63ef3a23cf7L,
3458
          0xfe5f202f2dd0daL, 0x951fac9653916cL }
3459
    },
3460
    {
3461
        { 0x05e2e8f854fa4eL, 0xf411f941edaf10L, 0x26cc562a0a928dL,
3462
          0x78fd34e4abce65L, 0x1d8760998a32e2L, 0x85dc76f4c37518L,
3463
          0xdcaeef500e8021L, 0x7fcb2f84e9b2a5L },
3464
        { 0x9eba91ef382c06L, 0x2052e8524cae53L, 0x617336ef5c1519L,
3465
          0xf1546d5b4e632bL, 0xa9edc81d7b8ffdL, 0xdb2914f29ab68cL,
3466
          0xe805070debbabaL, 0x775e53bc3b719eL }
3467
    },
3468
    {
3469
        { 0xa40e294065256aL, 0x9f113868fb031aL, 0xac03af8059667cL,
3470
          0x432eb3a0475f58L, 0x22332bf01faad0L, 0xc8132e9bc57a11L,
3471
          0x27d5a173bc3f8bL, 0x5471fc6930bf3eL },
3472
        { 0xba28bc0e6bff40L, 0x198d57e555e564L, 0x13ce8319c65b8fL,
3473
          0xb0a5c9d5681b51L, 0x467588bdeb9e11L, 0xf1891a7bb4250bL,
3474
          0x10b938bd12b433L, 0x0b8c80224dcda4L }
3475
    },
3476
    {
3477
        { 0xc428703cf332d3L, 0x9d0053cf2a5b98L, 0x4e4c6207838a15L,
3478
          0x2e92919fbf8a43L, 0x39ad52421cd9a5L, 0x584ed6c1561588L,
3479
          0x20af30517a95c8L, 0xa223077b70e1c8L },
3480
        { 0x679cfea2fa4871L, 0x54f2a46ac633c7L, 0x60306514cdc5f1L,
3481
          0xc4facda75a1dc7L, 0x710a2882d07d19L, 0xd55864e6b44992L,
3482
          0x44d4b6c454c5b2L, 0x2855d2872f9981L }
3483
    },
3484
},
3485
{
3486
    {
3487
        { 0x4071b3ec7b0674L, 0x800eb14f8794d5L, 0x70573afbe6783eL,
3488
          0xafaa4407785901L, 0x112d2a1405f32cL, 0x3761a52169b3e2L,
3489
          0xe168b31842a366L, 0x5bc322f9bf4734L },
3490
        { 0x36ef240976c4a0L, 0x066f3d6fea4e64L, 0x0e954bda989e57L,
3491
          0xe36ef5ef9466e4L, 0x6bb615abeb9226L, 0x5571e5f3d5a2caL,
3492
          0xa86efe24897a86L, 0xed7e9cf28a9f77L }
3493
    },
3494
    {
3495
        { 0xdf10c971f82c68L, 0x796ba1e3b597e6L, 0x1ac77ece718cbfL,
3496
          0xc8175bb410eac8L, 0x0cdf9a1bc555efL, 0x6b889f17524e05L,
3497
          0x6bf1e61ae26d82L, 0xb3f6ad5d2e97d9L },
3498
        { 0x94dcff9f226487L, 0x60e6356be03ddeL, 0xda1f93b6a3dd7dL,
3499
          0xf1be72179ca90cL, 0x05ed3131e6bce5L, 0xcf50908d48af3eL,
3500
          0x3b0e85c61e554fL, 0xfe7e35ba2778d3L }
3501
    },
3502
    {
3503
        { 0x42c503275ac5a9L, 0xa66a66dda062c2L, 0xa4f4f82caa7023L,
3504
          0x489d47664b4f86L, 0x10b108897311adL, 0x55dd637177b2ecL,
3505
          0xa5ccff09a267b1L, 0xf07690bff327b0L },
3506
        { 0x39162ed2250cd2L, 0x1426de08b255f1L, 0xf227afd1bdd731L,
3507
          0x78f8a36fa4c844L, 0x267a211157379cL, 0x3f05f92cc04acbL,
3508
          0x374496cfc69caeL, 0xbf2c5d016ebfecL }
3509
    },
3510
    {
3511
        { 0x605418bd0518d1L, 0x3237f809e1cbc6L, 0x37a7005286c019L,
3512
          0xf1fb0e0b15af0bL, 0xfc3b97caa853c0L, 0x1f48bd0e6beba2L,
3513
          0x8e5d7c5e6a72f1L, 0x575e66d26ebf0cL },
3514
        { 0x099477662eae3dL, 0x53f074f96c9c65L, 0x6cfbfdbb81badeL,
3515
          0x98b4efe3fed7d1L, 0xdaa112338c3382L, 0xdf88b7347b8ec6L,
3516
          0x9b0fe4b9504a4fL, 0x2e7df4cf30c1c3L }
3517
    },
3518
    {
3519
        { 0x25380cb2fc1833L, 0xb8e248c18d62deL, 0x91c8f59d82f9dbL,
3520
          0x5ec2b202444750L, 0x3f3a1f766b6f74L, 0x0180aa9dd7d14dL,
3521
          0xd0a342d2956b9cL, 0x26e910e7139873L },
3522
        { 0x2261dc4139e23dL, 0x7edb181b8343ddL, 0xfcf1073b4038ddL,
3523
          0x88870efa3bfea3L, 0x4e98ba964a263eL, 0x3c6e5dc70811f5L,
3524
          0x17d28f5f86055dL, 0xca9c27666e4199L }
3525
    },
3526
    {
3527
        { 0x0b2d8bd964ef8cL, 0x5a99b8588e2ba6L, 0x9e927b204498ceL,
3528
          0x9ff20c5756eb25L, 0x97cc27b3f27736L, 0xf32dd6d4729583L,
3529
          0xbdc26580381a94L, 0x70fef15ef2c06fL },
3530
        { 0x50a619149252ccL, 0x9eb4a14236b4b9L, 0x9b1b2158e00f78L,
3531
          0x27add366ea9c23L, 0xef61763c3a8e79L, 0xed4542fd82ce56L,
3532
          0xa8737e70caed75L, 0xeca0ac2d452d76L }
3533
    },
3534
    {
3535
        { 0x20c07793d082d0L, 0x6e3ce64c9e9f3bL, 0xb3a4dce75a195fL,
3536
          0x3a3c305bdd9f24L, 0xe2545c88688942L, 0xa463c82080f32bL,
3537
          0x442974842686b8L, 0xf50e20d7213866L },
3538
        { 0x265ac523826e74L, 0x26fba57228e8ecL, 0x8a1e1dbe6b3ed8L,
3539
          0x7c7b278f0fe65aL, 0x9a6df23c395234L, 0x99562060b0f114L,
3540
          0x440c8c4ef90837L, 0x21ad22a3645f65L }
3541
    },
3542
    {
3543
        { 0x1e023a6edd31b2L, 0xf76d1459ff8668L, 0x970705617b45c8L,
3544
          0x06120781e88e37L, 0x85c51c8922faacL, 0x4df392e22756d9L,
3545
          0x8907fd0a03c98eL, 0x626f46a52ea51cL },
3546
        { 0xf8f766a486c8a2L, 0x8c499a288ed18cL, 0x44d2dc63c4f0deL,
3547
          0x47dde686f2a0b6L, 0x9a655f84a973fdL, 0x3e7124e786ac80L,
3548
          0x699e61ce8a0574L, 0xdf0ba9a31cdd0dL }
3549
    },
3550
},
3551
{
3552
    {
3553
        { 0x76270add73e69bL, 0x991120fc67d38aL, 0x7be58309469f0cL,
3554
          0x93aba597db40acL, 0x2b707bc822fc08L, 0x4199fc069551cdL,
3555
          0x38deed4f367324L, 0xca518e12228787L },
3556
        { 0x72f1befd9a9277L, 0x57d4aabe49ae90L, 0x13810d5db23478L,
3557
          0x2a8b7809b4b77fL, 0xb542f4e1b4e004L, 0x4080fd03ec77f0L,
3558
          0xb49e9fecec6596L, 0x20338d33f16037L }
3559
    },
3560
    {
3561
        { 0x4adcdae53554b0L, 0xfea4906e04c4dbL, 0x0808bec7748233L,
3562
          0xde7477c47148d7L, 0xdd9124c03da38cL, 0x6b2503125ee8e9L,
3563
          0xae67399b0d6161L, 0x70c4acd82203b6L },
3564
        { 0x9683916d31dae8L, 0x34775031ac7f69L, 0x9553153988e4adL,
3565
          0xb58f41153a15e1L, 0xb65a2d492ba2ddL, 0x7c3efb1a90169cL,
3566
          0x210f45e6b1747dL, 0x16e8d1bcff488dL }
3567
    },
3568
    {
3569
        { 0x252adf89d703dbL, 0x259ac1dfdfeb39L, 0x7faf6af115e806L,
3570
          0x7aaefd6c1aff21L, 0x80542107c0113dL, 0x481f1a5e19b4b1L,
3571
          0x7c17d43fcc8c61L, 0x8b04452bb0bbbeL },
3572
        { 0xe51e5f54cebae1L, 0x05341ba56a414cL, 0x0083a2c7fb8a30L,
3573
          0xb4663f277f4952L, 0xce72eec4bb0074L, 0x74fdd66a3584d1L,
3574
          0x6b9e58eb02e076L, 0x5be45d53b961f4L }
3575
    },
3576
    {
3577
        { 0xc7474f31ab2e0bL, 0x2838ccbf4bf454L, 0x634392ef3c3eacL,
3578
          0x440e40a137602bL, 0xeea67e9d1ae8e3L, 0xafdf93a77e221eL,
3579
          0x3c9f3da2719a10L, 0x466ecef32c8256L },
3580
        { 0x1061c19f9c432fL, 0xa1332d9b1c7d98L, 0xbc735f2a425c2cL,
3581
          0x1429cdf4b1bccbL, 0x77b42a16bbb5f9L, 0x30078e35955ae4L,
3582
          0x8acd77721cc315L, 0xaa90d5fe86fa99L }
3583
    },
3584
    {
3585
        { 0xfcfd460721115aL, 0x6a7de3e08269b8L, 0xe5964a696dd47eL,
3586
          0x6717cd58dca975L, 0x7ea4ebe98b149eL, 0x6f894d5b7b8057L,
3587
          0xbd6f9607f30e31L, 0x61ca45323df092L },
3588
        { 0x32241f99d782f3L, 0x55173b02abfae2L, 0x0abe0edd15bbbdL,
3589
          0xb6d3c0ab438abbL, 0x62fb4679ffa20bL, 0x30926b5d31560aL,
3590
          0x44bf27c2a0aa6dL, 0xf7473131a4cb97L }
3591
    },
3592
    {
3593
        { 0xa2f6c0db0535deL, 0xcb02ae1c855166L, 0xc699e6bb3422f0L,
3594
          0x774febe281ba8aL, 0x1d9d24fffabcc7L, 0x0b31ba1fe12ba5L,
3595
          0x4c8680313d0af7L, 0x90640d32f47160L },
3596
        { 0xa0c4bf45876603L, 0x717f6fa950ab08L, 0xf12bb53a710de8L,
3597
          0xc500c616a88f50L, 0x0070f992645351L, 0x57aab5d2446893L,
3598
          0xd553fa8b68f657L, 0xe8537c1693c55dL }
3599
    },
3600
    {
3601
        { 0x58e86eb7fc7684L, 0xdf330f7bfc73a9L, 0x41e337dcc11936L,
3602
          0x36d92006e35759L, 0x01327033500d8bL, 0xfa684059483354L,
3603
          0xc8f2980667851bL, 0x538ec8918296b0L },
3604
        { 0xa2a2c4fcff55f9L, 0xb260d4d60d20bdL, 0x3ed576fd9cc59fL,
3605
          0x4ed8c64d514fccL, 0x37ebfb2c22b315L, 0xca67a3694c212cL,
3606
          0x4f8e08c3a1795eL, 0x498f9264e7261fL }
3607
    },
3608
    {
3609
        { 0xfea7382c59b3d4L, 0xb9942ed3f2925fL, 0xe4b00dc8ea77e8L,
3610
          0x74a18ec3cab02eL, 0xbbbb752ef16d0bL, 0x639da4fffab032L,
3611
          0xc371a4a3aa30f0L, 0x8e26b22caa175bL },
3612
        { 0x94e41567e2b62eL, 0x7cceea625a794cL, 0x931d2f4479f015L,
3613
          0x946183d90b25b2L, 0x1504e9768a2807L, 0xa7577d3fa49dddL,
3614
          0x24fc87edd48699L, 0x9edefd63d7d99cL }
3615
    },
3616
},
3617
{
3618
    {
3619
        { 0x0508b340f0b450L, 0xe0069a5c36f7f4L, 0x26556642a5a761L,
3620
          0x0193fd8848e04dL, 0xc108cf573fe2e7L, 0x05eb0ecfd787d4L,
3621
          0x1555ccbff28985L, 0xb5af09f651b995L },
3622
        { 0x167d72ce1134beL, 0xd6d98bf57c669aL, 0x40fb7166dd76faL,
3623
          0xeabbf202a41b31L, 0x300ff0e09b75b0L, 0x32b6fadd9a0c1eL,
3624
          0x805188365a80e0L, 0x8bef69332110feL }
3625
    },
3626
    {
3627
        { 0x637802fbef47d4L, 0xfac114b2d16eaaL, 0x7b3f3ab0415644L,
3628
          0x17ab8d12dd895bL, 0x271b7fe87195f3L, 0xa3f867ea71f65fL,
3629
          0x39ba40cc80583aL, 0x6db067256e1fccL },
3630
        { 0x4feab4e06662a8L, 0xc857415c74bd46L, 0x18032ed732b126L,
3631
          0x87c8aea7a099eaL, 0xb4a753536fe0a8L, 0x33a98da27673f6L,
3632
          0x3e40c022b8e549L, 0x2def1af9a4c587L }
3633
    },
3634
    {
3635
        { 0x9618b68a8c9ad9L, 0xd70b4aa49defdaL, 0xae8b1385f788efL,
3636
          0x87c3542dd523f4L, 0xe42c7055c5b004L, 0x6303360fa7df57L,
3637
          0x33e27a75f6d068L, 0x9b3268e8ff331aL },
3638
        { 0x845cc9623ee0c3L, 0x003af70ac80084L, 0x6a9f931530c41dL,
3639
          0xa1d7051bb127f0L, 0x642ce05ca36245L, 0xc34205b0323ee9L,
3640
          0x7cc8912b7b3513L, 0x6252cc8076cbdbL }
3641
    },
3642
    {
3643
        { 0x10e68a07089522L, 0x36c136158fc658L, 0x490397d74723a4L,
3644
          0x42692c0519d56cL, 0x69d251bf1ff235L, 0xe689d03c2cbf37L,
3645
          0xf04ceba825b7f4L, 0xd6b9bee2281c2eL },
3646
        { 0xc52ef3fe0043abL, 0x351bf28d1d1be8L, 0x277615f0f18a5aL,
3647
          0x31f717f5d6800fL, 0xf5fb82dab922e2L, 0x99aee2f2d6ae43L,
3648
          0x42477fec63b982L, 0x904aeb1a594a01L }
3649
    },
3650
    {
3651
        { 0xaa82174eb39974L, 0xbc38e6195e6aa0L, 0x6a3df8a25c0675L,
3652
          0xf324203ffbe739L, 0xfa5a0b4a3f0649L, 0x79c87327a7a6b8L,
3653
          0xeb65ecd40ad3f5L, 0x718d416e4e45c5L },
3654
        { 0x029dbf4e2326fdL, 0x0c63416e7942f0L, 0x6d0c7286f4e678L,
3655
          0x59f0b10a138601L, 0x8a1d9788d92ea9L, 0x9f8d712c22eca5L,
3656
          0x73970447b6b96bL, 0xa2d49eee6fb955L }
3657
    },
3658
    {
3659
        { 0x249f900bf14a19L, 0xd3522da63a8cd2L, 0x28a32f386964d2L,
3660
          0xacf712bc1fa743L, 0x98a9bfc0bb94d3L, 0x318ece1bc06824L,
3661
          0xfc476754fce7f0L, 0x19caec9e4135b7L },
3662
        { 0x6de68a8c6817bbL, 0x7121960f3b6d89L, 0xa7d4261f5a818eL,
3663
          0x0c0ba519157455L, 0x78b6acf450d5ffL, 0x198b4934e8649aL,
3664
          0x0941a3cfd05da3L, 0x264ea4adb55951L }
3665
    },
3666
    {
3667
        { 0xcfee91c46e5a31L, 0x47b6806fff7366L, 0xdb14be45df849dL,
3668
          0x3c5e22bac66cc7L, 0x7f3f284a5f4769L, 0x4e00815383be36L,
3669
          0x39a9f0b8072b0bL, 0x9887cd5c7eadd6L },
3670
        { 0x7dd8f05b659511L, 0x15c796dd2e1cb9L, 0xe5edb0c0d31345L,
3671
          0x2025df06939c60L, 0x6314c08bf15de1L, 0x03c154804c7fb5L,
3672
          0x413337fbb5d3edL, 0xfc20b40477e983L }
3673
    },
3674
    {
3675
        { 0x7f968805db0ef9L, 0x05562dee9c2a70L, 0x071e5bc7dae133L,
3676
          0xa8cdd12237fc4aL, 0x6d565e74ea492bL, 0xa17cf94381ee52L,
3677
          0x6ab8a4e9f5c546L, 0xbb642f340288efL },
3678
        { 0x64e59215df5c2dL, 0x43696e3bb906f4L, 0x73a841a74ae46cL,
3679
          0xe264883c506b8aL, 0x9542e1aa1be548L, 0x89385395e81b4aL,
3680
          0x5642cfaeaca6ceL, 0xed8077b806e0f9L }
3681
    },
3682
},
3683
{
3684
    {
3685
        { 0x1c776c47e13597L, 0x0ec8b289e584fdL, 0x0bb6043b8b61e8L,
3686
          0xdcc17489cd835bL, 0x493e6ac39fef9aL, 0xb44eb34d133e17L,
3687
          0xfebcd0071cb6f9L, 0xe6cf543d20eff2L },
3688
        { 0xf265cad0a004c7L, 0x9b06c9dd35cc12L, 0x769f985cb4ea53L,
3689
          0x29160a20993434L, 0xdf8dd108d939c4L, 0xefa177c6711e2fL,
3690
          0x1695790cd7a2cdL, 0x38da3d777f6642L }
3691
    },
3692
    {
3693
        { 0x9bfcfd96307b74L, 0xc26a36dbfdabc3L, 0x9341be04abe28eL,
3694
          0xdb20b5273d1387L, 0xf8d229c3d1949cL, 0xf1e0afeb8b3a41L,
3695
          0x29c60dfed565d0L, 0x6930bb58b43b2cL },
3696
        { 0x1d76527fc0718fL, 0xdb981431f67189L, 0x0c62f6451f32ccL,
3697
          0x70a66268bd35e5L, 0x1725641c1cece7L, 0x7f130a8f96f4a4L,
3698
          0x72319e9f06ee98L, 0x215b73867bf9b2L }
3699
    },
3700
    {
3701
        { 0x8d1bec20aaddd7L, 0xfb8b95bb8be4f9L, 0xeac193efde1026L,
3702
          0xa5edea79d5860cL, 0x4adbaea44280d3L, 0xce8b67038f4798L,
3703
          0x914c107ec30deaL, 0xbdc5cf7000776bL },
3704
        { 0xb6fd7d1a206a13L, 0x9941ebadae986eL, 0x76c27a81f1caaaL,
3705
          0x6967c123f108b4L, 0x6f115284aea2d0L, 0x9bb4319144ddacL,
3706
          0x1a4d3eac8ec6fcL, 0xfe4b0b8bf37420L }
3707
    },
3708
    {
3709
        { 0x5d9a4a1ec0ac6fL, 0x84b79f2fc7c80dL, 0x64222f7c14fac3L,
3710
          0xdd9e039c23b3f2L, 0x4a84abdea956bbL, 0x370dcbaebe09dcL,
3711
          0x79a9ea8e0eaf82L, 0x4cfb60aaee375fL },
3712
        { 0x6a10dbf9106827L, 0xa3ba5cf43f305bL, 0x481b885c1bb083L,
3713
          0x2f52380b3117b1L, 0x0066122ddd6791L, 0x4f8923e63bace3L,
3714
          0x5c5f499ecb88d4L, 0xfdc780a3bac146L }
3715
    },
3716
    {
3717
        { 0x34b70ae7ba1f71L, 0x909182945bd184L, 0x3b39778e707313L,
3718
          0xdeefc5e6164e91L, 0xbb55bed4971f39L, 0x7d523398dafc8bL,
3719
          0x82391bfa6adf0fL, 0xfd6f90ae319522L },
3720
        { 0x60fdf77f29bbc9L, 0xeff9ed8aaa4030L, 0x978e045f8c0d3fL,
3721
          0xe0502c3eed65cdL, 0x3104d8f3cfd4c8L, 0xab1be44a639005L,
3722
          0xe83f4319eeab3fL, 0x01970e8451d797L }
3723
    },
3724
    {
3725
        { 0xbc972f83180f4bL, 0xac053c0617779dL, 0x89392c57fa149fL,
3726
          0xdc4699bbcb6263L, 0x0ae8b28ce12882L, 0xdca19a7af1a4dcL,
3727
          0xd3d719f64e1a74L, 0xbb50201affdd5dL },
3728
        { 0x56f73107ac30e9L, 0x65cc9c71878900L, 0x83f586627338a3L,
3729
          0x122adefac5bb13L, 0x97de2001bcd4d5L, 0x6ed3985b8aa3a0L,
3730
          0x8680f1d6821f9bL, 0xcb42028dda9f98L }
3731
    },
3732
    {
3733
        { 0xcdb07080ec2db3L, 0xe28c8333dad1a1L, 0x2093e32de2da07L,
3734
          0x731707383b8987L, 0xad17871f552b8dL, 0x846da9851cf70aL,
3735
          0xf94a16e5c4f5e1L, 0x84299960f8348aL },
3736
        { 0x4bf3f6898db78aL, 0xad77fa83d19b52L, 0x69767728b972dcL,
3737
          0x7dfa35a5321be0L, 0x9881846dd344a6L, 0xe550292ad4e2a8L,
3738
          0x8075217bc68bf1L, 0xdd837c4893be15L }
3739
    },
3740
    {
3741
        { 0x09c931ed4fab5bL, 0xb2dcf08b77a0f1L, 0x7dac5c0e0d38a6L,
3742
          0xa5570b00ae73afL, 0xc7c19d3f5aed28L, 0x575fa6f5251e92L,
3743
          0xb843cd6cdf7275L, 0xd9d3d8e9a01287L },
3744
        { 0xf94e356b3c370bL, 0xc62b99ffe464b0L, 0x7792650a986057L,
3745
          0xeaa67d5c4b1874L, 0xba1ba4d0b07078L, 0xdbf636d7a03699L,
3746
          0x1a16c34edd32a3L, 0x6ce2495a45cb5dL }
3747
    },
3748
},
3749
{
3750
    {
3751
        { 0xd7c4d9aa684441L, 0xce62af630cd42aL, 0xcd2669b43014c4L,
3752
          0xce7e7116f65b24L, 0x1847ce9576fa19L, 0x82585ac9dd8ca6L,
3753
          0x3009096b42e1dbL, 0x2b2c83e384ab8bL },
3754
        { 0xe171ffcb4e9a6eL, 0x9de42187374b40L, 0x5701f9fdb1d616L,
3755
          0x211e122a3e8cbcL, 0x04e8c1a1e400bfL, 0x02974700f37159L,
3756
          0x41775d13df8c28L, 0xcfaad4a61ac2dbL }
3757
    },
3758
    {
3759
        { 0x6341b4d7dc0f49L, 0xaff6c2df471a53L, 0x20ec795fb8e91eL,
3760
          0x4c7a4dfc3b7b62L, 0x9f33ff2d374938L, 0x38f8c653a60f2eL,
3761
          0xc1168ac2efef73L, 0x046146fce408eeL },
3762
        { 0x9b39ac0308b0c3L, 0xe032d6136b8570L, 0xee07d8dfc4aacfL,
3763
          0x0a82acbd5a41ddL, 0xbe0ded27c3d726L, 0xce51d60b926ce9L,
3764
          0xfa2f7f45806c1eL, 0xe367c6d1dec59cL }
3765
    },
3766
    {
3767
        { 0x64511b6da2547bL, 0x76a349c0761405L, 0x37d662601223abL,
3768
          0x0e243c1f4d7c48L, 0xdc9c8b4da756a0L, 0xc7430dfd72e7e9L,
3769
          0x0eb130827b4210L, 0x7a9c044cf11cbdL },
3770
        { 0x2c08ff6e8dd150L, 0x18b738c2932fc6L, 0x07d565104513e8L,
3771
          0x0ca5cffaa40a17L, 0xd48634101baa8fL, 0xfb20fafb72b79eL,
3772
          0x1a051e5654020fL, 0xe3b33174e17f23L }
3773
    },
3774
    {
3775
        { 0x05910484de9428L, 0x620542a5abdf97L, 0xaa0ededa16a4d1L,
3776
          0xa93f71c6d65bb9L, 0x88be135b8dfaf9L, 0x1d9f4e557ca8eeL,
3777
          0x4c896aa26781adL, 0xd3fbe316c6c49fL },
3778
        { 0x088d8522c34c3dL, 0xbb6d645badff1eL, 0xe3080b8385450dL,
3779
          0x5ccc54c50ab1f3L, 0x4e07e6eac0657dL, 0xa7ba596b7ef2c0L,
3780
          0xcceca8a73a81e9L, 0xa0b804c8284c35L }
3781
    },
3782
    {
3783
        { 0x7c55956f17a6a2L, 0xb451d81789cfa8L, 0xdf414e82506eaaL,
3784
          0x6ef40fbae96562L, 0x63ea2830e0297eL, 0xf5df26e73c46faL,
3785
          0xe00641caac8bceL, 0xc89ed8f64371f3L },
3786
        { 0xd22b08e793202eL, 0x39a9033875cb50L, 0xe64eec0f85ddb4L,
3787
          0xdce45a77acf7b5L, 0x39d1e71b9b802dL, 0xafdfe7cbd559acL,
3788
          0x17ec1f8809eeb5L, 0x8c0e38a4889b8cL }
3789
    },
3790
    {
3791
        { 0x47eabfe17089daL, 0x2d18466ec90c50L, 0xa511aa45861531L,
3792
          0xebb3d348c39b39L, 0xa0ac4daf1b5282L, 0xea26be7a9dadbaL,
3793
          0x8992ba8554d86eL, 0x7fcbdb6d5f2ef5L },
3794
        { 0x320e79b56863e7L, 0xeb9d0c0a7dce2dL, 0xb9f4031784cbc6L,
3795
          0x68823ee7ac1f81L, 0xa6b6f4f9d87497L, 0x83c67b657f9b6eL,
3796
          0x37357470fef2a7L, 0xf38028f59596e2L }
3797
    },
3798
    {
3799
        { 0x9ea57ab7e82886L, 0x18221c548c44d5L, 0xbf8e6cf314a24fL,
3800
          0x70ff18efd025e5L, 0x08d03de5334468L, 0x2b206d57404fb7L,
3801
          0xb92327155e36b0L, 0xcc7604ab88ddd9L },
3802
        { 0x3df51524a746f0L, 0x8fdebd8168e3fcL, 0xffc550c7f8c32cL,
3803
          0x1dbbc17148743eL, 0xd48af29b88e18bL, 0x8dca11c750027cL,
3804
          0x717f9db1832be3L, 0x22923e02b06019L }
3805
    },
3806
    {
3807
        { 0xd4e06f5c1cc4d3L, 0x0fa32e32b4f03aL, 0x956b9afc4628d0L,
3808
          0x95c39ce939dad1L, 0x39d41e08a00416L, 0xfd7ff266fb01aaL,
3809
          0xc6033d545af340L, 0x2f655428e36584L },
3810
        { 0x14cfb1f8dff960L, 0x7236ffcda81474L, 0xc6a6788d452d0fL,
3811
          0x2ad4a5277f6094L, 0x369d65a07eea74L, 0x27c6c38d6229aaL,
3812
          0xe590e098863976L, 0x361ca6eb38b142L }
3813
    },
3814
},
3815
{
3816
    {
3817
        { 0x6803413dfeb7efL, 0xb669d71d3f4fadL, 0x5df402ac941606L,
3818
          0xe5d17768e6c5b7L, 0x131bcb392ab236L, 0x7f1fb31ce2e0e0L,
3819
          0xa2c020d9e98c35L, 0x33b23c0f28657bL },
3820
        { 0xed14e739cf7879L, 0x10d4867b4357b3L, 0x127cea331e4e04L,
3821
          0xc60d25faa5f8a7L, 0xfef840a025b987L, 0x78081d666f2a0aL,
3822
          0x0fa0b97ac36198L, 0xe0bb919134dc9fL }
3823
    },
3824
    {
3825
        { 0xc1d2461cc32eaeL, 0x0fdbfdf0f79a37L, 0x70f2bc21c95f02L,
3826
          0x7d68bec372cddfL, 0x44f78178439342L, 0xa3d56784843a6cL,
3827
          0xbadf77a07f8959L, 0xf45819873db4caL },
3828
        { 0xe8eaaf3d54f805L, 0x2f529d1b84c1e7L, 0x404e32e21e535cL,
3829
          0xabac85c159b5f5L, 0x4e8e594b00466fL, 0x40fcaabc941873L,
3830
          0x3b4e370be407c6L, 0xccd57885b2e58dL }
3831
    },
3832
    {
3833
        { 0x3ee615e88b74a8L, 0xd7d6608eab4e69L, 0x27cf9f1e4ace36L,
3834
          0x282359e7aebabbL, 0x96e509bf6d162fL, 0xad906f3f1a290aL,
3835
          0xe7d6c4f1314a58L, 0xeecffe4218431dL },
3836
        { 0xa66e0e9e2cfed9L, 0xb0887ec71f0544L, 0xd34e36ba04c5d7L,
3837
          0x094daa5ed4392dL, 0xcda83adc8aa925L, 0x1adef91b979786L,
3838
          0x3124dcbfddc5d6L, 0x5cc27ed0b70c14L }
3839
    },
3840
    {
3841
        { 0x386dbc00eac2d8L, 0xa716ecbc50ca30L, 0x9e3fc0580d9f04L,
3842
          0x37dde44cfeacebL, 0xd88d74da3522d5L, 0x6bb9e9f2cf239aL,
3843
          0x9e7fb49a7cbfecL, 0xe1a75f00a5c0efL },
3844
        { 0x6e434e7fb9229dL, 0x0ec6df5c8a79b3L, 0x7046380d3fb311L,
3845
          0xe957ef052e20faL, 0x0f4fe9a9ef4614L, 0x1b37d9c54d8f2bL,
3846
          0x23b2dc139d84a2L, 0xf62c4f6724e713L }
3847
    },
3848
    {
3849
        { 0xbd6922c747e219L, 0x34d14383869b7bL, 0x8c875a596f2272L,
3850
          0xd9602c03fe361eL, 0x081348f744839fL, 0x61bd16c61ac1f1L,
3851
          0x993b727d8da4e1L, 0xbb40ba87741271L },
3852
        { 0xe6dcc9881dcfffL, 0x9f513f593ce616L, 0xdc09683618cd8fL,
3853
          0xc3b1d1026639beL, 0xe8f149fc762ee2L, 0x59f26efb244aaeL,
3854
          0x3f2de27693dd96L, 0xd8b68f79c3a7deL }
3855
    },
3856
    {
3857
        { 0x6fa20b9970bd5bL, 0x87242d775f6179L, 0xa95a6c672d9308L,
3858
          0x6eb251837a8a58L, 0xfdea12ac59562cL, 0x4419c1e20f1fc3L,
3859
          0x0c1bd999d66788L, 0x4b7428832c0547L },
3860
        { 0x4f38accdf479abL, 0x01f6271c52a942L, 0xe3298f402ca9a7L,
3861
          0x533dacab718fc8L, 0x133602ab093ca8L, 0xc04da808f98104L,
3862
          0xd0f2e23af08620L, 0x882c817178b164L }
3863
    },
3864
    {
3865
        { 0x28e6678ec30a71L, 0xe646879f78aca1L, 0x868a64b88fa078L,
3866
          0x671030afee3433L, 0xb2a06bb87c0211L, 0x202eca946c406aL,
3867
          0x64d6284e4f0f59L, 0x56ae4a23c9f907L },
3868
        { 0x5abbb561dcc100L, 0x6fef6cf07c7784L, 0xb6e25cddb7302dL,
3869
          0xa26785b42980e8L, 0xe7d4043fb96801L, 0x46df55d8e4282bL,
3870
          0x9c0a5f5c602d6eL, 0xf06560475dfe29L }
3871
    },
3872
    {
3873
        { 0x0e82a1a3dcbc90L, 0xb1ee285656feacL, 0xfa4353b0d3d3b2L,
3874
          0xc2e7a6edd5c5dfL, 0x13707e1416ce53L, 0xc84ce0787ebc07L,
3875
          0xdd273ce8a9a834L, 0x432a6175e8e1e7L },
3876
        { 0xa359670bd0064aL, 0xc899dd56534516L, 0x666560edb27169L,
3877
          0x1537b22a19a068L, 0x3420507eac7527L, 0x479f25e6fc13a7L,
3878
          0xc847acc1bc19b3L, 0xecdecf00b20d45L }
3879
    },
3880
},
3881
{
3882
    {
3883
        { 0x6f241004acea57L, 0xdace1c6da68597L, 0xea7dd4150ce77fL,
3884
          0x1aecb841585884L, 0x92ff208ea4a85cL, 0xde9433c88eebd2L,
3885
          0x53cd3183f4d289L, 0x397085826539afL },
3886
        { 0x4b57599b827d87L, 0xdc82ac03d77638L, 0x694336652f6e61L,
3887
          0xb8fc4b0ad5e8a6L, 0x1b6f7dcf388642L, 0x6f24533a74dd57L,
3888
          0xc66937841750cfL, 0x06757eb28a37afL }
3889
    },
3890
    {
3891
        { 0x0e70d53c133995L, 0x88a5e0c7c8c97dL, 0x4e59dbf85f3be3L,
3892
          0x0f364ac0e92698L, 0x3a1e79bef6940fL, 0xc8a3941d85d23aL,
3893
          0x143bb999a00e58L, 0x61cf7d6c6f2f10L },
3894
        { 0x979c99485150feL, 0xcfd0df259d773fL, 0xce97b9daab7bcdL,
3895
          0xc9fff8e6afd8fcL, 0x246befd89a4628L, 0xf6302821567090L,
3896
          0x15393426749c58L, 0xff47d0ea0f3fd3L }
3897
    },
3898
    {
3899
        { 0x09b0bfd35f6706L, 0x74645812c82e69L, 0xb60729f50d5fe9L,
3900
          0xf13324595c74f1L, 0x33647e3bb76c89L, 0x01264045a9afccL,
3901
          0x46d57ee0f154abL, 0x2efa55525680a4L },
3902
        { 0x12ebfc65329d90L, 0xcb37ae579800afL, 0x5bb53496f8e310L,
3903
          0x9b59c63f1bb936L, 0x5b49baaf4610e9L, 0x2bbeeef4f2d6acL,
3904
          0x87ee21e0badc67L, 0x12e2aadf1ddfa0L }
3905
    },
3906
    {
3907
        { 0x5b4668fa9109eeL, 0xfa951338a6cea2L, 0xe45e6fc4068e16L,
3908
          0x8ae9a0c0205ed8L, 0x2993b96679b79bL, 0xc6b878fed604d3L,
3909
          0x01d020832c77f3L, 0xd45d890495a1abL },
3910
        { 0x99348fa29d2030L, 0x961f9a661f8f7aL, 0xfd53212674f74bL,
3911
          0x45cee23b3e72bcL, 0x3fccb86b77e2d5L, 0xdff03104219cb7L,
3912
          0x233771dc056871L, 0x1214e327d2c521L }
3913
    },
3914
    {
3915
        { 0x9f51e15ff2a8e1L, 0x86571c5138bc70L, 0xbfc4caf0c09d46L,
3916
          0x65e33fec2a0c18L, 0x8214392426867dL, 0x51ce6c080ae4edL,
3917
          0x6cbe8d7b110de6L, 0x7f6e947fd22ea4L },
3918
        { 0x7373a75cadefc4L, 0x6fca1d2b0c682fL, 0xcd2140df3c7c1eL,
3919
          0x8653a37558b7a5L, 0x653e74e55eb321L, 0xbe0c6b3c31af73L,
3920
          0x3376379f4fc365L, 0x3570b3771add4dL }
3921
    },
3922
    {
3923
        { 0x9061ec183c3494L, 0xaf2f28d677bc95L, 0x6fe72793bf8768L,
3924
          0xc5f50e30fa86d8L, 0x6c03060a3293ceL, 0x4d53357e2355a6L,
3925
          0x43a59eae4df931L, 0x6f48f5d13b79c6L },
3926
        { 0xa4d073dddc5192L, 0x6d0e318a65773fL, 0x1008792765de9eL,
3927
          0xa724ed239a0375L, 0x510ff1497d7c9eL, 0x251f6225baa863L,
3928
          0x86464fe648a351L, 0xf85e98fd50fd91L }
3929
    },
3930
    {
3931
        { 0x29c963486ee987L, 0x93e8e5210dcc9fL, 0xa1fc4d1c910b1fL,
3932
          0x015acacfeb603eL, 0xc9f25f80844a5fL, 0x50de93c73f4dacL,
3933
          0x1758783310a4aaL, 0x544d570358f106L },
3934
        { 0x4eeec7b1dc68caL, 0x6238e6fe00fbcbL, 0x34d394cb4e83c9L,
3935
          0x764ffa22292656L, 0x5614cd1f641f2eL, 0x4252eb69e07234L,
3936
          0xcbaef4568d2ba4L, 0x8c9c5508a98b17L }
3937
    },
3938
    {
3939
        { 0xf235d9d4106140L, 0x1bf2fc39eb601eL, 0x6fb6ca9375e0c3L,
3940
          0x4bf5492c0024d2L, 0x3d97093eb54cc6L, 0xc60931f5c90cb5L,
3941
          0xfa88808fbe0f1aL, 0xc22b83dd33e7d4L },
3942
        { 0x9cfec53c0abbf5L, 0x52c3f0a93723dfL, 0x0622b7e39b96b6L,
3943
          0x300de281667270L, 0x50b66c79ef426aL, 0x8849189c6eb295L,
3944
          0xeaec3a98914a7eL, 0x7ed56b0c4c99e0L }
3945
    },
3946
},
3947
{
3948
    {
3949
        { 0x7926403687e557L, 0xa3498165310017L, 0x1b06e91d43a8fdL,
3950
          0xf201db46ac23cbL, 0x6f172ad4f48750L, 0x5ed8c8ce74bd3eL,
3951
          0x492a654daba648L, 0x123010ba9b64ffL },
3952
        { 0xa83125b6e89f93L, 0x3a3b0b0398378aL, 0x9622e0b0aebe7cL,
3953
          0xb9cbfdc49512a4L, 0x13edffd6aaf12aL, 0x555dff59f5eafdL,
3954
          0x3cba6fe1212efaL, 0xd07b744d9bb0f8L }
3955
    },
3956
    {
3957
        { 0x45732b09a48920L, 0xf3080fc13ff36dL, 0x9347395de8f950L,
3958
          0x14d025a382b897L, 0x60c5a7404d72adL, 0x30be7e511a9c71L,
3959
          0x43ffabd31ac33aL, 0x97b06f335cbb14L },
3960
        { 0xe4ff5c57740de9L, 0x5fed090aacf81eL, 0x97196eee8b7c9dL,
3961
          0x316dcd1045910bL, 0x7a2b2f55ad8c63L, 0x674fffdc5b03bbL,
3962
          0xc1cd133e65953cL, 0x3c060520a83556L }
3963
    },
3964
    {
3965
        { 0x797c3f6091c23dL, 0x2ea2de339c9c05L, 0x5d958b4a31f67cL,
3966
          0xf97afe5d5f088cL, 0xbcfbd2a0b37243L, 0xc43ad3eeca630cL,
3967
          0xb92a33742845e0L, 0x970bff7a9a0f16L },
3968
        { 0x86355115970a79L, 0xcee332ef205928L, 0x2c58d70c04c208L,
3969
          0xdbfe19a3f5e5bfL, 0x8f8f2c88e51c56L, 0xb61f58e8e2da75L,
3970
          0x4046a19624d93fL, 0x7de64dbe1f9538L }
3971
    },
3972
    {
3973
        { 0xd018e1cc2d850eL, 0x8cdb64363a723cL, 0x9a65abe90a42afL,
3974
          0xfeece9616f20ccL, 0xc906800d5cff56L, 0x0acf23a3f0deedL,
3975
          0x2143061728dd3aL, 0x66276e2b8ce34cL },
3976
        { 0x23700dc73cc9c7L, 0xdb448515b1778bL, 0x330f41e4aab669L,
3977
          0x2f5aabcf5282a4L, 0xff837a930f9e01L, 0x1a1eb2f901cc98L,
3978
          0xd3f4ed9e69bd7fL, 0xa6b11418a72a7dL }
3979
    },
3980
    {
3981
        { 0x34bde809ea3b43L, 0x5ddcb705ced6aeL, 0x8257f5b95a6cb8L,
3982
          0xaac205dc77dcb8L, 0x77d740d035b397L, 0xca7847fcf7e0a6L,
3983
          0x9404dd6085601bL, 0x0a5046c457e4f9L },
3984
        { 0xcaee868bc11470L, 0xb118796005c5f6L, 0xcc04976ec79173L,
3985
          0x7f51ba721f6827L, 0xa8e3f0c486ff7eL, 0x327163af87838cL,
3986
          0xcf2883e6d039fdL, 0x6fb7ab6db8b0e2L }
3987
    },
3988
    {
3989
        { 0x8ca5bac620d669L, 0xff707c8ed7caa9L, 0xdaefa2b927909bL,
3990
          0x1d2f9557029da3L, 0x52a3ba46d131a0L, 0xe5a94fd3ab1041L,
3991
          0x508917799bc0aeL, 0xf750354fa1bd16L },
3992
        { 0xdd4e83a6cd31fdL, 0xd33505392fac84L, 0xf914cbc1691382L,
3993
          0x669683fda6ade6L, 0x69446438878513L, 0x429d3cc4b1a72dL,
3994
          0x655c46a61eec36L, 0x881eded4bc4970L }
3995
    },
3996
    {
3997
        { 0x5b39d377ca647fL, 0x41533c1e917b34L, 0xea2aeb57daf734L,
3998
          0xf1ef1eb1286560L, 0x582f2e008e0473L, 0x5913d7d5edc74aL,
3999
          0x588c7ec3c1e754L, 0xbd6db057146fe1L },
4000
        { 0x3b0d49e7634907L, 0x4c65ce4e43b9ccL, 0xb87e9582d92d5bL,
4001
          0x05135727ab1519L, 0x03ec0848c3aed0L, 0x4d7aa21561a641L,
4002
          0xe5f821199e92adL, 0x379b55f48a457cL }
4003
    },
4004
    {
4005
        { 0x8317c34d6a8442L, 0xb0ab4a5ae499daL, 0xebcb16e720e8ebL,
4006
          0xfd5c5639a96908L, 0xcab4d67ad23acfL, 0xa600a79bcdf748L,
4007
          0x18a6340a2a6a51L, 0xf2f415c3aabd69L },
4008
        { 0xdb38a4f747258aL, 0xb6ea5602e24415L, 0xfad1ea9f1f7655L,
4009
          0x4e27eb5c957684L, 0xf8283e1b2e1cfcL, 0x8f83bd6aa6291cL,
4010
          0x28d23b55619e84L, 0xb9f34e893770a4L }
4011
    },
4012
},
4013
{
4014
    {
4015
        { 0x1bb84377515fb1L, 0xac73f2a7b860a6L, 0x78afdfa22b390fL,
4016
          0x815502b66048aaL, 0xf513b9785bf620L, 0x2524e653fc5d7cL,
4017
          0xa10adc0178c969L, 0xa1d53965391c8dL },
4018
        { 0x09fccc5a8bcc45L, 0xa1f97d67710e1eL, 0xd694442897d0a1L,
4019
          0x7030beb5f42400L, 0xdebe08c7127908L, 0x96b715c2187637L,
4020
          0xc598250b528129L, 0x0f62f45a1ccb07L }
4021
    },
4022
    {
4023
        { 0x8404941b765479L, 0xfdecff45837dc4L, 0x1796372adbd465L,
4024
          0x5f84c793159806L, 0x6d2e46b6aaad34L, 0xd303b4a384b375L,
4025
          0x440acd5b392002L, 0x4f2a4a7c475e87L },
4026
        { 0x038e1da5606fc2L, 0x2d821c29c2f050L, 0xc074cb3f139db4L,
4027
          0xde2fee74ec59beL, 0x5a819eea84ed59L, 0xd65c62c3e98711L,
4028
          0x72eb440b9723c1L, 0xb92775401be611L }
4029
    },
4030
    {
4031
        { 0x929fe64ab9e9fcL, 0x04379fd0bf1e85L, 0xb322093bc28ee3L,
4032
          0x78ac4e2e4555e1L, 0xdb42b58abc5588L, 0x1c1b5e177c8b12L,
4033
          0xf6d78dd40366c4L, 0xc21ff75bdae22eL },
4034
        { 0x1e3d28ea211df2L, 0xc5a65a13617c0aL, 0x3fa02c058140d5L,
4035
          0x155c346b62d10cL, 0xc9cf142e48268fL, 0xdc140831993bc3L,
4036
          0x07c44d40ee69dcL, 0x61699505e2ac46L }
4037
    },
4038
    {
4039
        { 0x44e4a51d0fb585L, 0x00846bef1f3ce8L, 0xedef39a8e2de1eL,
4040
          0x430afe333b3934L, 0xac78b054337188L, 0x0f39de4c9a3f24L,
4041
          0x039edddc9ae6a4L, 0xf4701578eacd51L },
4042
        { 0x1e396949a2f31aL, 0xc8a40f4b19a8b1L, 0xdddd10c9d239d8L,
4043
          0xf974245887e066L, 0xfdb51113ea28c6L, 0xb5af0fbe1122a9L,
4044
          0xd30c89f36e0267L, 0x7b1c0f774f024cL }
4045
    },
4046
    {
4047
        { 0x1ec995607a39bfL, 0x1c3ecf23a68d15L, 0xd8a5c4e4f59fe9L,
4048
          0xacb2032271abc3L, 0xbc6bdf071ef239L, 0x660d7abb39b391L,
4049
          0x2e73bb2b627a0eL, 0x3464d7e248fc7eL },
4050
        { 0xaa492491666760L, 0xa257b6a8582659L, 0xf572cef5593089L,
4051
          0x2f51bde73ca6bfL, 0x234b63f764cff5L, 0x29f48ead411a35L,
4052
          0xd837840afe1db1L, 0x58ec0b1d9f4c4bL }
4053
    },
4054
    {
4055
        { 0x8e1deba5e6f3dcL, 0xc636cf406a5ff7L, 0xe172b06c80ca0fL,
4056
          0x56dc0985ffb90aL, 0x895c2189a05e83L, 0x6ddfaec7561ac2L,
4057
          0xaa3574996283a0L, 0x6dfb2627e7cd43L },
4058
        { 0x6576de52c8ca27L, 0x6a4a87249018ebL, 0x00c275c5c34342L,
4059
          0xe34805ad2d90c4L, 0x651b161d8743c4L, 0xb3b9d9b7312bf3L,
4060
          0x5d4b8e20bf7e00L, 0x8899bdf78d3d7eL }
4061
    },
4062
    {
4063
        { 0x9644ad8faa9cd1L, 0x34c98bf6e0e58eL, 0x6022aad404c637L,
4064
          0x2a11a737ac013bL, 0x5bdd1035540899L, 0x2e675721e022a4L,
4065
          0xe32045db834c33L, 0x74a260c2f2d01cL },
4066
        { 0x20d59e9c48841cL, 0x05045dde560359L, 0xeba779cac998acL,
4067
          0x5bed10c00a6218L, 0x25d4f8e5327ef4L, 0xa2784744597794L,
4068
          0xefd68ca831d11eL, 0x9ad370d934446aL }
4069
    },
4070
    {
4071
        { 0x3089b3e73c92acL, 0x0ff3f27957a75cL, 0x843d3d9d676f50L,
4072
          0xe547a19d496d43L, 0x68911c98e924a4L, 0xfab38f885b5522L,
4073
          0x104881183e0ac5L, 0xcaccea9dc788c4L },
4074
        { 0xfbe2e95e3c6aadL, 0xa7b3992b3a6cf1L, 0x5302ec587d78b1L,
4075
          0xf589a0e1826100L, 0x2acdb978610632L, 0x1e4ea8f9232b26L,
4076
          0xb21194e9c09a15L, 0xab13645849b909L }
4077
    },
4078
},
4079
{
4080
    {
4081
        { 0x92e5d6df3a71c1L, 0x349ed29297d661L, 0xe58bd521713fc9L,
4082
          0xad999a7b9ddfb5L, 0x271c30f3c28ce0L, 0xf6cd7dc2a9d460L,
4083
          0xaf728e9207dec7L, 0x9c2a532fcb8bf0L },
4084
        { 0xd70218468bf486L, 0x73b45be7ab8ea8L, 0xddfc6581795c93L,
4085
          0x79416606bb8da2L, 0x658f19788e07a2L, 0xa9d5b0826d3d12L,
4086
          0x4d7c95f9535b52L, 0xad55e25268ef8aL }
4087
    },
4088
    {
4089
        { 0x94a9b0ba2bc326L, 0x485ecc5167e5f3L, 0x8340bc7c97fc74L,
4090
          0x06f882b07aaa5cL, 0x4b57455849698aL, 0xd9281ebb36a0baL,
4091
          0x8918c6c8b8108fL, 0xedd1eea5b50d1dL },
4092
        { 0x94d737d2a25f50L, 0x0e5a8232446ad0L, 0x02a54357ced3e2L,
4093
          0xb09a92a4af8cedL, 0x85fc498eeecef2L, 0x06a02b9e71e3d4L,
4094
          0x00ad30784bb49aL, 0xf61585e64a5b4aL }
4095
    },
4096
    {
4097
        { 0x915f6d8b86a4c9L, 0x944bc6ba861e1fL, 0x3091ca754465efL,
4098
          0x11df859eb53a38L, 0xd44dde50144679L, 0x6c8da9a0994eddL,
4099
          0xeebcebf91241efL, 0xc419354c2f6859L },
4100
        { 0x1f4969349581b6L, 0x5712b10bb26cb4L, 0x8fcaa41b09fd59L,
4101
          0xbd39aad72e22e3L, 0xf70e794b1199b0L, 0xdf63c0cc6f863dL,
4102
          0xd58166fee9df4fL, 0xb9224eac45e70bL }
4103
    },
4104
    {
4105
        { 0x80072face525f4L, 0x8597bd666a5502L, 0xf65e203dbc9725L,
4106
          0xeccfbe3f2222a4L, 0x490aa422339834L, 0x134889162489e8L,
4107
          0xaff3f80a735084L, 0x69d53d2f3f1bd6L },
4108
        { 0xb123ffc813341aL, 0x359084c1173848L, 0x751425ed29b08dL,
4109
          0x1edda523890ad4L, 0xb64974c607cf20L, 0xa8c8cb8b42ac7cL,
4110
          0xd5cb305edd42e5L, 0xf3034dc44c090aL }
4111
    },
4112
    {
4113
        { 0x428921dbb18e19L, 0x4cfd680fed2127L, 0x671144d92ac8c3L,
4114
          0x2121901132c894L, 0x25d0e567604cd9L, 0xa372223afbc2a0L,
4115
          0xcf98a5256c16f7L, 0x71f129ab5459e1L },
4116
        { 0xf4afdc5b668b2eL, 0xc5d937a0c2d410L, 0xe2cc4af285d54aL,
4117
          0x1c827778c53e18L, 0x270f2c369a92f6L, 0x799f9ac616327aL,
4118
          0xce658d9d4246f2L, 0x0fb681ffb12e36L }
4119
    },
4120
    {
4121
        { 0xc5ab11ee0690feL, 0x80261e33f74249L, 0x8eb4b4758c1cf2L,
4122
          0x4895a80184ae9bL, 0x4a4bdb6d3e27ebL, 0xa7a1638bfd251cL,
4123
          0x29ec144417a7e3L, 0xd0736093f1b960L },
4124
        { 0xcb1ed8349c73d1L, 0x33fc84a8d1945aL, 0x9f668dbe965118L,
4125
          0x3331743a82811fL, 0xf394dec28ba540L, 0x44ce601654a454L,
4126
          0x240dbb63623645L, 0xf07e7f22e61048L }
4127
    },
4128
    {
4129
        { 0x7c9f1763d45213L, 0x3eefa709c1f77fL, 0xde3c3c51b48350L,
4130
          0x4a2bc649d481a7L, 0xfd4a58a7874f3dL, 0x96655d4037b302L,
4131
          0x945252868bf5abL, 0x1b6d46a75177f6L },
4132
        { 0x7de6763efb8d00L, 0xb2c1ba7a741b7bL, 0xcca6af47bae6edL,
4133
          0xe4378ca5b68b3fL, 0xfb757deaf71948L, 0x7f07b5ebc6ac99L,
4134
          0x752a56827d636dL, 0xc8b7d1d4b8a34fL }
4135
    },
4136
    {
4137
        { 0x76cb78e325331bL, 0x41f41c9add2eedL, 0x03db2385c5f623L,
4138
          0xbbc1d177102fa2L, 0x80f137a60182ecL, 0xfdd856955adf15L,
4139
          0x4f53f5ee3373dcL, 0xec6faf021b669bL },
4140
        { 0x7d4e9830b86081L, 0x10d3cd9f2d979cL, 0x0f48f5824a22c8L,
4141
          0x86c540c02f99eeL, 0xf4c66545e6c5fcL, 0xaf0c588bc404c8L,
4142
          0x2e6edbd423118aL, 0x86e32e90690eabL }
4143
    },
4144
},
4145
{
4146
    {
4147
        { 0x1d12656dfbfa6fL, 0xa4980957646018L, 0x2f1071bc3597d0L,
4148
          0x3df83f91dda80aL, 0x5853e28f3ae449L, 0xb853d319e19aadL,
4149
          0x863f01ba0d8a46L, 0xa84fca62fef108L },
4150
        { 0xbe4c0b7fb84de9L, 0x40a03dcc0727bfL, 0x781f841b18575cL,
4151
          0x6a63045466cddbL, 0x6be758205dc7a2L, 0x420f87f07ae811L,
4152
          0x28082423bf96c8L, 0x723998c51c6821L }
4153
    },
4154
    {
4155
        { 0x38ab64181f5863L, 0xd82ecbd05ff9e1L, 0x339c94ea065856L,
4156
          0x143054aa45156dL, 0xe6d64bf065628cL, 0xe530086a938589L,
4157
          0x22d3a49385d79bL, 0x0b107900ab8245L },
4158
        { 0xb0d80fbca387b5L, 0x698206e35551d7L, 0x199685da10bb73L,
4159
          0xa8e5fa89107378L, 0x36e5724d99dbbfL, 0xd67f476d581b03L,
4160
          0x7a15be788dd1e6L, 0x8dac8e4e5baa31L }
4161
    },
4162
    {
4163
        { 0x4d5d88fe170ef8L, 0xb6ba5de1e9e600L, 0x4a89d41edeabc5L,
4164
          0x737c66b8fac936L, 0x8d05b2365c3125L, 0x85a5cbcb61b68eL,
4165
          0x8fea62620a6af9L, 0x85115ded8b50ecL },
4166
        { 0x5430c8d6a6f30bL, 0x8bef9cf8474295L, 0x0648f5bbe77f38L,
4167
          0xfe2b72f9e47bd7L, 0xad6c5da93106e2L, 0x4fa6f3dfa7a6c3L,
4168
          0xdcd2ed8b396650L, 0x7de1cce1157ef9L }
4169
    },
4170
    {
4171
        { 0x70a5f6c1f241d1L, 0x6c354d8798cd5cL, 0x23c78381a729fbL,
4172
          0xcff8f15523cbdaL, 0x5683ff43493697L, 0xef7dbab7534f53L,
4173
          0xd7bd08e2243d53L, 0x6f644cbf8072a9L },
4174
        { 0xac960f9b22db63L, 0xa97f41723af04dL, 0x692b652d9798afL,
4175
          0x0e35967fedb156L, 0x14b5e50dfe6ee8L, 0x7597edeb411070L,
4176
          0x116f3ce442b3f9L, 0xe9b5ae81b2b6dbL }
4177
    },
4178
    {
4179
        { 0xf4385ee2315930L, 0xc8d029827a8740L, 0x7907a8dd934a43L,
4180
          0x20bc946c582191L, 0xa4acb3e6a405e7L, 0x8c1d6c843df2f5L,
4181
          0x9df1593991f0b5L, 0xbb9df984d9be9dL },
4182
        { 0x63620088e4b190L, 0xee1421eada3a88L, 0xb84f0ccf93b027L,
4183
          0x7a5d6678e95091L, 0x3974462f3e3704L, 0xfa6fb5ec593e98L,
4184
          0x44b6cf7a6477d2L, 0xe885b57b09a562L }
4185
    },
4186
    {
4187
        { 0x6e339e909a0c02L, 0x57afff00e75f29L, 0x797d8d6fb7db03L,
4188
          0xc6e11a3d25a236L, 0x643ce1c0107260L, 0xe644ec462eae1cL,
4189
          0x821d5b83f5a3f5L, 0xa8ad453c0579d6L },
4190
        { 0x6518ed417d43a4L, 0x46e76a53f87ccdL, 0xd6cbaabf9bef95L,
4191
          0x25688324f7cbcfL, 0x367159a08476b4L, 0x1d1b401be6d324L,
4192
          0x348cb98a605026L, 0x144f3fe43b6b1eL }
4193
    },
4194
    {
4195
        { 0xbabbd787b1822cL, 0xd34ba7e2aa51f8L, 0x086f1cc41fbea4L,
4196
          0x96f7eac746f3d9L, 0xad97f26281ecafL, 0x751a905a14ee2cL,
4197
          0xb4e7fe90d7335fL, 0x0d97b8f4892ff0L },
4198
        { 0xdb8a3155a5c40eL, 0x64e5de77ba567bL, 0x4f155f71eefe88L,
4199
          0xe2297e9fb6fbf4L, 0xfe24bf96c16be5L, 0x2251847cdd83e2L,
4200
          0x13ac2c85eda444L, 0x49d1b85283275fL }
4201
    },
4202
    {
4203
        { 0xca08731423e08fL, 0x7046bb087d2f14L, 0x876f10c3bc846cL,
4204
          0x2202b76358fbe3L, 0x0d4fc1c0e26ac6L, 0x1fc748bb986881L,
4205
          0x609e61c8384a18L, 0x28a72d60d88e00L },
4206
        { 0x1332a3178c6e2fL, 0x0367919b3526a4L, 0x53989e4698fe3eL,
4207
          0x14b1145b16a99bL, 0xef9ec80ddbb75fL, 0x76256240e53955L,
4208
          0x54e087a8744ae1L, 0xce50e8a672b875L }
4209
    },
4210
},
4211
{
4212
    {
4213
        { 0x4c88b2ba29629cL, 0x946559c7b2642fL, 0x933d432f7ebe4cL,
4214
          0x97109b663632c9L, 0x799b3fbe53184dL, 0xd4628710f069a6L,
4215
          0x0c182a13a68351L, 0x974a8399a2437aL },
4216
        { 0x29f19972a70278L, 0x01b98b6d9c424bL, 0xd85a60b08f4c37L,
4217
          0xcc3523f2b1da15L, 0xf922115ddffb0fL, 0xee0fe4dde84ae2L,
4218
          0x810440c55365beL, 0xd2f66391a457e8L }
4219
    },
4220
    {
4221
        { 0x5e6879fe2ddd05L, 0x92a7545abdfc61L, 0x7dedd63a5cede8L,
4222
          0x8a03b3f70df4bdL, 0xa5d1f6591f6cbbL, 0x372fde610f3fb2L,
4223
          0x4537f9ea9dee05L, 0x7eb85bbdf7aa50L },
4224
        { 0x963edf8e8c504dL, 0x53c8dcae7bdb6bL, 0xa246e4c6fedf2dL,
4225
          0x75533400c55bdeL, 0x2aa748d0270a54L, 0xadb6cf005860ddL,
4226
          0x8d314509b84763L, 0x626720deb405efL }
4227
    },
4228
    {
4229
        { 0xa3709ae6601328L, 0x68e94fd2ac2478L, 0x38793439d5d247L,
4230
          0xfa467af392c198L, 0x49e7b0d15df607L, 0x8c5812261792a8L,
4231
          0x79f76581d3762fL, 0xaa38895244a39dL },
4232
        { 0xef60af9c5cd0bcL, 0x2b0db53a33b3bbL, 0xe3e0b1f251015dL,
4233
          0xc608afce64489eL, 0xe52b05703651aaL, 0x1dda8b91c6f7b9L,
4234
          0x833f022ff41893L, 0x58eb0a0192818cL }
4235
    },
4236
    {
4237
        { 0x6c1300cfc7b5a7L, 0x6d2ffe1a83ab33L, 0x7b3cd019c02eefL,
4238
          0x6c64559ba60d55L, 0x2e9c16c19e2f73L, 0x11b24aedbe47b1L,
4239
          0xc10a2ee1b8153bL, 0x35c0e081e02e1aL },
4240
        { 0xa9f470c1dd6f16L, 0x4ea93b6f41a290L, 0xac240f825ee03fL,
4241
          0x6cd88adb85aabdL, 0x378a64a1be2f8fL, 0xbf254da417bac1L,
4242
          0x7e4e5a59231142L, 0x057aadc3b8c057L }
4243
    },
4244
    {
4245
        { 0x607c77a80af479L, 0xd3e01ff5ccdf74L, 0x9680aaf101b4c7L,
4246
          0xd2a7be12fc50a6L, 0x92a788db72d782L, 0x35daf2e4640b52L,
4247
          0xc170d6939e601cL, 0x16e05f57b25c2fL },
4248
        { 0x47a42a66fe37f8L, 0xeb74271beca298L, 0x401e11e179da16L,
4249
          0xfb8da82aa53873L, 0xd657d635bb4783L, 0x6847758fcea0b1L,
4250
          0x2f261fb0993154L, 0x868abe3592853aL }
4251
    },
4252
    {
4253
        { 0x1a4c54335766abL, 0xa1c84d66f4e4eaL, 0x5d737a660ba199L,
4254
          0x4a7b1e298b15a2L, 0x207877ffd967d3L, 0xcaec82dc262b4dL,
4255
          0x0b278494f2a37dL, 0x34781416ac1711L },
4256
        { 0x28e3df18fc6856L, 0xbec03f816d003fL, 0x2bd705bff39ebdL,
4257
          0x1dcb53b2d776d3L, 0xabafa7d5c0e7ceL, 0x5b9c8c24a53332L,
4258
          0xe9f90d99d90214L, 0x789747ec129690L }
4259
    },
4260
    {
4261
        { 0x94d3c3954e2dfaL, 0x919f406afb2a8fL, 0x159ef0534e3927L,
4262
          0xcdb4d14a165c37L, 0xa23e5e8288f337L, 0x95867c00f90242L,
4263
          0x2528150e34e781L, 0x104e5016657b95L },
4264
        { 0x695a6c9bcdda24L, 0x609b99523eb5faL, 0xcbce4f516a60f8L,
4265
          0xec63f7df084a29L, 0x3075ada20c811fL, 0x129a1928c716a1L,
4266
          0xd65f4d4cd4cd4aL, 0xe18fa9c62188beL }
4267
    },
4268
    {
4269
        { 0x1672757bac60e3L, 0x525b3b9577144bL, 0x38fc997887055bL,
4270
          0x7a7712631e4408L, 0x884f173cba2fcfL, 0x783cbdc5962ac0L,
4271
          0x4f3ed0a22287dcL, 0x8a73e3450e20e6L },
4272
        { 0xe7a1cd0d764583L, 0x8997d8d0d58ee6L, 0x0ea08e9aa13ed6L,
4273
          0xed478d0cf363cbL, 0x068523d5b37bf4L, 0x8b5a9e8783f13cL,
4274
          0xde47bbd87528a9L, 0xd6499cccaec313L }
4275
    },
4276
},
4277
{
4278
    {
4279
        { 0x54781bbe09859dL, 0x89b6e067f5e648L, 0xb006dfe7075824L,
4280
          0x17316600717f68L, 0x9c865540b4efe2L, 0xdbdb2575e30d8eL,
4281
          0xa6a5db13b4d50fL, 0x3b5662cfa47bebL },
4282
        { 0x9d4091f89d4a59L, 0x790517b550a7dcL, 0x19eae96c52965eL,
4283
          0x1a7b3c5b5ed7a4L, 0x19e9ac6eb16541L, 0x5f6262fef66852L,
4284
          0x1b83091c4cda27L, 0xa4adf6f3bf742bL }
4285
    },
4286
    {
4287
        { 0x8cc2365a5100e7L, 0x3026f508592422L, 0xa4de79a3d714d0L,
4288
          0xefa0d3f90fcb30L, 0x126d559474ada0L, 0xd68fa77c94350aL,
4289
          0xfa80e570c7cb45L, 0xe042bb83985fbfL },
4290
        { 0x51c80f1fe13dbaL, 0xeace234cf055d7L, 0x6b8197b73f95f7L,
4291
          0x9ca5a89dcdbe89L, 0x2124d5fdfd9896L, 0x7c695569e7ca37L,
4292
          0x58e806a8babb37L, 0x91b4cc7baf99ceL }
4293
    },
4294
    {
4295
        { 0x874e253197e968L, 0x36277f53160668L, 0x0b65dda8b95dbeL,
4296
          0x477a792f0872a1L, 0x03a7e3a314268dL, 0xa96c8420c805c7L,
4297
          0xb941968b7bc4a8L, 0x79dce3075db390L },
4298
        { 0x577d4ef6f4cc14L, 0x5b0d205b5d1107L, 0x64ff20f9f93624L,
4299
          0x0b15e315034a2fL, 0x3a0f6bb8b6f35cL, 0x0399a84e0d0ec5L,
4300
          0xd0e58230d5d521L, 0xdeb3da1cb1dd54L }
4301
    },
4302
    {
4303
        { 0x24684ae182401aL, 0x0b79c1c21a706fL, 0xe1d81f8d8998afL,
4304
          0xadf870f4bb069fL, 0xd57f85cf3dd7aaL, 0x62d8e06e4a40f8L,
4305
          0x0c5228c8b55aa1L, 0xc34244aa9c0a1aL },
4306
        { 0xb5c6cf968f544eL, 0xa560533de23ab7L, 0xaa5512047c690cL,
4307
          0x20eda5b12aaaa6L, 0xea0a49a751a6a0L, 0x6d6cfff2baa272L,
4308
          0x95b756ebf4c28aL, 0xd747074e6178a4L }
4309
    },
4310
    {
4311
        { 0xa27b453221a94bL, 0xd56ad13e635f20L, 0x03574b08c95117L,
4312
          0xf0ee953ed30b70L, 0xb48d733957796fL, 0xf5d958358c336bL,
4313
          0x6170cd882db529L, 0xcd3ef00ec9d1eaL },
4314
        { 0xd1bea0de4d105fL, 0xd2d670fad6a559L, 0x652d01252f9690L,
4315
          0x5f51fb2c2529b0L, 0x5e88bf0e89df2aL, 0x9a90684cd686e4L,
4316
          0xf519ccd882c7a1L, 0x933a0dfc2f4d37L }
4317
    },
4318
    {
4319
        { 0x0720a9f3f66938L, 0x99356b6d8149dfL, 0xb89c419a3d7f61L,
4320
          0xe6581344ba6e31L, 0xd130561ab936c8L, 0x0625f6c40dbef1L,
4321
          0x7b2d6a2b6bb847L, 0x3ca8b2984d506bL },
4322
        { 0x6bf729afb011b0L, 0x01c307833448c9L, 0x6ae95080837420L,
4323
          0xf781a8da207fb8L, 0xcc54d5857562a9L, 0xc9b7364858c5abL,
4324
          0xdfb5035359908fL, 0x8bf77fd9631138L }
4325
    },
4326
    {
4327
        { 0xf523365c13fbb1L, 0x88532ea9993ed5L, 0x5318b025a73492L,
4328
          0x94bff5ce5a8f3cL, 0x73f9e61306c2a0L, 0x00abbacf2668a3L,
4329
          0x23ce332076237dL, 0xc867f1734c0f9bL },
4330
        { 0x1e50995cfd2136L, 0x0026a6eb2b70f8L, 0x66cb1845077a7dL,
4331
          0xc31b2b8a3b498eL, 0xc12035b260ec86L, 0x1cbee81e1b3df0L,
4332
          0xfd7b8048d55a42L, 0x912a41cf47a8c8L }
4333
    },
4334
    {
4335
        { 0xab9ffe79e157e3L, 0x9cfe46d44dc158L, 0x435551c8a4a3efL,
4336
          0x638acc03b7e3a8L, 0x08a4ebd49954a7L, 0x295390c13194f7L,
4337
          0x3a2b68b253892aL, 0xc1662c225d5b11L },
4338
        { 0xcfba0723a5d2bbL, 0xffaf6d3cc327c9L, 0x6c6314bc67e254L,
4339
          0x66616312f32208L, 0xf780f97bea72e1L, 0x495af40002122fL,
4340
          0x3562f247578a99L, 0x5f479a377ce51eL }
4341
    },
4342
},
4343
{
4344
    {
4345
        { 0x91a58841a82a12L, 0xa75417580f3a62L, 0x399009ff73417aL,
4346
          0x2db1fb90a8c5cdL, 0x82c8912c046d51L, 0x0a3f5778f18274L,
4347
          0x2ad0ede26ccae2L, 0x7d6bd8b8a4e9c2L },
4348
        { 0xaa0d7974b3de44L, 0xf8658b996ac9bbL, 0x31e7be25f6c334L,
4349
          0x23836ce4df12c9L, 0x029027b59eb5c9L, 0x2f225315b8649dL,
4350
          0xa0fdf03d907162L, 0x101d9df9e80226L }
4351
    },
4352
    {
4353
        { 0xf12037a9a90835L, 0xd2d0882f0222a7L, 0xeaf8d40c3814e2L,
4354
          0xa986dc68b8146bL, 0x147a3318504653L, 0x734e0032feaf67L,
4355
          0x6f27bbf602bec5L, 0xa1e21f16a688f3L },
4356
        { 0x5a8eeab73c4ae5L, 0x4dbaddbe70b412L, 0x871cebacfd2af1L,
4357
          0x18603827d7a286L, 0x024059db5bb401L, 0x2557c093c39b73L,
4358
          0xfc5a7116681697L, 0xf881c0f891b57cL }
4359
    },
4360
    {
4361
        { 0x3c443f18ea191aL, 0x76faa58d700ad0L, 0x6fe6cfabe7fcbfL,
4362
          0xaefc5288990ef7L, 0x44e30fa80004ccL, 0xc744adc6d8ef85L,
4363
          0xafcd931912df70L, 0xf62a9d1572a6d8L },
4364
        { 0x47158a03219f27L, 0x76fb27ead73136L, 0x41bb2adcc2d614L,
4365
          0x8858cb9de1ec21L, 0xab402c45f15866L, 0x6675d5bbc82bbfL,
4366
          0x4ee9dd6f1b28d3L, 0x875884fe373c17L }
4367
    },
4368
    {
4369
        { 0x17806dd2a67d36L, 0xaa23a8632c9ec1L, 0xd914126fc1ee55L,
4370
          0xbf8f7bd653701bL, 0x9b0111aea71367L, 0x61fd4aba98e417L,
4371
          0xeb45298561c5a5L, 0x2187b0ae7af394L },
4372
        { 0x71f12db1616ddeL, 0x061760907da7b4L, 0x414d37602ddb04L,
4373
          0x1100be7286fb58L, 0xd7cf88d6f0d95bL, 0x8539d23746d703L,
4374
          0xdccc9d64e23d73L, 0xaeef1d2ec89680L }
4375
    },
4376
    {
4377
        { 0x82ccf1a336508dL, 0xa128c1f5bad150L, 0x551d8c029a188dL,
4378
          0xef13dd4771404fL, 0xdd67696c37b993L, 0x428c0e20dddad2L,
4379
          0x222278d038c94cL, 0x1a24a51078e3f2L },
4380
        { 0xd297fe6edb0db9L, 0x00988d28251a87L, 0xbb946f8bfaa0d7L,
4381
          0x380f7b9df45ea0L, 0x8526415afccf5eL, 0x909bfbfe9ec7bcL,
4382
          0x2ed7093124755cL, 0x436802889404e2L }
4383
    },
4384
    {
4385
        { 0x21b9fa036d9ef1L, 0xfd64b7ce433526L, 0xd9d7eb76544849L,
4386
          0x201620cd5b54b3L, 0x25fab3dbb61159L, 0x90d4eb0c53e0d3L,
4387
          0xba098319e74772L, 0x8749658ec1681cL },
4388
        { 0xa354349fec316bL, 0x639a9b1a743ea2L, 0x2e514ca37c50e6L,
4389
          0x9f4a4fddbaf6c5L, 0x0df87ef6f511c9L, 0xadd4cef0c00d95L,
4390
          0x401c0ebaa1433fL, 0x3c3a59ebb38af9L }
4391
    },
4392
    {
4393
        { 0x8706245f0e7dcaL, 0xad238cd3fb29caL, 0x03304439b7d8f0L,
4394
          0xfdcd6e6154f495L, 0xc67e24a7d4ad09L, 0x1b209e85438390L,
4395
          0xf893b81b0c211eL, 0x1aa86f07e11e36L },
4396
        { 0x2cca3ffedea8b1L, 0x7eedd073b306cdL, 0x78e37bc12ee222L,
4397
          0x257870bbc42a1dL, 0x5fb2bb91fbd397L, 0x470247009d6c60L,
4398
          0x11748a320bdc36L, 0x3ff24dc04280e8L }
4399
    },
4400
    {
4401
        { 0x0eb1c679839b52L, 0x5bcca27acfbd32L, 0xb506c1674898e3L,
4402
          0x37d662e2489e5eL, 0x8dc0731f694887L, 0x571149ef43f1dcL,
4403
          0x6430a3766d63dcL, 0x0d2640eb50dd70L },
4404
        { 0x2b561493b2675bL, 0x1b4806588c604fL, 0x55c86a8aafbabcL,
4405
          0xa7b9447608aabaL, 0xa42f63504cad8cL, 0x0f72b1dcee7788L,
4406
          0x1d68374755d99aL, 0xd7cdd8f5be2531L }
4407
    },
4408
},
4409
{
4410
    {
4411
        { 0x67873bdbcdfee1L, 0xa5a0c0afcd0a3fL, 0x59389f93cfa3d4L,
4412
          0x14e945ce1c865cL, 0x62d2f8e1d588ccL, 0xfd02f8a8e228b4L,
4413
          0x208f791b42b649L, 0x0e0dff1ab397adL },
4414
        { 0x30ac3d90bc6eb1L, 0xf14f16a5f313bbL, 0x70fa447e2a0ad2L,
4415
          0x6e406855a0db84L, 0xd52282be32e1e7L, 0x315a02a15ca330L,
4416
          0x9a57a70867c2feL, 0x55f07650054923L }
4417
    },
4418
    {
4419
        { 0x2d729f6c0cf08fL, 0x6b80138ebaf57fL, 0x6285bcc0200c25L,
4420
          0xee845192cd2ac7L, 0x28fce4d922778aL, 0x761325ccd1011cL,
4421
          0xd01f2475100e47L, 0xc7a1665c60d8e1L },
4422
        { 0x950966d7ceb064L, 0x0a88e8578420dbL, 0x44f2cfce096f29L,
4423
          0x9d9325f640f1d2L, 0x6a4a81fd2426f1L, 0x3ed6b189c905acL,
4424
          0xba3c0e2008854dL, 0x1df0bd6a0d321bL }
4425
    },
4426
    {
4427
        { 0x0117ad63feb1e7L, 0xa058ba2f1ae02fL, 0x5eee5aa31b3f06L,
4428
          0x540d9d4afacd4dL, 0x38992f41571d91L, 0xef2738ebf2c7deL,
4429
          0x28bfcab92a798dL, 0x37c7c5d2286733L },
4430
        { 0xb99936e6470df0L, 0x3d762d58af6a42L, 0xa8c357ac74eec5L,
4431
          0x9917bebf13afbcL, 0x28f0941f2dc073L, 0x306abf36ce7df7L,
4432
          0xa3c5f6fd6973c8L, 0x640209b3677632L }
4433
    },
4434
    {
4435
        { 0xee872a2e23aef7L, 0xb497b6feb9b08eL, 0xfb94d973f33c63L,
4436
          0x9ea1ff42b32315L, 0x537b49249a4166L, 0x89c7fe6ab4f8beL,
4437
          0xf68007fdad8f0fL, 0xe56ef0b71b8474L },
4438
        { 0x478b2e83f333f9L, 0x144e718b2607f5L, 0x13aa605a4c7ab5L,
4439
          0xfc1fc991d0730dL, 0xe7a04375ab3ea1L, 0xc59986a306d8d3L,
4440
          0x24f6111702a8b1L, 0x7741394e040ad2L }
4441
    },
4442
    {
4443
        { 0x34c6a2560723a7L, 0x8aabd0df4ea691L, 0x9d676a55d7497fL,
4444
          0x12c09577d91fa4L, 0x581c7a86479284L, 0xa54f3daf4fd449L,
4445
          0x2f89f3c4ef44cfL, 0xfc266b5c9ec97cL },
4446
        { 0xfcd3fbe88b142aL, 0x9f3109f4bd69c1L, 0x08839c0b5f5a6aL,
4447
          0x63ca8502e68303L, 0x2f0628dbba0a74L, 0x743cccf5d56b54L,
4448
          0xbd4b06613e09fdL, 0x7a8415bde2ba3eL }
4449
    },
4450
    {
4451
        { 0x2234a3bc076ab2L, 0xd6953e54977a98L, 0xc12215831ebe2eL,
4452
          0x632145fbad78e2L, 0xd7ba78aa5c4b08L, 0x6f4ea71998e32aL,
4453
          0x25900d23485a63L, 0x97ac6286a5176fL },
4454
        { 0x5df91181093f7bL, 0x2bf9829c844563L, 0x525d99d6272449L,
4455
          0x4281cb5b5c8a18L, 0x35df2780544a08L, 0xf4c3d2dbaeb8f4L,
4456
          0xc7ff3175230447L, 0x6b4d7645d2fbffL }
4457
    },
4458
    {
4459
        { 0x4837f802b0c9cbL, 0xb65f8168ce8418L, 0xdf66ea99fc1428L,
4460
          0x9788ee804ea7e8L, 0x9eae9008334e3cL, 0xbc91058d6ba1b6L,
4461
          0x634aba1d7064b6L, 0x12d9bb3397b368L },
4462
        { 0x0645c85c413aa8L, 0xb09dea6ac6b5e3L, 0x29a620d289a50bL,
4463
          0x104db3bbbcceb1L, 0x42e479287b3309L, 0xdfc373eec97f01L,
4464
          0xe953f94b93f84eL, 0x3274b7f052dfbfL }
4465
    },
4466
    {
4467
        { 0x9d5670a1bd6fa9L, 0xec42fc9db6c4d4L, 0xaecd4ed1b42845L,
4468
          0x4eed90e1b03549L, 0xeb3225cbbab1faL, 0x5345e1d28a2816L,
4469
          0x3741cfa0b77d2aL, 0x712b19f7ea8caaL },
4470
        { 0x42e6844661853eL, 0x4cf4126e4a6e5dL, 0x196a9cfc3649f6L,
4471
          0x06621bcf21b6b1L, 0x887021c32e29eaL, 0x5703aeb8c5680fL,
4472
          0x974be24660f6d7L, 0xaf09badc71864eL }
4473
    },
4474
},
4475
{
4476
    {
4477
        { 0x3483535a81b6d3L, 0x19e7301ca037dcL, 0x748cab763ddfebL,
4478
          0xe5d87f66f01a38L, 0xbba4a5c2795cd6L, 0x411c5d4615c36cL,
4479
          0xff48efc706f412L, 0x205bafc4b519dfL },
4480
        { 0xfcaa5be5227110L, 0x7832f463ad0af0L, 0x34ef2c42642b1bL,
4481
          0x7bbef7b072f822L, 0x93cb0a8923a616L, 0x5df02366d91ba7L,
4482
          0x5da94f142f7d21L, 0x3478298a14e891L }
4483
    },
4484
    {
4485
        { 0xad79a0fc831d39L, 0x24d19484803c44L, 0x4f8a86486aeeb2L,
4486
          0x0ca284b926f6b9L, 0x501829c1acd7cdL, 0x9f6038b3d12c52L,
4487
          0x77223abf371ef5L, 0x2e0351613bf4deL },
4488
        { 0x7a5a4f2b4468ccL, 0xdcea921470ae46L, 0xf23b7e811be696L,
4489
          0xe59ad0d720d6fbL, 0x9eacac22983469L, 0x4dd4110c4397eeL,
4490
          0x4ef85bdcbe2675L, 0xe4999f7aa7c74bL }
4491
    },
4492
    {
4493
        { 0x031838c8ea1e98L, 0x539b38304d96a2L, 0x5fbdef0163956eL,
4494
          0x6bd4d35ce3f52aL, 0xe538c2355e897fL, 0x6078d3a472dd3fL,
4495
          0x590241eca9f452L, 0x2bc8495fd7fc07L },
4496
        { 0x23d0c89ead4c8cL, 0x1ea55a9601c66eL, 0x41493c94f5b833L,
4497
          0xc49a300aa5a978L, 0xc98bdc90c69594L, 0x4e44cedccbdc8cL,
4498
          0xb0d4e916adccbfL, 0xd56e36b32c37aeL }
4499
    },
4500
    {
4501
        { 0x052bd405b93152L, 0x688b1d44f1dbfaL, 0xe77ba1abe5cc5fL,
4502
          0x11f8a38a6ac543L, 0x3355fd6e4bb988L, 0xdf29c5af8dffb4L,
4503
          0x751f58981f20eeL, 0x22a0f74da9b7fbL },
4504
        { 0xec8f2bc6397b49L, 0xff59fc93639201L, 0xb7f130aa048264L,
4505
          0xe156a63afdc4ccL, 0x0fd7c34b13acafL, 0x87698d40cb4999L,
4506
          0x6d6ecae7f26f24L, 0xae51fad0f296e2L }
4507
    },
4508
    {
4509
        { 0xd0ad5ebdd0f58dL, 0x6ec6a2c5c67880L, 0xe1ce0349af1e0fL,
4510
          0x08014853996d32L, 0x59af51e5e69d20L, 0x0ef743aaa48ecfL,
4511
          0x8d3d2ea7dafcb0L, 0x4ac4fad89189b6L },
4512
        { 0x92d91c2eae97f1L, 0xef5eca262b4662L, 0x440b213b38b10aL,
4513
          0xec90187fc661daL, 0x85f3f25f64cf8dL, 0xcee53ca457ad1bL,
4514
          0x8deed4bf517672L, 0x7706fb34761828L }
4515
    },
4516
    {
4517
        { 0x1577d9117494feL, 0x52d29be2fd7239L, 0x9a0eef00186d37L,
4518
          0x241d0f527fe108L, 0x42824bae6fb59fL, 0xb8d33df0d48c25L,
4519
          0xfffdb0a47af4b0L, 0x534c601073b0b6L },
4520
        { 0xe6df35951c033bL, 0x3e1002b86c0f94L, 0xa7cb55548fb9b6L,
4521
          0x999818ba7bbff8L, 0xe4ba3d684d8bf2L, 0x53dbb326358f0aL,
4522
          0xeebc1e2f2568e8L, 0xc6917ebb3e0f68L }
4523
    },
4524
    {
4525
        { 0xbe1bbfc19f8d13L, 0xc3951b62d4795cL, 0x9371c49ed535a9L,
4526
          0x77c389f68cebeaL, 0xfc1a947a141d0eL, 0x4b48d7ade44f8bL,
4527
          0x3db1f058580a26L, 0xeed1466258b5fcL },
4528
        { 0x5daa4a19854b21L, 0x5bfa46f1ab1eadL, 0xc152e3559957ebL,
4529
          0xdc84277ea48adaL, 0x68709cffc169b5L, 0xde50ce3720e617L,
4530
          0xe42f262dd9a832L, 0xddffd4d2d6ce29L }
4531
    },
4532
    {
4533
        { 0xd5ba5578fa0a56L, 0x0d7d0f1fafaf4cL, 0x7666e4138b63edL,
4534
          0x04e65135d87f02L, 0xdca8866c958f32L, 0xaa8486d3ce2686L,
4535
          0xe3785caf1cbcd3L, 0x8a9b11403c8335L },
4536
        { 0x5c1dca22e0ef60L, 0x775af5b7d3fb20L, 0xe690ffc2b373a8L,
4537
          0x30fe15d28330e6L, 0x8a1022bdd0f393L, 0x6bd7364966a828L,
4538
          0x8d4b154949208aL, 0xfb38c6bb9d9828L }
4539
    },
4540
},
4541
{
4542
    {
4543
        { 0x6d197640340ac2L, 0x969f473ecab5ffL, 0xead46f7c458e42L,
4544
          0x168646a1d00eedL, 0xf70c878e0ce0cfL, 0xa7291d38d8d15aL,
4545
          0x92cf916fdd10ccL, 0x6d3613424f86d5L },
4546
        { 0xba50d172d5c4b4L, 0xe0af5024626f15L, 0x76f3809d76098aL,
4547
          0x433dc27d6caaa8L, 0x72dc67a70d97a7L, 0x935b360f5c7355L,
4548
          0xdbaac93179bb31L, 0x76738487ed1a33L }
4549
    },
4550
    {
4551
        { 0x8d1ca668f9fa0dL, 0x4ed95d8a02f2bfL, 0xd19fc79f630d7bL,
4552
          0x0448ec4f46fa51L, 0xb371dd8623bf3fL, 0xe94fabcd650e94L,
4553
          0x3af3fcacd90a70L, 0x0f720c403ce3b7L },
4554
        { 0x590814cd636c3bL, 0xcf6928d4469945L, 0x5843aaf484a4c6L,
4555
          0xb5a4c1af9b4722L, 0x25116b36cfb2f9L, 0xf248cf032c2640L,
4556
          0x8cd059e27412a1L, 0x866d536862fc5dL }
4557
    },
4558
    {
4559
        { 0x156e62f6de4a2eL, 0x0365af7aafcc78L, 0x65c861819e925eL,
4560
          0x4db5c01f8b2191L, 0x1fd26d1ad564faL, 0x16bbc5319c8610L,
4561
          0x0718eef815f262L, 0x8684f4727f83d1L },
4562
        { 0xa30fd28b0f48dbL, 0x6fef5066ab8278L, 0xd164e771a652dfL,
4563
          0x5a486f3c6ebc8cL, 0xb68b498dc3132bL, 0x264b6efd73323fL,
4564
          0xc261eb669b2262L, 0xd17015f2a35748L }
4565
    },
4566
    {
4567
        { 0x4241f657c4bb1dL, 0x5671702f5187c4L, 0x8a9449f3973753L,
4568
          0x272f772cc0c0cdL, 0x1b7efee58e280cL, 0x7b323494b5ee9cL,
4569
          0xf23af4731142a5L, 0x80c0e1dd62cc9eL },
4570
        { 0xcbc05bf675ffe3L, 0x66215cf258ce3cL, 0xc5d223928c9110L,
4571
          0x30e12a32a69bc2L, 0x5ef5e8076a9f48L, 0x77964ed2329d5fL,
4572
          0xdf81ba58a72cf2L, 0x38ea70d6e1b365L }
4573
    },
4574
    {
4575
        { 0x1b186802f75c80L, 0x0c153a0698665aL, 0x6f5a7fe522e8ddL,
4576
          0x96738668ddfc27L, 0x7e421d50d3bdceL, 0x2d737cf25001b2L,
4577
          0x568840f0e8490cL, 0xea2610be30c8daL },
4578
        { 0xe7b1bc09561fd4L, 0xeda786c26decb0L, 0x22369906a76160L,
4579
          0x371c71478a3da3L, 0x1db8fce2a2d9bfL, 0x59d7b843292f92L,
4580
          0x8097af95a665f9L, 0x7cb4662542b7a9L }
4581
    },
4582
    {
4583
        { 0xa5c53aec6b0c2fL, 0xc4b87327312d84L, 0xfc374cbc732736L,
4584
          0xa8d78fe9310cc0L, 0xd980e8665d1752L, 0xa62692d6004727L,
4585
          0x5d079280146220L, 0xbd1fedb860fea5L },
4586
        { 0xcbc4f8ab35d111L, 0x5ba8cdf3e32f77L, 0xd5b71adb614b93L,
4587
          0x7b3a2df2f8808dL, 0x09b89c26ef2721L, 0x55a505447c3030L,
4588
          0x21044312986ae6L, 0x427a0112367d4cL }
4589
    },
4590
    {
4591
        { 0xe9fe256c1942d8L, 0x9e7377d96e3546L, 0x43e734cb0c1744L,
4592
          0x5f46821211fbcaL, 0x44f83dc32b6203L, 0x84513086ad1d96L,
4593
          0x54dd5192fbb455L, 0xc2a18222f10089L },
4594
        { 0x01055a21855bfaL, 0x9e6d7b477078b4L, 0x3f8df6d30cea0eL,
4595
          0x81c215032973f7L, 0x17dd761c0b3d40L, 0x040424c50d0abeL,
4596
          0x5599413783deabL, 0xde9271e8f3146fL }
4597
    },
4598
    {
4599
        { 0x5edfd25af4a11dL, 0x3a3c5307846783L, 0xb20086873edd31L,
4600
          0x74e00ecfe0eef8L, 0xba65d2f3dd78c7L, 0xab1364371999f1L,
4601
          0xfa9be5dde9a7e8L, 0xeb146ce87a8609L },
4602
        { 0x76afd6565353e9L, 0xfa7023dd51ba1cL, 0x7a09f2237ede4fL,
4603
          0xca085760ba7a1bL, 0xd973882b99950aL, 0xe894266ea5057aL,
4604
          0xd01c4217f55e49L, 0x69cfb9c5555679L }
4605
    },
4606
},
4607
{
4608
    {
4609
        { 0x67867e7c5d631aL, 0x1de88c55bcf47bL, 0x8366d06afd1352L,
4610
          0xd7dbdef6e20337L, 0xb0f9e2f1253ec7L, 0x1be984510ad240L,
4611
          0x63ec533f4a6118L, 0xd5e4c5b96ce633L },
4612
        { 0x1d0b6c34df4a25L, 0xef9486a5a1b554L, 0x2f0e59e47b6ef3L,
4613
          0x4d8042f2ff84d7L, 0x3e74aa3da359c9L, 0x1baa16fd21c160L,
4614
          0xb4cff210191cbaL, 0x50032d8ebc6472L }
4615
    },
4616
    {
4617
        { 0xb6833e01fc1b13L, 0x8a8b7ba1a5ad8fL, 0xc0cafa2622b820L,
4618
          0xc6663af738ed20L, 0xd8944868b18f97L, 0xcf0c1f9774fbe4L,
4619
          0xeedd4355be814fL, 0xd81c02db57e543L },
4620
        { 0x5e32afc310bad8L, 0x065bc819b813d1L, 0x8efc5fc3142795L,
4621
          0x5006514732d59cL, 0x91e39df2b5a3ceL, 0x2ad4477faf4204L,
4622
          0x1a96b184d9bd4fL, 0xc3fee95a4d9c07L }
4623
    },
4624
    {
4625
        { 0xfac7df06b4ba61L, 0xa6ed551061aaefL, 0x35aa2d6133f609L,
4626
          0x420cfba20ed13dL, 0x861c63eea03d0cL, 0x75f0c56f936d6eL,
4627
          0xa25f68f3d9a3d5L, 0xba0b7fecd9f66eL },
4628
        { 0x292e1354680772L, 0x6f6a2dba73f405L, 0xca6add924ea9e4L,
4629
          0x81cfd61268daaaL, 0x7a4cb6ce6f147aL, 0x8ec3454bded8f5L,
4630
          0xc8a893b11d61cbL, 0x2256ffc7656022L }
4631
    },
4632
    {
4633
        { 0x6b33271575cb78L, 0x560d305adcd23eL, 0xeedbd3ad6d834bL,
4634
          0x614a64a5a31e27L, 0xe40b47647ee0c8L, 0x8ef4ff68bd7c2cL,
4635
          0xa5297fc0b77727L, 0x8759208baf88adL },
4636
        { 0x86cfe64918df68L, 0x9d60a73cdd882eL, 0x546b642b953014L,
4637
          0xbaceae38bbef55L, 0xdf58e43f1c3467L, 0x99a83fee9f9babL,
4638
          0xcd52cbf57a4a8bL, 0xf744e968ae36ecL }
4639
    },
4640
    {
4641
        { 0xb945869a607124L, 0x810dbe9440e6f6L, 0x9911e60738e381L,
4642
          0x51df68c343b80bL, 0xe424336f7a3f39L, 0x2d32acb989015cL,
4643
          0xa69b14931019e8L, 0x8a31a38ec12f93L },
4644
        { 0x0d0d36997c916aL, 0xdc95f3b8885372L, 0xcf1a2613549040L,
4645
          0x60f6f5eabe95a2L, 0xa909e9fe141325L, 0x7d598f2355c865L,
4646
          0x70c6442931a9c9L, 0x2354a85b423850L }
4647
    },
4648
    {
4649
        { 0x4cdd22497f9619L, 0x4776fffc22162eL, 0xee5ec330cd31c2L,
4650
          0x7c04c10f209bb8L, 0x35bbfde579e211L, 0x0e3832515cdfc2L,
4651
          0x657e6d3e26ffa7L, 0xc66a7c3c65c604L },
4652
        { 0x322acd7b45e567L, 0x1589cf0296db9bL, 0x1fd0bd3ba1db73L,
4653
          0xe8826109337a40L, 0xf505a50b3035c7L, 0x4d5af066ed08d7L,
4654
          0xb3c376b5eda400L, 0x9c7b7001944748L }
4655
    },
4656
    {
4657
        { 0xd76832570c3716L, 0xda62af0dd540e0L, 0x76b155d6580feaL,
4658
          0x4f42acc32b5464L, 0x881bb603f5b72bL, 0x09c130ee68b9baL,
4659
          0x37ede3b5c50342L, 0xce61a9cfd15e7dL },
4660
        { 0xfff1d8572605d0L, 0x62ac2d3062abc2L, 0xa85e02efbe43ddL,
4661
          0x859d2baa947020L, 0x2ebc8a9111c20bL, 0x7f590a7a656f66L,
4662
          0x0e1384316b21a6L, 0x29b30c500c7db6L }
4663
    },
4664
    {
4665
        { 0x61e55e2906b8deL, 0x6a97e96949974dL, 0x24b52b526eef67L,
4666
          0x512f5361aa595aL, 0x81cc7b83c48fcbL, 0xa64af2328115adL,
4667
          0x9edf6f93d44b8eL, 0x68d7f7c1fe22e3L },
4668
        { 0x2b2116a520d151L, 0x66a0b7d6aa3efbL, 0x48ae70a9b0f791L,
4669
          0xcf12174037db88L, 0x36868cd317d9f3L, 0xb57305922fc344L,
4670
          0xbaa852646a5d23L, 0xad6569137fc10dL }
4671
    },
4672
},
4673
{
4674
    {
4675
        { 0xcf8e5f512c78d5L, 0xeb94d98805cdbdL, 0xad1dcdf2ab50b5L,
4676
          0xf33c136f33cd31L, 0x0d6226b10aeff5L, 0xf7ff493f2f8fc5L,
4677
          0x7e520d4df57165L, 0x41fbae505271a7L },
4678
        { 0x72c898776480baL, 0x260835925f4523L, 0xed36b8d49f5f01L,
4679
          0x3bc1dcef3d49ebL, 0x30c1c1a4940322L, 0x78c1cda7e0f731L,
4680
          0x51f2dc86d05a31L, 0x57b0aa807f3522L }
4681
    },
4682
    {
4683
        { 0x7ab628e71f88bcL, 0xcf585f38018f21L, 0xdbbe3a413d64f6L,
4684
          0x0f86df1ec493a5L, 0x8355e6c7725de9L, 0x3954ffee00fe1eL,
4685
          0xbb8978f9924e32L, 0x1c192987812714L },
4686
        { 0x7c4ce3eaabca8bL, 0xf861eb59bf7019L, 0x31a84fc682e541L,
4687
          0x2307ca9acd1b92L, 0x6f8b6ce4bf2842L, 0xde252accb9f9a9L,
4688
          0x7f0611d93c46d1L, 0x8e2bd80751dc98L }
4689
    },
4690
    {
4691
        { 0xf2fd8fbe27d54bL, 0x2a1e37ec248071L, 0x2fcc888ab8f49aL,
4692
          0x42c62a3c18a9e5L, 0xe30290870b2446L, 0x90277fac5ac55dL,
4693
          0x8d97d56d6dde41L, 0xf4cf8a95db04feL },
4694
        { 0x3e280f5d30d077L, 0x2c903073cb3293L, 0xe0be2ac24eb0ddL,
4695
          0xa2d1a498bcb4f0L, 0x16db466cd0cd45L, 0x3b28aa79a80232L,
4696
          0xdd7e52f17b008eL, 0x20685f2868e4daL }
4697
    },
4698
    {
4699
        { 0x0a68c147c7a486L, 0xd8ef234c429633L, 0x470667bffe7506L,
4700
          0x55a13c88828d51L, 0x5f327412e44befL, 0x537d92a5929f92L,
4701
          0x0a01d5b31c5cd5L, 0xb77aa7867eb3d7L },
4702
        { 0x36ec45f8b82e4dL, 0x6821da0b37b199L, 0x8af37aad7fa94eL,
4703
          0xf0206421085010L, 0x9b886787e56851L, 0x35f394452948ceL,
4704
          0x125c2baafc1361L, 0x8a57d0e453e332L }
4705
    },
4706
    {
4707
        { 0xefe99488043664L, 0xb8b8509db1aa55L, 0x1a2e5a9332523fL,
4708
          0x5e255dd1045c0fL, 0xe68dd8a7ae7180L, 0x55f1cf345bf532L,
4709
          0xe00722ee63a716L, 0xd1c21386116bacL },
4710
        { 0x626221f1c6d1f4L, 0x240b8303773278L, 0xe393a0d88def16L,
4711
          0x229266eca0495cL, 0x7b5c6c9d3e4608L, 0xdc559cb7927190L,
4712
          0x06afe42c7b3c57L, 0x8a2ad0bb439c9bL }
4713
    },
4714
    {
4715
        { 0xd7360fbffc3e2fL, 0xf721317fbd2e95L, 0x8cacbab5748e69L,
4716
          0x7c89f279054bb9L, 0xcbe50faaa86881L, 0x7aa05d375206e4L,
4717
          0x1ea01bcc752c66L, 0x5968cde1f2c2bcL },
4718
        { 0x487c55f09a853eL, 0x82cbef1e09204bL, 0xad5c492abd8670L,
4719
          0x7175963f12dcb3L, 0x7a85762bf6aa06L, 0x02e5697f8d5237L,
4720
          0xccf7d1937c6157L, 0x3b14ca6c2fd59cL }
4721
    },
4722
    {
4723
        { 0x5e610d81b9f77fL, 0x85876d0051b02fL, 0x5d81c63b8020ddL,
4724
          0xd0b4116d6ce614L, 0x91810e5aa8bf0cL, 0xf27f91fcbf8c66L,
4725
          0x2e5dc5f38480aeL, 0x0a13ffebec7633L },
4726
        { 0x61ff6492bf6af8L, 0xe6aef2d641f827L, 0xad5708a5de5f04L,
4727
          0xe5c3a80cdfee20L, 0x88466e268fcfa2L, 0x8e5bb3ad6e1d7bL,
4728
          0xa514f06ed236b8L, 0x51c9c7ba5f5274L }
4729
    },
4730
    {
4731
        { 0xa19d228f9bc3d8L, 0xf89c3f03381069L, 0xfee890e5c3f379L,
4732
          0x3d3ef3d32fb857L, 0x39988495b418ddL, 0x6786f73c46e89aL,
4733
          0x79691a59e0f12fL, 0x76916bf3bc022bL },
4734
        { 0xea073b62cd8a0aL, 0x1fbedd4102fdbcL, 0x1888b14cb9d015L,
4735
          0x98f2cfd76655f7L, 0xb9b591059f0494L, 0xa3dbbe1e6986a3L,
4736
          0xef016a5eaf2b04L, 0xf671ba7cd2d876L }
4737
    },
4738
},
4739
{
4740
    {
4741
        { 0x1dae3bf1ae05e9L, 0x6a029961f21fefL, 0x95df2b97aec3c6L,
4742
          0x9abbc5ad83189bL, 0xaf994af2d13140L, 0xc3f884686aa406L,
4743
          0xcd77e5075284c5L, 0x1c1e13d2a9a4d7L },
4744
        { 0x7f8815d744b89dL, 0xb1891332ba673eL, 0x55ea93cd594570L,
4745
          0x19c8a18d61b041L, 0x938ebaa8d2c580L, 0x9b4344d05ba078L,
4746
          0x622da438eaf9b7L, 0x809b8079fea368L }
4747
    },
4748
    {
4749
        { 0x3780e51c33b7a2L, 0xd7a205c387b1c8L, 0x79515f84be60e4L,
4750
          0xde02a8b1e18277L, 0x4645c96f0d9150L, 0x45f8acbe0b3fd1L,
4751
          0x5d532ba9b53ac3L, 0x7984dcdb0557c9L },
4752
        { 0x5ae5ca68a92f01L, 0xd2fbb3c9d569caL, 0x668cc570c297c1L,
4753
          0xa4829436295e89L, 0xf646bc1a33ad40L, 0x066aaa4c3f425dL,
4754
          0x23434cdd005de2L, 0x5aca9e9db35af4L }
4755
    },
4756
    {
4757
        { 0x2bca35c6877c56L, 0xab864b4f0ddd7dL, 0x5f6aa74404f46cL,
4758
          0x72be164539c279L, 0x1b1d73ee0283cfL, 0xe550f46ad583d9L,
4759
          0x4ac6518e739ad1L, 0x6b6def78d42100L },
4760
        { 0x4d36b8cfa8468dL, 0x2cb37735a3d7b8L, 0x577f86f5016281L,
4761
          0xdb6fe5f9124733L, 0xacb6d2ae29e039L, 0x2ab8330580b8a1L,
4762
          0x130a4ac643b2d0L, 0xa7996e35e6884eL }
4763
    },
4764
    {
4765
        { 0x6fb627760a0aa8L, 0xe046843cbe04f0L, 0xc01d120e6ad443L,
4766
          0xa42a05cabef2fcL, 0x6b793f112ff09cL, 0x5734ea8a3e5854L,
4767
          0xe482b36775f0adL, 0x2f4f60df864a34L },
4768
        { 0xf521c5884f2449L, 0x58734a99186a71L, 0x157f5d5ac5eaccL,
4769
          0x858d9a4248ee61L, 0x0727e6d48149c3L, 0xd5c3eaaac9ec50L,
4770
          0xa63a64a20ee9b5L, 0x3f0dfc487be9deL }
4771
    },
4772
    {
4773
        { 0x836349db13e3f4L, 0xebdd0263e9316dL, 0x3fd61e8324fd6cL,
4774
          0x85dddfa0964f41L, 0x06e72de52add1bL, 0xb752cff8c4a9e2L,
4775
          0x53b0894fdf09f7L, 0xd5220ab0bc24fdL },
4776
        { 0x8442b35fb1981aL, 0xa733a373edd701L, 0x42b60c3d0ef089L,
4777
          0xa1b16ec46e7bcaL, 0xc0df179a09aaf4L, 0xcd4f187638f3a1L,
4778
          0x9af64f79eab1c2L, 0x86fed79d1d78e3L }
4779
    },
4780
    {
4781
        { 0x42c8d86fe29980L, 0x6657b816575660L, 0x82d52c680f92caL,
4782
          0x8587af102d42beL, 0xb5151316e8bdf0L, 0x706e2d9c333495L,
4783
          0xd53601a9673064L, 0x27b1fbb8219099L },
4784
        { 0x3f0929d705f7c8L, 0xff40b10f3d6e6fL, 0x673c703026af5cL,
4785
          0x2c1dce4e25a422L, 0x5348bd73dad8b6L, 0xc39b6b6be2c329L,
4786
          0x47854ffb921084L, 0xb347b8bb391f20L }
4787
    },
4788
    {
4789
        { 0x79fc841eb9b774L, 0xf32da25b4b6c1dL, 0xcbba76bfe492cbL,
4790
          0x76c51fcd623903L, 0x114cf6fcf0705aL, 0x6b720497815dafL,
4791
          0x630b362473382eL, 0xbf40c3a9704db5L },
4792
        { 0xa8a9ddcc5456ebL, 0x2b4472a72f2dc1L, 0x9874444d6d6ef3L,
4793
          0x27e8d85a0ba5edL, 0x5d225b4194849fL, 0xe852cd6ebaa40dL,
4794
          0xb669c248d4bf3fL, 0xa8601eb2343991L }
4795
    },
4796
    {
4797
        { 0x8a0485459502d3L, 0xcab27eee269a7bL, 0x41793074875adaL,
4798
          0x179e685e2405f9L, 0x0d7b6987b28963L, 0x80c9db8422a43eL,
4799
          0xf5ff318a0f43eeL, 0x7a928054ba7aa7L },
4800
        { 0xa5c79fe0c0834eL, 0x837ca0d1f849ecL, 0xfe0d7fa628ab7bL,
4801
          0x94bcb956edd19aL, 0xa18bc932226fbfL, 0x2795379aad54a3L,
4802
          0xceeacf8371129eL, 0x65ca57fa588be5L }
4803
    },
4804
},
4805
{
4806
    {
4807
        { 0x7a578b52caa330L, 0x7c21944d8ca34aL, 0x6c0fbbb6447282L,
4808
          0xa8a9957f90b2e5L, 0xbbe10666586b71L, 0x716a90249138a2L,
4809
          0x2fa6034e7ed66dL, 0x56f77ed2b9916aL },
4810
        { 0x69f1e26bddefb3L, 0xa4978098c08420L, 0xc3377eb09bc184L,
4811
          0x796ce0cbe6dadeL, 0x3be0625d103bbbL, 0x01be27c992685cL,
4812
          0xc0e25597755f9fL, 0x165c40d1c0dbfaL }
4813
    },
4814
    {
4815
        { 0xc63a397659c761L, 0x10a0e5b630fbadL, 0xf21e8a6655ac56L,
4816
          0xe8580fac1181e2L, 0xbfc2d9c0a84b5cL, 0x2cdbaff7afd5d1L,
4817
          0x95f1182f61e85aL, 0x1173e96719eaf4L },
4818
        { 0xc06d55ec6de8b9L, 0x1b4c8ebafcbcaaL, 0x52af5cbbc2bbcdL,
4819
          0x564fab877bcd10L, 0xfd53a18ae85a6eL, 0x225785994c712fL,
4820
          0x29b11d71352121L, 0xab1cb76c40491aL }
4821
    },
4822
    {
4823
        { 0xb4e8ca8ce32eb4L, 0x7e484acb250b49L, 0x062c6f7a3e31a2L,
4824
          0x497fd83625d1fcL, 0x98f821c362dda7L, 0xcae1f8f6be3111L,
4825
          0x9077e955d4fa42L, 0xa589971a65855aL },
4826
        { 0xda6321d28832a9L, 0xf9ef5dc3936e9eL, 0xa37f117c9797efL,
4827
          0x0eb3c80db581beL, 0x207c5c4baa0002L, 0xc0401b5f38faa0L,
4828
          0xceee523d0f1e6eL, 0x8d27a5fd1f0045L }
4829
    },
4830
    {
4831
        { 0x9411063cf0af29L, 0x304385789a6693L, 0x9a9fb8f640145eL,
4832
          0x7d82fe954832ebL, 0xf2789e1898c520L, 0x448b402f948dc0L,
4833
          0xeca8fdf68996ddL, 0x22227e9a149b2fL },
4834
        { 0x63509ff8e62d6aL, 0xe98d81c8c9c57fL, 0xd3874071fe3bedL,
4835
          0xf1db013539538fL, 0xb04092e48418ceL, 0xbbf8e76d6d9d4dL,
4836
          0x2ea9cda2cec5aeL, 0x8414b3e5078fa9L }
4837
    },
4838
    {
4839
        { 0x5ad1cdbd68a073L, 0xd4cedafc18b591L, 0x78267078e4c1c9L,
4840
          0x9b8d9209ca302aL, 0x3101bd2326115bL, 0x6f154b54c2717aL,
4841
          0x618c31b263e84bL, 0x12c4138bbd6942L },
4842
        { 0xf9ead2580da426L, 0xe748e9947d9680L, 0x9b396a38a4210eL,
4843
          0xfaf03ddf4b8f72L, 0xbd94a5266159e7L, 0x5e730491d4c7cbL,
4844
          0x31d1f9a7910f38L, 0x4fd10ca08d6dd1L }
4845
    },
4846
    {
4847
        { 0x4f510ac9f2331eL, 0xee872dc7e3dcc2L, 0x4a11a32a0a0c73L,
4848
          0x27e5803aa5a630L, 0xe5ae5037af4a8aL, 0x2dcdeba9fffeb0L,
4849
          0x8c27748719d91fL, 0xd3b5b62b9cc61cL },
4850
        { 0x998ac90cca7939L, 0xc22b59864514e5L, 0x950aaa1b35738aL,
4851
          0x4b208bbdab0264L, 0x6677931a557d2eL, 0x2c696d8f7c17d3L,
4852
          0x1672d4a3e15c51L, 0x95fab663db0e82L }
4853
    },
4854
    {
4855
        { 0x3d427346ff205eL, 0x7f187d90ea9fbeL, 0xbd9367f466b2afL,
4856
          0x188e53203daf2fL, 0xefe132927b54d8L, 0x14faf85ef70435L,
4857
          0xa5061281ec95c4L, 0xad01705c22cba7L },
4858
        { 0x7d2dfa66197333L, 0xedd7f078b4f6edL, 0xe0cb68575df105L,
4859
          0x47c9ddb80f76bcL, 0x49ab5319073c54L, 0x845255ae607f44L,
4860
          0x0b4ed9fcc74b7cL, 0xcfb52d50f5c3a6L }
4861
    },
4862
    {
4863
        { 0x545c7c6c278776L, 0x92a39ae98c30f0L, 0x8aa8c01d2f4680L,
4864
          0xa5409ed6b7f840L, 0x0c450acdcb24e7L, 0x5da6fb2c5770d9L,
4865
          0x5b8e8be8658333L, 0xb26bf4a67ea4adL },
4866
        { 0x2e30c81c7d91faL, 0x6e50a490eeb69fL, 0x9458c2bee4bc26L,
4867
          0x419acf233be250L, 0x79d6f8187881abL, 0x694565d403b1beL,
4868
          0x34b3990234fe1dL, 0x60997d72132b38L }
4869
    },
4870
},
4871
{
4872
    {
4873
        { 0x00a974126975dcL, 0x42161c46cf94e7L, 0xcc9fe4bc64ed99L,
4874
          0x020019a4680570L, 0x885595a698da0dL, 0x008444b77dd962L,
4875
          0xbf3c22da4fea0eL, 0xc4630482c81245L },
4876
        { 0xcb248c5793ab18L, 0x4dc7a20eb4320bL, 0x9a0906f1572b7dL,
4877
          0xd5b3019f9ac20fL, 0x79b1bf534520a3L, 0x788dfe869b5322L,
4878
          0x9a05298455b7e2L, 0x2f4aecb016bca9L }
4879
    },
4880
    {
4881
        { 0x414d3798745618L, 0x64ba22eb7c983cL, 0x9a5d19f9f9d532L,
4882
          0x81a00d844a80c8L, 0xb9e24f5cae98d6L, 0x6c3769caca965aL,
4883
          0x50d6081f6e4e6dL, 0x0d9698054422a6L },
4884
        { 0xbd7e7925cdd790L, 0xcff65da6a35219L, 0x40dc3638b60ebeL,
4885
          0x84bee7492a50dcL, 0x57d4be415ad65eL, 0xc54256b1a6d1d3L,
4886
          0x141c64945717ccL, 0x05eb609cd1c736L }
4887
    },
4888
    {
4889
        { 0xfd52eab1e3c7ecL, 0xa4a5eca9f24895L, 0xaaa2a8d79fdb83L,
4890
          0xd105e6072bdfdaL, 0x59e6ae2681d97eL, 0xfedf8e08e8077fL,
4891
          0xb06d0ad629e462L, 0x8c7c2d096fa863L },
4892
        { 0x5eecc4cee8fc91L, 0x5e83ab29e61174L, 0x1fd8925b28c02dL,
4893
          0x93be5382072864L, 0xda0c88624c984eL, 0xdcf9f0ca008286L,
4894
          0x1ecb5a6a58ba75L, 0x1d9b890c2e3c83L }
4895
    },
4896
    {
4897
        { 0x19e866eeeee062L, 0x31c1c7f4f7b387L, 0x9be60181c06652L,
4898
          0xc00a93a2b68bbbL, 0x54c65d69d52b2bL, 0x4591416e8b744aL,
4899
          0x641bcca9a64ab6L, 0xf22bcb1ab08098L },
4900
        { 0x3c0db8ff1f726cL, 0x4f5739e9d2e6a6L, 0x5cb669b45c9530L,
4901
          0x861b04e7b472d0L, 0x3e30515894da77L, 0x3344685c9ac39bL,
4902
          0x9e1730573bdd29L, 0x9cac12c808dc85L }
4903
    },
4904
    {
4905
        { 0xf152b865e27087L, 0x267bd8590a580eL, 0xba79cec8baafc1L,
4906
          0x6140ab19442686L, 0xa67090c5b31693L, 0x50a103a28b4117L,
4907
          0x7722e610ddc08fL, 0x5d19d43e6569b2L },
4908
        { 0x70e0c525962bf6L, 0x808e316fb5fb02L, 0x3fb80da5b667beL,
4909
          0x8aa366efcfacecL, 0xcb0b3e7134280eL, 0x0bf1de4cd7d944L,
4910
          0x0cd23bed092df5L, 0xc9a6a79a153a0cL }
4911
    },
4912
    {
4913
        { 0x1c69ad02d5a4b7L, 0x4bb28d0d9e6f4aL, 0x815308ca984fc6L,
4914
          0x40929c79037ca5L, 0x0ea2b491bd0357L, 0xec17e5b42aad4eL,
4915
          0x1f32ade18e7235L, 0xbc60b05a96a9d3L },
4916
        { 0x3b0229ae20f707L, 0xd63505056bdfadL, 0xac2d922d8b2e1eL,
4917
          0x92b2998235c748L, 0x6002c3ad766f97L, 0x99198001a2a862L,
4918
          0x2af7567b58b684L, 0xd8fe707aaafce5L }
4919
    },
4920
    {
4921
        { 0x54487ab5df7a4bL, 0x51cccdec57ccc2L, 0x23943277510b53L,
4922
          0x3a09f02f555de3L, 0xa696aec1be484dL, 0x56f459f37817a2L,
4923
          0x8d8f61c623dcb4L, 0xc52223c5335656L },
4924
        { 0xf634111b49914aL, 0xbf8e1ab8e4f9bbL, 0x2f59578f4dba02L,
4925
          0x2a94199e004319L, 0x87931f0654d005L, 0x7df57d96fa0814L,
4926
          0xc8da316a154031L, 0x2a44ac041f658bL }
4927
    },
4928
    {
4929
        { 0xfb5f4f89e34ac6L, 0x0a1b10b97790f2L, 0x58fe4e74b8a06cL,
4930
          0x10c1710955f27cL, 0x77b798ad5ebe19L, 0xaf1c35b1f1c2dcL,
4931
          0xc25b8e6a1f8d69L, 0x49cf751f76bf23L },
4932
        { 0x15cb2db436f7b7L, 0x186d7c27e74d1aL, 0x60731dec00a415L,
4933
          0xea1e15615f0772L, 0xf02d591714463fL, 0x26a0c6451adeb1L,
4934
          0x20174cdcc5229eL, 0xb817e50efd512aL }
4935
    },
4936
},
4937
};
4938
4939
static const ge448_precomp base_i[16] = {
4940
    {
4941
        { 0x26a82bc70cc05eL, 0x80e18b00938e26L, 0xf72ab66511433bL,
4942
          0xa3d3a46412ae1aL, 0x0f1767ea6de324L, 0x36da9e14657047L,
4943
          0xed221d15a622bfL, 0x4f1970c66bed0dL },
4944
        { 0x08795bf230fa14L, 0x132c4ed7c8ad98L, 0x1ce67c39c4fdbdL,
4945
          0x05a0c2d73ad3ffL, 0xa3984087789c1eL, 0xc7624bea73736cL,
4946
          0x248876203756c9L, 0x693f46716eb6bcL }
4947
    },
4948
    {
4949
        { 0x28173286ff2f8fL, 0xb769465da85757L, 0xf7f6271fd6e862L,
4950
          0x4a3fcfe8daa9cbL, 0xda82c7e2ba077aL, 0x943332241b8b8cL,
4951
          0x6455bd64316cb6L, 0x0865886b9108afL },
4952
        { 0x22ac13588ed6fcL, 0x9a68fed02dafb8L, 0x1bdb6767f0bffaL,
4953
          0xec4e1d58bb3a33L, 0x56c3b9fce43c82L, 0xa6449a4a8d9523L,
4954
          0xf706cbda7ad43aL, 0xe005a8dbd5125cL }
4955
    },
4956
    {
4957
        { 0xa99d1092030034L, 0x2d8cefc6f950d0L, 0x7a920c3c96f07bL,
4958
          0x958812808bc0d5L, 0x62ada756d761e8L, 0x0def80cbcf7285L,
4959
          0x0e2ba7601eedb5L, 0x7a9f9335a48dcbL },
4960
        { 0xb4731472f435ebL, 0x5512881f225443L, 0xee59d2b33c5840L,
4961
          0xb698017127d7a4L, 0xb18fced86551f7L, 0x0ade260ca1823aL,
4962
          0xd3b9109ce4fd58L, 0xadfd751a2517edL }
4963
    },
4964
    {
4965
        { 0xdf9567ceb5eaf7L, 0x110a6b478ac7d7L, 0x2d335014706e0bL,
4966
          0x0df9c7b0b5a209L, 0xba4223d568e684L, 0xd78af2d8c3719bL,
4967
          0x77467b9a5291b6L, 0x079748e5c89befL },
4968
        { 0xe20d3fadac377fL, 0x34e866972b5c09L, 0xd8687a3c40bbb7L,
4969
          0x7b3946fd2f84c9L, 0xd00e40ca78f50eL, 0xb87594417e7179L,
4970
          0x9c7373bcb23583L, 0x7ddeda3c90fd69L }
4971
    },
4972
    {
4973
        { 0x3d0def76ab686bL, 0x1a467ec49f7c79L, 0x3e53f4fc8989edL,
4974
          0x101e344430a0d9L, 0xa3ae7318ad44eeL, 0xaefa6cdae1d134L,
4975
          0xaa8cd7d824ad4dL, 0xef1650ced584fcL },
4976
        { 0xa74df674f4754fL, 0xf52cea8ef3fb8bL, 0x47c32d42971140L,
4977
          0x391c15da256fbbL, 0xc165faba605671L, 0xf2518c687993b9L,
4978
          0x2daf7acbd5a84dL, 0x1560b6298f12aeL }
4979
    },
4980
    {
4981
        { 0xef4da0254dc10aL, 0x63118655940db8L, 0xe20b14982f2948L,
4982
          0x67b93775581dbaL, 0x422ee7104f5029L, 0x5d440db5122d34L,
4983
          0xb1e56d71a4c640L, 0xbf12abbc2408eeL },
4984
        { 0x0cc9f86016af01L, 0x88366abf3d8cabL, 0x85dda13a2efe12L,
4985
          0x390df605d00674L, 0xf18f5806d187f7L, 0x28c900ff0c5d20L,
4986
          0xad308123e01733L, 0x42d35b554bf2fdL }
4987
    },
4988
    {
4989
        { 0x009135f2ffb1f1L, 0x099fc7e8f9c605L, 0xcc67da626bfa5aL,
4990
          0xc186d12344552bL, 0xb5232501b339e1L, 0x70a544fc9708c5L,
4991
          0x06baaec1e928e7L, 0x0baedd2ef0f50fL },
4992
        { 0x535d6d8bf479e5L, 0x156e536e4ec3e9L, 0x3165741ddb9be2L,
4993
          0x988af7159fd736L, 0x13d8a782e33dddL, 0x54604214e69002L,
4994
          0x34d56e0804a268L, 0xc59b84f0e52a4cL }
4995
    },
4996
    {
4997
        { 0x525d45f24729d9L, 0x5768aba8712327L, 0xa25e43b43035dbL,
4998
          0x15a1ee8927ef21L, 0xa785d216056112L, 0x45e2fbfd508af9L,
4999
          0xb6f721a37ba969L, 0x30d6d8c216d8d3L },
5000
        { 0x3065e0852074c3L, 0xfa40b4a2a0684eL, 0x851325a763f955L,
5001
          0xd4ef19c9f25900L, 0x799c869f665756L, 0x7b052223312990L,
5002
          0xc986c2b28db802L, 0xf48fb8f28ade0aL }
5003
    },
5004
    {
5005
        { 0x1e461731649b68L, 0xa96e5d65beb9dcL, 0x765ddff481935dL,
5006
          0x6cf132c9f3bf2aL, 0x9f6c5c97c35658L, 0x99cd1394696e60L,
5007
          0x99fa9249c0d5e4L, 0x1acd0638845a95L },
5008
        { 0x0b065413636087L, 0xea20e78ea17b7fL, 0x20afc5f6161967L,
5009
          0xfd6c8a2dc81028L, 0x4ef1357e32c8fdL, 0x8aa400400e4a88L,
5010
          0xd6fcaef48cb82fL, 0x7ba7c6db3cd4faL }
5011
    },
5012
    {
5013
        { 0xf843473d19c7abL, 0x968e76dc655c4dL, 0x52c87d9c4b9c2fL,
5014
          0x65f641ae4aa082L, 0x491a39733c3603L, 0xa606ffe5810098L,
5015
          0x09920e68bf8ad4L, 0x691a0c86db7882L },
5016
        { 0x5205883a4d3ef5L, 0xee839b7acf2efeL, 0x4b78e2ac00ca66L,
5017
          0xbe3f071f9fcb91L, 0x61e66c9bf6943aL, 0xe9b4e57061b79dL,
5018
          0x8d1b01b56c06bdL, 0x0dfa315df76ae5L }
5019
    },
5020
    {
5021
        { 0x803df65f1fd093L, 0x1cd6523489b77eL, 0x2cd2e15c20e295L,
5022
          0xcd490be9b912d1L, 0xdd9a2ff2e886d2L, 0xa3c836dfe9d72aL,
5023
          0xfcad5f2298e0c1L, 0xed126e24bcf067L },
5024
        { 0x1e339533dc81bcL, 0xbea4d76ece6a08L, 0x1d15de3991b252L,
5025
          0x74cc5cfe6daf97L, 0x5ad343f0826493L, 0x2d38a471064049L,
5026
          0xf7f47b9ffcfa4dL, 0xef14490418066cL }
5027
    },
5028
    {
5029
        { 0x4e7f86b9bb55abL, 0x310d7853f496a3L, 0xbd682fc0dec42cL,
5030
          0xbde047a411d32aL, 0xea639b4c5a5ea2L, 0x5052078ba08fa1L,
5031
          0xc968b2307729f2L, 0x567b5a623d3e28L },
5032
        { 0x171e825977fbf7L, 0x0319c70be990aaL, 0x8f65023e12cd69L,
5033
          0x1fb9b19f5015e6L, 0x0083f603568a7cL, 0xba3d30b1f3c5acL,
5034
          0xe7b509d3d7a988L, 0x2318b99cd0f6b6L }
5035
    },
5036
    {
5037
        { 0x54d3b8793ab2cfL, 0x366abead2d8306L, 0x66e8eb6d7a4977L,
5038
          0xa61888cae0072eL, 0x9eeeef5dbc3315L, 0x93f09db163e7f5L,
5039
          0xee9095959ade9aL, 0xaf7f578ce59be0L },
5040
        { 0x24bfd8d5ece59eL, 0x8aa698b3689523L, 0xa9a65de2de92cfL,
5041
          0xec11dbca6ad300L, 0x217f3fa09f88caL, 0xf6c33e3b4d6af7L,
5042
          0xcd3bfa21d86d2dL, 0x1497f835f13f25L }
5043
    },
5044
    {
5045
        { 0xa579568cd03d1dL, 0xd717cdae158af6L, 0x59eda97389a19fL,
5046
          0xb32c370099e99cL, 0xa2dba91dabb591L, 0x6d697d577c2c97L,
5047
          0x5423fc2d43fa6dL, 0x56ea8a50b382bfL },
5048
        { 0x4a987bad80c11aL, 0xe4cde217d590a5L, 0x3dd8860f97e559L,
5049
          0xff45e2543b593cL, 0x00eb4535343cb5L, 0x06b9b997bbfbddL,
5050
          0x4da36b716aea24L, 0x247651757a624eL }
5051
    },
5052
    {
5053
        { 0x32207d03474e0dL, 0x3ffbf04b41cc73L, 0x5c4dc45319eb39L,
5054
          0xfee29be758b463L, 0xcc8a381c30c7a7L, 0x147f4e49fe0e53L,
5055
          0x05b2e26e35a2deL, 0x4362f0292f3666L },
5056
        { 0x0476d0c8474b85L, 0x9d8c65fccaf108L, 0xf58d4041d54b6aL,
5057
          0x3ee6862f38e4b0L, 0x7c7c9d53b44f54L, 0x36a3fd80fb0db5L,
5058
          0xfcd94ba18a8ac8L, 0xc1b1d568f35c05L }
5059
    },
5060
    {
5061
        { 0x16539fc1bdd30dL, 0x1356e538df4afbL, 0xc0545d85a1aedbL,
5062
          0xeb2037a489396bL, 0x897fcbd5660894L, 0x02a58a9b7d104aL,
5063
          0x57fa24cc96b980L, 0xf6448e35bd8946L },
5064
        { 0xee727418805c83L, 0x10fa274992cfc6L, 0x95141939e66b21L,
5065
          0xe0ffa44bd08009L, 0x174332220da22bL, 0x4891ff359e6831L,
5066
          0x407ed73a7d687bL, 0x2fb4e0751d99cfL }
5067
    },
5068
};
5069
#else
5070
5071
/* Reduce scalar mod the order of the curve.
5072
 * Scalar Will be 114 bytes.
5073
 *
5074
 * b  [in]  Scalar to reduce.
5075
 */
5076
void sc448_reduce(byte* b)
5077
{
5078
    word32 d[16];
5079
    word64 t[33];
5080
    word64 c;
5081
    word32 o;
5082
5083
    /* Load from bytes */
5084
    t[ 0] =  (((sword32)((b[ 0]        ) >>  0)) <<  0)
5085
          |  (((sword32)((b[ 1]        ) >>  0)) <<  8)
5086
          |  (((sword32)((b[ 2]        ) >>  0)) << 16)
5087
          | ((((sword32)((b[ 3] & 0xf )) >>  0)) << 24);
5088
    t[ 1] =  (((sword32)((b[ 3]        ) >>  4)) <<  0)
5089
          |  (((sword32)((b[ 4]        ) >>  0)) <<  4)
5090
          |  (((sword32)((b[ 5]        ) >>  0)) << 12)
5091
          |  (((sword32)((b[ 6]        ) >>  0)) << 20);
5092
    t[ 2] =  (((sword32)((b[ 7]        ) >>  0)) <<  0)
5093
          |  (((sword32)((b[ 8]        ) >>  0)) <<  8)
5094
          |  (((sword32)((b[ 9]        ) >>  0)) << 16)
5095
          | ((((sword32)((b[10] & 0xf )) >>  0)) << 24);
5096
    t[ 3] =  (((sword32)((b[10]        ) >>  4)) <<  0)
5097
          |  (((sword32)((b[11]        ) >>  0)) <<  4)
5098
          |  (((sword32)((b[12]        ) >>  0)) << 12)
5099
          |  (((sword32)((b[13]        ) >>  0)) << 20);
5100
    t[ 4] =  (((sword32)((b[14]        ) >>  0)) <<  0)
5101
          |  (((sword32)((b[15]        ) >>  0)) <<  8)
5102
          |  (((sword32)((b[16]        ) >>  0)) << 16)
5103
          | ((((sword32)((b[17] & 0xf )) >>  0)) << 24);
5104
    t[ 5] =  (((sword32)((b[17]        ) >>  4)) <<  0)
5105
          |  (((sword32)((b[18]        ) >>  0)) <<  4)
5106
          |  (((sword32)((b[19]        ) >>  0)) << 12)
5107
          |  (((sword32)((b[20]        ) >>  0)) << 20);
5108
    t[ 6] =  (((sword32)((b[21]        ) >>  0)) <<  0)
5109
          |  (((sword32)((b[22]        ) >>  0)) <<  8)
5110
          |  (((sword32)((b[23]        ) >>  0)) << 16)
5111
          | ((((sword32)((b[24] & 0xf )) >>  0)) << 24);
5112
    t[ 7] =  (((sword32)((b[24]        ) >>  4)) <<  0)
5113
          |  (((sword32)((b[25]        ) >>  0)) <<  4)
5114
          |  (((sword32)((b[26]        ) >>  0)) << 12)
5115
          |  (((sword32)((b[27]        ) >>  0)) << 20);
5116
    t[ 8] =  (((sword32)((b[28]        ) >>  0)) <<  0)
5117
          |  (((sword32)((b[29]        ) >>  0)) <<  8)
5118
          |  (((sword32)((b[30]        ) >>  0)) << 16)
5119
          | ((((sword32)((b[31] & 0xf )) >>  0)) << 24);
5120
    t[ 9] =  (((sword32)((b[31]        ) >>  4)) <<  0)
5121
          |  (((sword32)((b[32]        ) >>  0)) <<  4)
5122
          |  (((sword32)((b[33]        ) >>  0)) << 12)
5123
          |  (((sword32)((b[34]        ) >>  0)) << 20);
5124
    t[10] =  (((sword32)((b[35]        ) >>  0)) <<  0)
5125
          |  (((sword32)((b[36]        ) >>  0)) <<  8)
5126
          |  (((sword32)((b[37]        ) >>  0)) << 16)
5127
          | ((((sword32)((b[38] & 0xf )) >>  0)) << 24);
5128
    t[11] =  (((sword32)((b[38]        ) >>  4)) <<  0)
5129
          |  (((sword32)((b[39]        ) >>  0)) <<  4)
5130
          |  (((sword32)((b[40]        ) >>  0)) << 12)
5131
          |  (((sword32)((b[41]        ) >>  0)) << 20);
5132
    t[12] =  (((sword32)((b[42]        ) >>  0)) <<  0)
5133
          |  (((sword32)((b[43]        ) >>  0)) <<  8)
5134
          |  (((sword32)((b[44]        ) >>  0)) << 16)
5135
          | ((((sword32)((b[45] & 0xf )) >>  0)) << 24);
5136
    t[13] =  (((sword32)((b[45]        ) >>  4)) <<  0)
5137
          |  (((sword32)((b[46]        ) >>  0)) <<  4)
5138
          |  (((sword32)((b[47]        ) >>  0)) << 12)
5139
          |  (((sword32)((b[48]        ) >>  0)) << 20);
5140
    t[14] =  (((sword32)((b[49]        ) >>  0)) <<  0)
5141
          |  (((sword32)((b[50]        ) >>  0)) <<  8)
5142
          |  (((sword32)((b[51]        ) >>  0)) << 16)
5143
          | ((((sword32)((b[52] & 0xf )) >>  0)) << 24);
5144
    t[15] =  (((sword32)((b[52]        ) >>  4)) <<  0)
5145
          |  (((sword32)((b[53]        ) >>  0)) <<  4)
5146
          |  (((sword32)((b[54]        ) >>  0)) << 12)
5147
          |  (((sword32)((b[55]        ) >>  0)) << 20);
5148
    t[16] =  (((sword32)((b[56]        ) >>  0)) <<  0)
5149
          |  (((sword32)((b[57]        ) >>  0)) <<  8)
5150
          |  (((sword32)((b[58]        ) >>  0)) << 16)
5151
          | ((((sword32)((b[59] & 0xf )) >>  0)) << 24);
5152
    t[17] =  (((sword32)((b[59]        ) >>  4)) <<  0)
5153
          |  (((sword32)((b[60]        ) >>  0)) <<  4)
5154
          |  (((sword32)((b[61]        ) >>  0)) << 12)
5155
          |  (((sword32)((b[62]        ) >>  0)) << 20);
5156
    t[18] =  (((sword32)((b[63]        ) >>  0)) <<  0)
5157
          |  (((sword32)((b[64]        ) >>  0)) <<  8)
5158
          |  (((sword32)((b[65]        ) >>  0)) << 16)
5159
          | ((((sword32)((b[66] & 0xf )) >>  0)) << 24);
5160
    t[19] =  (((sword32)((b[66]        ) >>  4)) <<  0)
5161
          |  (((sword32)((b[67]        ) >>  0)) <<  4)
5162
          |  (((sword32)((b[68]        ) >>  0)) << 12)
5163
          |  (((sword32)((b[69]        ) >>  0)) << 20);
5164
    t[20] =  (((sword32)((b[70]        ) >>  0)) <<  0)
5165
          |  (((sword32)((b[71]        ) >>  0)) <<  8)
5166
          |  (((sword32)((b[72]        ) >>  0)) << 16)
5167
          | ((((sword32)((b[73] & 0xf )) >>  0)) << 24);
5168
    t[21] =  (((sword32)((b[73]        ) >>  4)) <<  0)
5169
          |  (((sword32)((b[74]        ) >>  0)) <<  4)
5170
          |  (((sword32)((b[75]        ) >>  0)) << 12)
5171
          |  (((sword32)((b[76]        ) >>  0)) << 20);
5172
    t[22] =  (((sword32)((b[77]        ) >>  0)) <<  0)
5173
          |  (((sword32)((b[78]        ) >>  0)) <<  8)
5174
          |  (((sword32)((b[79]        ) >>  0)) << 16)
5175
          | ((((sword32)((b[80] & 0xf )) >>  0)) << 24);
5176
    t[23] =  (((sword32)((b[80]        ) >>  4)) <<  0)
5177
          |  (((sword32)((b[81]        ) >>  0)) <<  4)
5178
          |  (((sword32)((b[82]        ) >>  0)) << 12)
5179
          |  (((sword32)((b[83]        ) >>  0)) << 20);
5180
    t[24] =  (((sword32)((b[84]        ) >>  0)) <<  0)
5181
          |  (((sword32)((b[85]        ) >>  0)) <<  8)
5182
          |  (((sword32)((b[86]        ) >>  0)) << 16)
5183
          | ((((sword32)((b[87] & 0xf )) >>  0)) << 24);
5184
    t[25] =  (((sword32)((b[87]        ) >>  4)) <<  0)
5185
          |  (((sword32)((b[88]        ) >>  0)) <<  4)
5186
          |  (((sword32)((b[89]        ) >>  0)) << 12)
5187
          |  (((sword32)((b[90]        ) >>  0)) << 20);
5188
    t[26] =  (((sword32)((b[91]        ) >>  0)) <<  0)
5189
          |  (((sword32)((b[92]        ) >>  0)) <<  8)
5190
          |  (((sword32)((b[93]        ) >>  0)) << 16)
5191
          | ((((sword32)((b[94] & 0xf )) >>  0)) << 24);
5192
    t[27] =  (((sword32)((b[94]        ) >>  4)) <<  0)
5193
          |  (((sword32)((b[95]        ) >>  0)) <<  4)
5194
          |  (((sword32)((b[96]        ) >>  0)) << 12)
5195
          |  (((sword32)((b[97]        ) >>  0)) << 20);
5196
    t[28] =  (((sword32)((b[98]        ) >>  0)) <<  0)
5197
          |  (((sword32)((b[99]        ) >>  0)) <<  8)
5198
          |  (((sword32)((b[100]        ) >>  0)) << 16)
5199
          | ((((sword32)((b[101] & 0xf )) >>  0)) << 24);
5200
    t[29] =  (((sword32)((b[101]        ) >>  4)) <<  0)
5201
          |  (((sword32)((b[102]        ) >>  0)) <<  4)
5202
          |  (((sword32)((b[103]        ) >>  0)) << 12)
5203
          |  (((sword32)((b[104]        ) >>  0)) << 20);
5204
    t[30] =  (((sword32)((b[105]        ) >>  0)) <<  0)
5205
          |  (((sword32)((b[106]        ) >>  0)) <<  8)
5206
          |  (((sword32)((b[107]        ) >>  0)) << 16)
5207
          | ((((sword32)((b[108] & 0xf )) >>  0)) << 24);
5208
    t[31] =  (((sword32)((b[108]        ) >>  4)) <<  0)
5209
          |  (((sword32)((b[109]        ) >>  0)) <<  4)
5210
          |  (((sword32)((b[110]        ) >>  0)) << 12)
5211
          |  (((sword32)((b[111]        ) >>  0)) << 20);
5212
    t[32] =  (((sword32)((b[112]        ) >>  0)) <<  0)
5213
          |  (((sword32)((b[113]        ) >>  0)) <<  8);
5214
5215
    /* Mod curve order */
5216
    /* 2^446 - 0x8335dc163bb124b65129c96fde933d8d723a70aadc873d6d54a7bb0d */
5217
    /* Mod top half of extra words */
5218
    t[ 8] += (sword64)0x129eec34 * t[24];
5219
    t[ 9] += (sword64)0x21cf5b54 * t[24];
5220
    t[10] += (sword64)0x29c2ab70 * t[24];
5221
    t[11] += (sword64)0x0f635c8c * t[24];
5222
    t[12] += (sword64)0x25bf7a4c * t[24];
5223
    t[13] += (sword64)0x2d944a70 * t[24];
5224
    t[14] += (sword64)0x18eec490 * t[24];
5225
    t[15] += (sword64)0x20cd7704 * t[24];
5226
    t[ 9] += (sword64)0x129eec34 * t[25];
5227
    t[10] += (sword64)0x21cf5b54 * t[25];
5228
    t[11] += (sword64)0x29c2ab70 * t[25];
5229
    t[12] += (sword64)0x0f635c8c * t[25];
5230
    t[13] += (sword64)0x25bf7a4c * t[25];
5231
    t[14] += (sword64)0x2d944a70 * t[25];
5232
    t[15] += (sword64)0x18eec490 * t[25];
5233
    t[16] += (sword64)0x20cd7704 * t[25];
5234
    t[10] += (sword64)0x129eec34 * t[26];
5235
    t[11] += (sword64)0x21cf5b54 * t[26];
5236
    t[12] += (sword64)0x29c2ab70 * t[26];
5237
    t[13] += (sword64)0x0f635c8c * t[26];
5238
    t[14] += (sword64)0x25bf7a4c * t[26];
5239
    t[15] += (sword64)0x2d944a70 * t[26];
5240
    t[16] += (sword64)0x18eec490 * t[26];
5241
    t[17] += (sword64)0x20cd7704 * t[26];
5242
    t[11] += (sword64)0x129eec34 * t[27];
5243
    t[12] += (sword64)0x21cf5b54 * t[27];
5244
    t[13] += (sword64)0x29c2ab70 * t[27];
5245
    t[14] += (sword64)0x0f635c8c * t[27];
5246
    t[15] += (sword64)0x25bf7a4c * t[27];
5247
    t[16] += (sword64)0x2d944a70 * t[27];
5248
    t[17] += (sword64)0x18eec490 * t[27];
5249
    t[18] += (sword64)0x20cd7704 * t[27];
5250
    t[12] += (sword64)0x129eec34 * t[28];
5251
    t[13] += (sword64)0x21cf5b54 * t[28];
5252
    t[14] += (sword64)0x29c2ab70 * t[28];
5253
    t[15] += (sword64)0x0f635c8c * t[28];
5254
    t[16] += (sword64)0x25bf7a4c * t[28];
5255
    t[17] += (sword64)0x2d944a70 * t[28];
5256
    t[18] += (sword64)0x18eec490 * t[28];
5257
    t[19] += (sword64)0x20cd7704 * t[28];
5258
    t[13] += (sword64)0x129eec34 * t[29];
5259
    t[14] += (sword64)0x21cf5b54 * t[29];
5260
    t[15] += (sword64)0x29c2ab70 * t[29];
5261
    t[16] += (sword64)0x0f635c8c * t[29];
5262
    t[17] += (sword64)0x25bf7a4c * t[29];
5263
    t[18] += (sword64)0x2d944a70 * t[29];
5264
    t[19] += (sword64)0x18eec490 * t[29];
5265
    t[20] += (sword64)0x20cd7704 * t[29];
5266
    t[14] += (sword64)0x129eec34 * t[30];
5267
    t[15] += (sword64)0x21cf5b54 * t[30];
5268
    t[16] += (sword64)0x29c2ab70 * t[30];
5269
    t[17] += (sword64)0x0f635c8c * t[30];
5270
    t[18] += (sword64)0x25bf7a4c * t[30];
5271
    t[19] += (sword64)0x2d944a70 * t[30];
5272
    t[20] += (sword64)0x18eec490 * t[30];
5273
    t[21] += (sword64)0x20cd7704 * t[30];
5274
    t[15] += (sword64)0x129eec34 * t[31];
5275
    t[16] += (sword64)0x21cf5b54 * t[31];
5276
    t[17] += (sword64)0x29c2ab70 * t[31];
5277
    t[18] += (sword64)0x0f635c8c * t[31];
5278
    t[19] += (sword64)0x25bf7a4c * t[31];
5279
    t[20] += (sword64)0x2d944a70 * t[31];
5280
    t[21] += (sword64)0x18eec490 * t[31];
5281
    t[22] += (sword64)0x20cd7704 * t[31];
5282
    t[16] += (sword64)0x129eec34 * t[32];
5283
    t[17] += (sword64)0x21cf5b54 * t[32];
5284
    t[18] += (sword64)0x29c2ab70 * t[32];
5285
    t[19] += (sword64)0x0f635c8c * t[32];
5286
    t[20] += (sword64)0x25bf7a4c * t[32];
5287
    t[21] += (sword64)0x2d944a70 * t[32];
5288
    t[22] += (sword64)0x18eec490 * t[32];
5289
    t[23] += (sword64)0x20cd7704 * t[32];
5290
    t[24]  = 0;
5291
    /* Propagate carries */
5292
    c = t[ 8] >> 28; t[ 9] += c; t[ 8] = t[ 8] & 0xfffffff;
5293
    c = t[ 9] >> 28; t[10] += c; t[ 9] = t[ 9] & 0xfffffff;
5294
    c = t[10] >> 28; t[11] += c; t[10] = t[10] & 0xfffffff;
5295
    c = t[11] >> 28; t[12] += c; t[11] = t[11] & 0xfffffff;
5296
    c = t[12] >> 28; t[13] += c; t[12] = t[12] & 0xfffffff;
5297
    c = t[13] >> 28; t[14] += c; t[13] = t[13] & 0xfffffff;
5298
    c = t[14] >> 28; t[15] += c; t[14] = t[14] & 0xfffffff;
5299
    c = t[15] >> 28; t[16] += c; t[15] = t[15] & 0xfffffff;
5300
    c = t[16] >> 28; t[17] += c; t[16] = t[16] & 0xfffffff;
5301
    c = t[17] >> 28; t[18] += c; t[17] = t[17] & 0xfffffff;
5302
    c = t[18] >> 28; t[19] += c; t[18] = t[18] & 0xfffffff;
5303
    c = t[19] >> 28; t[20] += c; t[19] = t[19] & 0xfffffff;
5304
    c = t[20] >> 28; t[21] += c; t[20] = t[20] & 0xfffffff;
5305
    c = t[21] >> 28; t[22] += c; t[21] = t[21] & 0xfffffff;
5306
    c = t[22] >> 28; t[23] += c; t[22] = t[22] & 0xfffffff;
5307
    c = t[23] >> 28; t[24] += c; t[23] = t[23] & 0xfffffff;
5308
    /* Mod bottom half of extra words */
5309
    t[ 0] += (sword64)0x129eec34 * t[16];
5310
    t[ 1] += (sword64)0x21cf5b54 * t[16];
5311
    t[ 2] += (sword64)0x29c2ab70 * t[16];
5312
    t[ 3] += (sword64)0x0f635c8c * t[16];
5313
    t[ 4] += (sword64)0x25bf7a4c * t[16];
5314
    t[ 5] += (sword64)0x2d944a70 * t[16];
5315
    t[ 6] += (sword64)0x18eec490 * t[16];
5316
    t[ 7] += (sword64)0x20cd7704 * t[16];
5317
    t[ 1] += (sword64)0x129eec34 * t[17];
5318
    t[ 2] += (sword64)0x21cf5b54 * t[17];
5319
    t[ 3] += (sword64)0x29c2ab70 * t[17];
5320
    t[ 4] += (sword64)0x0f635c8c * t[17];
5321
    t[ 5] += (sword64)0x25bf7a4c * t[17];
5322
    t[ 6] += (sword64)0x2d944a70 * t[17];
5323
    t[ 7] += (sword64)0x18eec490 * t[17];
5324
    t[ 8] += (sword64)0x20cd7704 * t[17];
5325
    t[ 2] += (sword64)0x129eec34 * t[18];
5326
    t[ 3] += (sword64)0x21cf5b54 * t[18];
5327
    t[ 4] += (sword64)0x29c2ab70 * t[18];
5328
    t[ 5] += (sword64)0x0f635c8c * t[18];
5329
    t[ 6] += (sword64)0x25bf7a4c * t[18];
5330
    t[ 7] += (sword64)0x2d944a70 * t[18];
5331
    t[ 8] += (sword64)0x18eec490 * t[18];
5332
    t[ 9] += (sword64)0x20cd7704 * t[18];
5333
    t[ 3] += (sword64)0x129eec34 * t[19];
5334
    t[ 4] += (sword64)0x21cf5b54 * t[19];
5335
    t[ 5] += (sword64)0x29c2ab70 * t[19];
5336
    t[ 6] += (sword64)0x0f635c8c * t[19];
5337
    t[ 7] += (sword64)0x25bf7a4c * t[19];
5338
    t[ 8] += (sword64)0x2d944a70 * t[19];
5339
    t[ 9] += (sword64)0x18eec490 * t[19];
5340
    t[10] += (sword64)0x20cd7704 * t[19];
5341
    t[ 4] += (sword64)0x129eec34 * t[20];
5342
    t[ 5] += (sword64)0x21cf5b54 * t[20];
5343
    t[ 6] += (sword64)0x29c2ab70 * t[20];
5344
    t[ 7] += (sword64)0x0f635c8c * t[20];
5345
    t[ 8] += (sword64)0x25bf7a4c * t[20];
5346
    t[ 9] += (sword64)0x2d944a70 * t[20];
5347
    t[10] += (sword64)0x18eec490 * t[20];
5348
    t[11] += (sword64)0x20cd7704 * t[20];
5349
    t[ 5] += (sword64)0x129eec34 * t[21];
5350
    t[ 6] += (sword64)0x21cf5b54 * t[21];
5351
    t[ 7] += (sword64)0x29c2ab70 * t[21];
5352
    t[ 8] += (sword64)0x0f635c8c * t[21];
5353
    t[ 9] += (sword64)0x25bf7a4c * t[21];
5354
    t[10] += (sword64)0x2d944a70 * t[21];
5355
    t[11] += (sword64)0x18eec490 * t[21];
5356
    t[12] += (sword64)0x20cd7704 * t[21];
5357
    t[ 6] += (sword64)0x129eec34 * t[22];
5358
    t[ 7] += (sword64)0x21cf5b54 * t[22];
5359
    t[ 8] += (sword64)0x29c2ab70 * t[22];
5360
    t[ 9] += (sword64)0x0f635c8c * t[22];
5361
    t[10] += (sword64)0x25bf7a4c * t[22];
5362
    t[11] += (sword64)0x2d944a70 * t[22];
5363
    t[12] += (sword64)0x18eec490 * t[22];
5364
    t[13] += (sword64)0x20cd7704 * t[22];
5365
    t[ 7] += (sword64)0x129eec34 * t[23];
5366
    t[ 8] += (sword64)0x21cf5b54 * t[23];
5367
    t[ 9] += (sword64)0x29c2ab70 * t[23];
5368
    t[10] += (sword64)0x0f635c8c * t[23];
5369
    t[11] += (sword64)0x25bf7a4c * t[23];
5370
    t[12] += (sword64)0x2d944a70 * t[23];
5371
    t[13] += (sword64)0x18eec490 * t[23];
5372
    t[14] += (sword64)0x20cd7704 * t[23];
5373
    t[ 8] += (sword64)0x129eec34 * t[24];
5374
    t[ 9] += (sword64)0x21cf5b54 * t[24];
5375
    t[10] += (sword64)0x29c2ab70 * t[24];
5376
    t[11] += (sword64)0x0f635c8c * t[24];
5377
    t[12] += (sword64)0x25bf7a4c * t[24];
5378
    t[13] += (sword64)0x2d944a70 * t[24];
5379
    t[14] += (sword64)0x18eec490 * t[24];
5380
    t[15] += (sword64)0x20cd7704 * t[24];
5381
    t[16]  = 0;
5382
    /* Propagate carries */
5383
    c = t[ 0] >> 28; t[ 1] += c; t[ 0] = t[ 0] & 0xfffffff;
5384
    c = t[ 1] >> 28; t[ 2] += c; t[ 1] = t[ 1] & 0xfffffff;
5385
    c = t[ 2] >> 28; t[ 3] += c; t[ 2] = t[ 2] & 0xfffffff;
5386
    c = t[ 3] >> 28; t[ 4] += c; t[ 3] = t[ 3] & 0xfffffff;
5387
    c = t[ 4] >> 28; t[ 5] += c; t[ 4] = t[ 4] & 0xfffffff;
5388
    c = t[ 5] >> 28; t[ 6] += c; t[ 5] = t[ 5] & 0xfffffff;
5389
    c = t[ 6] >> 28; t[ 7] += c; t[ 6] = t[ 6] & 0xfffffff;
5390
    c = t[ 7] >> 28; t[ 8] += c; t[ 7] = t[ 7] & 0xfffffff;
5391
    c = t[ 8] >> 28; t[ 9] += c; t[ 8] = t[ 8] & 0xfffffff;
5392
    c = t[ 9] >> 28; t[10] += c; t[ 9] = t[ 9] & 0xfffffff;
5393
    c = t[10] >> 28; t[11] += c; t[10] = t[10] & 0xfffffff;
5394
    c = t[11] >> 28; t[12] += c; t[11] = t[11] & 0xfffffff;
5395
    c = t[12] >> 28; t[13] += c; t[12] = t[12] & 0xfffffff;
5396
    c = t[13] >> 28; t[14] += c; t[13] = t[13] & 0xfffffff;
5397
    c = t[14] >> 28; t[15] += c; t[14] = t[14] & 0xfffffff;
5398
    c = t[15] >> 28; t[16] += c; t[15] = t[15] & 0xfffffff;
5399
    t[ 0] += (sword64)0x129eec34 * t[16];
5400
    t[ 1] += (sword64)0x21cf5b54 * t[16];
5401
    t[ 2] += (sword64)0x29c2ab70 * t[16];
5402
    t[ 3] += (sword64)0x0f635c8c * t[16];
5403
    t[ 4] += (sword64)0x25bf7a4c * t[16];
5404
    t[ 5] += (sword64)0x2d944a70 * t[16];
5405
    t[ 6] += (sword64)0x18eec490 * t[16];
5406
    t[ 7] += (sword64)0x20cd7704 * t[16];
5407
    /* Propagate carries */
5408
    c = t[ 0] >> 28; t[ 1] += c; d[ 0] = (sword32)(t[ 0] & 0xfffffff);
5409
    c = t[ 1] >> 28; t[ 2] += c; d[ 1] = (sword32)(t[ 1] & 0xfffffff);
5410
    c = t[ 2] >> 28; t[ 3] += c; d[ 2] = (sword32)(t[ 2] & 0xfffffff);
5411
    c = t[ 3] >> 28; t[ 4] += c; d[ 3] = (sword32)(t[ 3] & 0xfffffff);
5412
    c = t[ 4] >> 28; t[ 5] += c; d[ 4] = (sword32)(t[ 4] & 0xfffffff);
5413
    c = t[ 5] >> 28; t[ 6] += c; d[ 5] = (sword32)(t[ 5] & 0xfffffff);
5414
    c = t[ 6] >> 28; t[ 7] += c; d[ 6] = (sword32)(t[ 6] & 0xfffffff);
5415
    c = t[ 7] >> 28; t[ 8] += c; d[ 7] = (sword32)(t[ 7] & 0xfffffff);
5416
    c = t[ 8] >> 28; t[ 9] += c; d[ 8] = (sword32)(t[ 8] & 0xfffffff);
5417
    c = t[ 9] >> 28; t[10] += c; d[ 9] = (sword32)(t[ 9] & 0xfffffff);
5418
    c = t[10] >> 28; t[11] += c; d[10] = (sword32)(t[10] & 0xfffffff);
5419
    c = t[11] >> 28; t[12] += c; d[11] = (sword32)(t[11] & 0xfffffff);
5420
    c = t[12] >> 28; t[13] += c; d[12] = (sword32)(t[12] & 0xfffffff);
5421
    c = t[13] >> 28; t[14] += c; d[13] = (sword32)(t[13] & 0xfffffff);
5422
    c = t[14] >> 28; t[15] += c; d[14] = (sword32)(t[14] & 0xfffffff);
5423
    d[15] = (word32)t[15];
5424
    /* Mod bits over 28 in last word */
5425
    o = d[15] >> 26; d[15] &= 0x3ffffff;
5426
    d[ 0] += 0x4a7bb0d * o;
5427
    d[ 1] += 0x873d6d5 * o;
5428
    d[ 2] += 0xa70aadc * o;
5429
    d[ 3] += 0x3d8d723 * o;
5430
    d[ 4] += 0x96fde93 * o;
5431
    d[ 5] += 0xb65129c * o;
5432
    d[ 6] += 0x63bb124 * o;
5433
    d[ 7] += 0x8335dc1 * o;
5434
    /* Propagate carries */
5435
    o = d[ 0] >> 28; d[ 1] += o; d[ 0] = d[ 0] & 0xfffffff;
5436
    o = d[ 1] >> 28; d[ 2] += o; d[ 1] = d[ 1] & 0xfffffff;
5437
    o = d[ 2] >> 28; d[ 3] += o; d[ 2] = d[ 2] & 0xfffffff;
5438
    o = d[ 3] >> 28; d[ 4] += o; d[ 3] = d[ 3] & 0xfffffff;
5439
    o = d[ 4] >> 28; d[ 5] += o; d[ 4] = d[ 4] & 0xfffffff;
5440
    o = d[ 5] >> 28; d[ 6] += o; d[ 5] = d[ 5] & 0xfffffff;
5441
    o = d[ 6] >> 28; d[ 7] += o; d[ 6] = d[ 6] & 0xfffffff;
5442
    o = d[ 7] >> 28; d[ 8] += o; d[ 7] = d[ 7] & 0xfffffff;
5443
    o = d[ 8] >> 28; d[ 9] += o; d[ 8] = d[ 8] & 0xfffffff;
5444
    o = d[ 9] >> 28; d[10] += o; d[ 9] = d[ 9] & 0xfffffff;
5445
    o = d[10] >> 28; d[11] += o; d[10] = d[10] & 0xfffffff;
5446
    o = d[11] >> 28; d[12] += o; d[11] = d[11] & 0xfffffff;
5447
    o = d[12] >> 28; d[13] += o; d[12] = d[12] & 0xfffffff;
5448
    o = d[13] >> 28; d[14] += o; d[13] = d[13] & 0xfffffff;
5449
    o = d[14] >> 28; d[15] += o; d[14] = d[14] & 0xfffffff;
5450
5451
    /* Convert to bytes */
5452
    b[ 0] = (d[0 ] >>  0);
5453
    b[ 1] = (d[0 ] >>  8);
5454
    b[ 2] = (d[0 ] >> 16);
5455
    b[ 3] = (d[0 ] >> 24) + ((d[1 ] >>  0) <<  4);
5456
    b[ 4] = (d[1 ] >>  4);
5457
    b[ 5] = (d[1 ] >> 12);
5458
    b[ 6] = (d[1 ] >> 20);
5459
    b[ 7] = (d[2 ] >>  0);
5460
    b[ 8] = (d[2 ] >>  8);
5461
    b[ 9] = (d[2 ] >> 16);
5462
    b[10] = (d[2 ] >> 24) + ((d[3 ] >>  0) <<  4);
5463
    b[11] = (d[3 ] >>  4);
5464
    b[12] = (d[3 ] >> 12);
5465
    b[13] = (d[3 ] >> 20);
5466
    b[14] = (d[4 ] >>  0);
5467
    b[15] = (d[4 ] >>  8);
5468
    b[16] = (d[4 ] >> 16);
5469
    b[17] = (d[4 ] >> 24) + ((d[5 ] >>  0) <<  4);
5470
    b[18] = (d[5 ] >>  4);
5471
    b[19] = (d[5 ] >> 12);
5472
    b[20] = (d[5 ] >> 20);
5473
    b[21] = (d[6 ] >>  0);
5474
    b[22] = (d[6 ] >>  8);
5475
    b[23] = (d[6 ] >> 16);
5476
    b[24] = (d[6 ] >> 24) + ((d[7 ] >>  0) <<  4);
5477
    b[25] = (d[7 ] >>  4);
5478
    b[26] = (d[7 ] >> 12);
5479
    b[27] = (d[7 ] >> 20);
5480
    b[28] = (d[8 ] >>  0);
5481
    b[29] = (d[8 ] >>  8);
5482
    b[30] = (d[8 ] >> 16);
5483
    b[31] = (d[8 ] >> 24) + ((d[9 ] >>  0) <<  4);
5484
    b[32] = (d[9 ] >>  4);
5485
    b[33] = (d[9 ] >> 12);
5486
    b[34] = (d[9 ] >> 20);
5487
    b[35] = (d[10] >>  0);
5488
    b[36] = (d[10] >>  8);
5489
    b[37] = (d[10] >> 16);
5490
    b[38] = (d[10] >> 24) + ((d[11] >>  0) <<  4);
5491
    b[39] = (d[11] >>  4);
5492
    b[40] = (d[11] >> 12);
5493
    b[41] = (d[11] >> 20);
5494
    b[42] = (d[12] >>  0);
5495
    b[43] = (d[12] >>  8);
5496
    b[44] = (d[12] >> 16);
5497
    b[45] = (d[12] >> 24) + ((d[13] >>  0) <<  4);
5498
    b[46] = (d[13] >>  4);
5499
    b[47] = (d[13] >> 12);
5500
    b[48] = (d[13] >> 20);
5501
    b[49] = (d[14] >>  0);
5502
    b[50] = (d[14] >>  8);
5503
    b[51] = (d[14] >> 16);
5504
    b[52] = (d[14] >> 24) + ((d[15] >>  0) <<  4);
5505
    b[53] = (d[15] >>  4);
5506
    b[54] = (d[15] >> 12);
5507
    b[55] = (d[15] >> 20);
5508
    b[56] = 0;
5509
}
5510
5511
/* Multiply a by b and add d. r = (a * b + d) mod order
5512
 *
5513
 * r  [in]  Scalar to hold result.
5514
 * a  [in]  Scalar to multiply.
5515
 * b  [in]  Scalar to multiply.
5516
 * d  [in]  Scalar to add to multiplicative result.
5517
 */
5518
void sc448_muladd(byte* r, const byte* a, const byte* b, const byte* d)
5519
{
5520
    word32 ad[16], bd[16], dd[16], rd[16];
5521
    word64 t[32];
5522
    word64 c;
5523
    word32 o;
5524
5525
    /* Load from bytes */
5526
    ad[ 0] =  (((sword32)((a[ 0]        ) >>  0)) <<  0)
5527
           |  (((sword32)((a[ 1]        ) >>  0)) <<  8)
5528
           |  (((sword32)((a[ 2]        ) >>  0)) << 16)
5529
           | ((((sword32)((a[ 3] & 0xf )) >>  0)) << 24);
5530
    ad[ 1] =  (((sword32)((a[ 3]        ) >>  4)) <<  0)
5531
           |  (((sword32)((a[ 4]        ) >>  0)) <<  4)
5532
           |  (((sword32)((a[ 5]        ) >>  0)) << 12)
5533
           |  (((sword32)((a[ 6]        ) >>  0)) << 20);
5534
    ad[ 2] =  (((sword32)((a[ 7]        ) >>  0)) <<  0)
5535
           |  (((sword32)((a[ 8]        ) >>  0)) <<  8)
5536
           |  (((sword32)((a[ 9]        ) >>  0)) << 16)
5537
           | ((((sword32)((a[10] & 0xf )) >>  0)) << 24);
5538
    ad[ 3] =  (((sword32)((a[10]        ) >>  4)) <<  0)
5539
           |  (((sword32)((a[11]        ) >>  0)) <<  4)
5540
           |  (((sword32)((a[12]        ) >>  0)) << 12)
5541
           |  (((sword32)((a[13]        ) >>  0)) << 20);
5542
    ad[ 4] =  (((sword32)((a[14]        ) >>  0)) <<  0)
5543
           |  (((sword32)((a[15]        ) >>  0)) <<  8)
5544
           |  (((sword32)((a[16]        ) >>  0)) << 16)
5545
           | ((((sword32)((a[17] & 0xf )) >>  0)) << 24);
5546
    ad[ 5] =  (((sword32)((a[17]        ) >>  4)) <<  0)
5547
           |  (((sword32)((a[18]        ) >>  0)) <<  4)
5548
           |  (((sword32)((a[19]        ) >>  0)) << 12)
5549
           |  (((sword32)((a[20]        ) >>  0)) << 20);
5550
    ad[ 6] =  (((sword32)((a[21]        ) >>  0)) <<  0)
5551
           |  (((sword32)((a[22]        ) >>  0)) <<  8)
5552
           |  (((sword32)((a[23]        ) >>  0)) << 16)
5553
           | ((((sword32)((a[24] & 0xf )) >>  0)) << 24);
5554
    ad[ 7] =  (((sword32)((a[24]        ) >>  4)) <<  0)
5555
           |  (((sword32)((a[25]        ) >>  0)) <<  4)
5556
           |  (((sword32)((a[26]        ) >>  0)) << 12)
5557
           |  (((sword32)((a[27]        ) >>  0)) << 20);
5558
    ad[ 8] =  (((sword32)((a[28]        ) >>  0)) <<  0)
5559
           |  (((sword32)((a[29]        ) >>  0)) <<  8)
5560
           |  (((sword32)((a[30]        ) >>  0)) << 16)
5561
           | ((((sword32)((a[31] & 0xf )) >>  0)) << 24);
5562
    ad[ 9] =  (((sword32)((a[31]        ) >>  4)) <<  0)
5563
           |  (((sword32)((a[32]        ) >>  0)) <<  4)
5564
           |  (((sword32)((a[33]        ) >>  0)) << 12)
5565
           |  (((sword32)((a[34]        ) >>  0)) << 20);
5566
    ad[10] =  (((sword32)((a[35]        ) >>  0)) <<  0)
5567
           |  (((sword32)((a[36]        ) >>  0)) <<  8)
5568
           |  (((sword32)((a[37]        ) >>  0)) << 16)
5569
           | ((((sword32)((a[38] & 0xf )) >>  0)) << 24);
5570
    ad[11] =  (((sword32)((a[38]        ) >>  4)) <<  0)
5571
           |  (((sword32)((a[39]        ) >>  0)) <<  4)
5572
           |  (((sword32)((a[40]        ) >>  0)) << 12)
5573
           |  (((sword32)((a[41]        ) >>  0)) << 20);
5574
    ad[12] =  (((sword32)((a[42]        ) >>  0)) <<  0)
5575
           |  (((sword32)((a[43]        ) >>  0)) <<  8)
5576
           |  (((sword32)((a[44]        ) >>  0)) << 16)
5577
           | ((((sword32)((a[45] & 0xf )) >>  0)) << 24);
5578
    ad[13] =  (((sword32)((a[45]        ) >>  4)) <<  0)
5579
           |  (((sword32)((a[46]        ) >>  0)) <<  4)
5580
           |  (((sword32)((a[47]        ) >>  0)) << 12)
5581
           |  (((sword32)((a[48]        ) >>  0)) << 20);
5582
    ad[14] =  (((sword32)((a[49]        ) >>  0)) <<  0)
5583
           |  (((sword32)((a[50]        ) >>  0)) <<  8)
5584
           |  (((sword32)((a[51]        ) >>  0)) << 16)
5585
           | ((((sword32)((a[52] & 0xf )) >>  0)) << 24);
5586
    ad[15] =  (((sword32)((a[52]        ) >>  4)) <<  0)
5587
           |  (((sword32)((a[53]        ) >>  0)) <<  4)
5588
           |  (((sword32)((a[54]        ) >>  0)) << 12)
5589
           |  (((sword32)((a[55]        ) >>  0)) << 20);
5590
    /* Load from bytes */
5591
    bd[ 0] =  (((sword32)((b[ 0]        ) >>  0)) <<  0)
5592
           |  (((sword32)((b[ 1]        ) >>  0)) <<  8)
5593
           |  (((sword32)((b[ 2]        ) >>  0)) << 16)
5594
           | ((((sword32)((b[ 3] & 0xf )) >>  0)) << 24);
5595
    bd[ 1] =  (((sword32)((b[ 3]        ) >>  4)) <<  0)
5596
           |  (((sword32)((b[ 4]        ) >>  0)) <<  4)
5597
           |  (((sword32)((b[ 5]        ) >>  0)) << 12)
5598
           |  (((sword32)((b[ 6]        ) >>  0)) << 20);
5599
    bd[ 2] =  (((sword32)((b[ 7]        ) >>  0)) <<  0)
5600
           |  (((sword32)((b[ 8]        ) >>  0)) <<  8)
5601
           |  (((sword32)((b[ 9]        ) >>  0)) << 16)
5602
           | ((((sword32)((b[10] & 0xf )) >>  0)) << 24);
5603
    bd[ 3] =  (((sword32)((b[10]        ) >>  4)) <<  0)
5604
           |  (((sword32)((b[11]        ) >>  0)) <<  4)
5605
           |  (((sword32)((b[12]        ) >>  0)) << 12)
5606
           |  (((sword32)((b[13]        ) >>  0)) << 20);
5607
    bd[ 4] =  (((sword32)((b[14]        ) >>  0)) <<  0)
5608
           |  (((sword32)((b[15]        ) >>  0)) <<  8)
5609
           |  (((sword32)((b[16]        ) >>  0)) << 16)
5610
           | ((((sword32)((b[17] & 0xf )) >>  0)) << 24);
5611
    bd[ 5] =  (((sword32)((b[17]        ) >>  4)) <<  0)
5612
           |  (((sword32)((b[18]        ) >>  0)) <<  4)
5613
           |  (((sword32)((b[19]        ) >>  0)) << 12)
5614
           |  (((sword32)((b[20]        ) >>  0)) << 20);
5615
    bd[ 6] =  (((sword32)((b[21]        ) >>  0)) <<  0)
5616
           |  (((sword32)((b[22]        ) >>  0)) <<  8)
5617
           |  (((sword32)((b[23]        ) >>  0)) << 16)
5618
           | ((((sword32)((b[24] & 0xf )) >>  0)) << 24);
5619
    bd[ 7] =  (((sword32)((b[24]        ) >>  4)) <<  0)
5620
           |  (((sword32)((b[25]        ) >>  0)) <<  4)
5621
           |  (((sword32)((b[26]        ) >>  0)) << 12)
5622
           |  (((sword32)((b[27]        ) >>  0)) << 20);
5623
    bd[ 8] =  (((sword32)((b[28]        ) >>  0)) <<  0)
5624
           |  (((sword32)((b[29]        ) >>  0)) <<  8)
5625
           |  (((sword32)((b[30]        ) >>  0)) << 16)
5626
           | ((((sword32)((b[31] & 0xf )) >>  0)) << 24);
5627
    bd[ 9] =  (((sword32)((b[31]        ) >>  4)) <<  0)
5628
           |  (((sword32)((b[32]        ) >>  0)) <<  4)
5629
           |  (((sword32)((b[33]        ) >>  0)) << 12)
5630
           |  (((sword32)((b[34]        ) >>  0)) << 20);
5631
    bd[10] =  (((sword32)((b[35]        ) >>  0)) <<  0)
5632
           |  (((sword32)((b[36]        ) >>  0)) <<  8)
5633
           |  (((sword32)((b[37]        ) >>  0)) << 16)
5634
           | ((((sword32)((b[38] & 0xf )) >>  0)) << 24);
5635
    bd[11] =  (((sword32)((b[38]        ) >>  4)) <<  0)
5636
           |  (((sword32)((b[39]        ) >>  0)) <<  4)
5637
           |  (((sword32)((b[40]        ) >>  0)) << 12)
5638
           |  (((sword32)((b[41]        ) >>  0)) << 20);
5639
    bd[12] =  (((sword32)((b[42]        ) >>  0)) <<  0)
5640
           |  (((sword32)((b[43]        ) >>  0)) <<  8)
5641
           |  (((sword32)((b[44]        ) >>  0)) << 16)
5642
           | ((((sword32)((b[45] & 0xf )) >>  0)) << 24);
5643
    bd[13] =  (((sword32)((b[45]        ) >>  4)) <<  0)
5644
           |  (((sword32)((b[46]        ) >>  0)) <<  4)
5645
           |  (((sword32)((b[47]        ) >>  0)) << 12)
5646
           |  (((sword32)((b[48]        ) >>  0)) << 20);
5647
    bd[14] =  (((sword32)((b[49]        ) >>  0)) <<  0)
5648
           |  (((sword32)((b[50]        ) >>  0)) <<  8)
5649
           |  (((sword32)((b[51]        ) >>  0)) << 16)
5650
           | ((((sword32)((b[52] & 0xf )) >>  0)) << 24);
5651
    bd[15] =  (((sword32)((b[52]        ) >>  4)) <<  0)
5652
           |  (((sword32)((b[53]        ) >>  0)) <<  4)
5653
           |  (((sword32)((b[54]        ) >>  0)) << 12)
5654
           |  (((sword32)((b[55]        ) >>  0)) << 20);
5655
    /* Load from bytes */
5656
    dd[ 0] =  (((sword32)((d[ 0]        ) >>  0)) <<  0)
5657
           |  (((sword32)((d[ 1]        ) >>  0)) <<  8)
5658
           |  (((sword32)((d[ 2]        ) >>  0)) << 16)
5659
           | ((((sword32)((d[ 3] & 0xf )) >>  0)) << 24);
5660
    dd[ 1] =  (((sword32)((d[ 3]        ) >>  4)) <<  0)
5661
           |  (((sword32)((d[ 4]        ) >>  0)) <<  4)
5662
           |  (((sword32)((d[ 5]        ) >>  0)) << 12)
5663
           |  (((sword32)((d[ 6]        ) >>  0)) << 20);
5664
    dd[ 2] =  (((sword32)((d[ 7]        ) >>  0)) <<  0)
5665
           |  (((sword32)((d[ 8]        ) >>  0)) <<  8)
5666
           |  (((sword32)((d[ 9]        ) >>  0)) << 16)
5667
           | ((((sword32)((d[10] & 0xf )) >>  0)) << 24);
5668
    dd[ 3] =  (((sword32)((d[10]        ) >>  4)) <<  0)
5669
           |  (((sword32)((d[11]        ) >>  0)) <<  4)
5670
           |  (((sword32)((d[12]        ) >>  0)) << 12)
5671
           |  (((sword32)((d[13]        ) >>  0)) << 20);
5672
    dd[ 4] =  (((sword32)((d[14]        ) >>  0)) <<  0)
5673
           |  (((sword32)((d[15]        ) >>  0)) <<  8)
5674
           |  (((sword32)((d[16]        ) >>  0)) << 16)
5675
           | ((((sword32)((d[17] & 0xf )) >>  0)) << 24);
5676
    dd[ 5] =  (((sword32)((d[17]        ) >>  4)) <<  0)
5677
           |  (((sword32)((d[18]        ) >>  0)) <<  4)
5678
           |  (((sword32)((d[19]        ) >>  0)) << 12)
5679
           |  (((sword32)((d[20]        ) >>  0)) << 20);
5680
    dd[ 6] =  (((sword32)((d[21]        ) >>  0)) <<  0)
5681
           |  (((sword32)((d[22]        ) >>  0)) <<  8)
5682
           |  (((sword32)((d[23]        ) >>  0)) << 16)
5683
           | ((((sword32)((d[24] & 0xf )) >>  0)) << 24);
5684
    dd[ 7] =  (((sword32)((d[24]        ) >>  4)) <<  0)
5685
           |  (((sword32)((d[25]        ) >>  0)) <<  4)
5686
           |  (((sword32)((d[26]        ) >>  0)) << 12)
5687
           |  (((sword32)((d[27]        ) >>  0)) << 20);
5688
    dd[ 8] =  (((sword32)((d[28]        ) >>  0)) <<  0)
5689
           |  (((sword32)((d[29]        ) >>  0)) <<  8)
5690
           |  (((sword32)((d[30]        ) >>  0)) << 16)
5691
           | ((((sword32)((d[31] & 0xf )) >>  0)) << 24);
5692
    dd[ 9] =  (((sword32)((d[31]        ) >>  4)) <<  0)
5693
           |  (((sword32)((d[32]        ) >>  0)) <<  4)
5694
           |  (((sword32)((d[33]        ) >>  0)) << 12)
5695
           |  (((sword32)((d[34]        ) >>  0)) << 20);
5696
    dd[10] =  (((sword32)((d[35]        ) >>  0)) <<  0)
5697
           |  (((sword32)((d[36]        ) >>  0)) <<  8)
5698
           |  (((sword32)((d[37]        ) >>  0)) << 16)
5699
           | ((((sword32)((d[38] & 0xf )) >>  0)) << 24);
5700
    dd[11] =  (((sword32)((d[38]        ) >>  4)) <<  0)
5701
           |  (((sword32)((d[39]        ) >>  0)) <<  4)
5702
           |  (((sword32)((d[40]        ) >>  0)) << 12)
5703
           |  (((sword32)((d[41]        ) >>  0)) << 20);
5704
    dd[12] =  (((sword32)((d[42]        ) >>  0)) <<  0)
5705
           |  (((sword32)((d[43]        ) >>  0)) <<  8)
5706
           |  (((sword32)((d[44]        ) >>  0)) << 16)
5707
           | ((((sword32)((d[45] & 0xf )) >>  0)) << 24);
5708
    dd[13] =  (((sword32)((d[45]        ) >>  4)) <<  0)
5709
           |  (((sword32)((d[46]        ) >>  0)) <<  4)
5710
           |  (((sword32)((d[47]        ) >>  0)) << 12)
5711
           |  (((sword32)((d[48]        ) >>  0)) << 20);
5712
    dd[14] =  (((sword32)((d[49]        ) >>  0)) <<  0)
5713
           |  (((sword32)((d[50]        ) >>  0)) <<  8)
5714
           |  (((sword32)((d[51]        ) >>  0)) << 16)
5715
           | ((((sword32)((d[52] & 0xf )) >>  0)) << 24);
5716
    dd[15] =  (((sword32)((d[52]        ) >>  4)) <<  0)
5717
           |  (((sword32)((d[53]        ) >>  0)) <<  4)
5718
           |  (((sword32)((d[54]        ) >>  0)) << 12)
5719
           |  (((sword32)((d[55]        ) >>  0)) << 20);
5720
5721
    /* a * b + d */
5722
    t[ 0] =  dd[ 0] + (sword64)ad[ 0] * bd[ 0];
5723
    t[ 1] =  dd[ 1] + (sword64)ad[ 0] * bd[ 1]
5724
                    + (sword64)ad[ 1] * bd[ 0];
5725
    t[ 2] =  dd[ 2] + (sword64)ad[ 0] * bd[ 2]
5726
                    + (sword64)ad[ 1] * bd[ 1]
5727
                    + (sword64)ad[ 2] * bd[ 0];
5728
    t[ 3] =  dd[ 3] + (sword64)ad[ 0] * bd[ 3]
5729
                    + (sword64)ad[ 1] * bd[ 2]
5730
                    + (sword64)ad[ 2] * bd[ 1]
5731
                    + (sword64)ad[ 3] * bd[ 0];
5732
    t[ 4] =  dd[ 4] + (sword64)ad[ 0] * bd[ 4]
5733
                    + (sword64)ad[ 1] * bd[ 3]
5734
                    + (sword64)ad[ 2] * bd[ 2]
5735
                    + (sword64)ad[ 3] * bd[ 1]
5736
                    + (sword64)ad[ 4] * bd[ 0];
5737
    t[ 5] =  dd[ 5] + (sword64)ad[ 0] * bd[ 5]
5738
                    + (sword64)ad[ 1] * bd[ 4]
5739
                    + (sword64)ad[ 2] * bd[ 3]
5740
                    + (sword64)ad[ 3] * bd[ 2]
5741
                    + (sword64)ad[ 4] * bd[ 1]
5742
                    + (sword64)ad[ 5] * bd[ 0];
5743
    t[ 6] =  dd[ 6] + (sword64)ad[ 0] * bd[ 6]
5744
                    + (sword64)ad[ 1] * bd[ 5]
5745
                    + (sword64)ad[ 2] * bd[ 4]
5746
                    + (sword64)ad[ 3] * bd[ 3]
5747
                    + (sword64)ad[ 4] * bd[ 2]
5748
                    + (sword64)ad[ 5] * bd[ 1]
5749
                    + (sword64)ad[ 6] * bd[ 0];
5750
    t[ 7] =  dd[ 7] + (sword64)ad[ 0] * bd[ 7]
5751
                    + (sword64)ad[ 1] * bd[ 6]
5752
                    + (sword64)ad[ 2] * bd[ 5]
5753
                    + (sword64)ad[ 3] * bd[ 4]
5754
                    + (sword64)ad[ 4] * bd[ 3]
5755
                    + (sword64)ad[ 5] * bd[ 2]
5756
                    + (sword64)ad[ 6] * bd[ 1]
5757
                    + (sword64)ad[ 7] * bd[ 0];
5758
    t[ 8] =  dd[ 8] + (sword64)ad[ 0] * bd[ 8]
5759
                    + (sword64)ad[ 1] * bd[ 7]
5760
                    + (sword64)ad[ 2] * bd[ 6]
5761
                    + (sword64)ad[ 3] * bd[ 5]
5762
                    + (sword64)ad[ 4] * bd[ 4]
5763
                    + (sword64)ad[ 5] * bd[ 3]
5764
                    + (sword64)ad[ 6] * bd[ 2]
5765
                    + (sword64)ad[ 7] * bd[ 1]
5766
                    + (sword64)ad[ 8] * bd[ 0];
5767
    t[ 9] =  dd[ 9] + (sword64)ad[ 0] * bd[ 9]
5768
                    + (sword64)ad[ 1] * bd[ 8]
5769
                    + (sword64)ad[ 2] * bd[ 7]
5770
                    + (sword64)ad[ 3] * bd[ 6]
5771
                    + (sword64)ad[ 4] * bd[ 5]
5772
                    + (sword64)ad[ 5] * bd[ 4]
5773
                    + (sword64)ad[ 6] * bd[ 3]
5774
                    + (sword64)ad[ 7] * bd[ 2]
5775
                    + (sword64)ad[ 8] * bd[ 1]
5776
                    + (sword64)ad[ 9] * bd[ 0];
5777
    t[10] =  dd[10] + (sword64)ad[ 0] * bd[10]
5778
                    + (sword64)ad[ 1] * bd[ 9]
5779
                    + (sword64)ad[ 2] * bd[ 8]
5780
                    + (sword64)ad[ 3] * bd[ 7]
5781
                    + (sword64)ad[ 4] * bd[ 6]
5782
                    + (sword64)ad[ 5] * bd[ 5]
5783
                    + (sword64)ad[ 6] * bd[ 4]
5784
                    + (sword64)ad[ 7] * bd[ 3]
5785
                    + (sword64)ad[ 8] * bd[ 2]
5786
                    + (sword64)ad[ 9] * bd[ 1]
5787
                    + (sword64)ad[10] * bd[ 0];
5788
    t[11] =  dd[11] + (sword64)ad[ 0] * bd[11]
5789
                    + (sword64)ad[ 1] * bd[10]
5790
                    + (sword64)ad[ 2] * bd[ 9]
5791
                    + (sword64)ad[ 3] * bd[ 8]
5792
                    + (sword64)ad[ 4] * bd[ 7]
5793
                    + (sword64)ad[ 5] * bd[ 6]
5794
                    + (sword64)ad[ 6] * bd[ 5]
5795
                    + (sword64)ad[ 7] * bd[ 4]
5796
                    + (sword64)ad[ 8] * bd[ 3]
5797
                    + (sword64)ad[ 9] * bd[ 2]
5798
                    + (sword64)ad[10] * bd[ 1]
5799
                    + (sword64)ad[11] * bd[ 0];
5800
    t[12] =  dd[12] + (sword64)ad[ 0] * bd[12]
5801
                    + (sword64)ad[ 1] * bd[11]
5802
                    + (sword64)ad[ 2] * bd[10]
5803
                    + (sword64)ad[ 3] * bd[ 9]
5804
                    + (sword64)ad[ 4] * bd[ 8]
5805
                    + (sword64)ad[ 5] * bd[ 7]
5806
                    + (sword64)ad[ 6] * bd[ 6]
5807
                    + (sword64)ad[ 7] * bd[ 5]
5808
                    + (sword64)ad[ 8] * bd[ 4]
5809
                    + (sword64)ad[ 9] * bd[ 3]
5810
                    + (sword64)ad[10] * bd[ 2]
5811
                    + (sword64)ad[11] * bd[ 1]
5812
                    + (sword64)ad[12] * bd[ 0];
5813
    t[13] =  dd[13] + (sword64)ad[ 0] * bd[13]
5814
                    + (sword64)ad[ 1] * bd[12]
5815
                    + (sword64)ad[ 2] * bd[11]
5816
                    + (sword64)ad[ 3] * bd[10]
5817
                    + (sword64)ad[ 4] * bd[ 9]
5818
                    + (sword64)ad[ 5] * bd[ 8]
5819
                    + (sword64)ad[ 6] * bd[ 7]
5820
                    + (sword64)ad[ 7] * bd[ 6]
5821
                    + (sword64)ad[ 8] * bd[ 5]
5822
                    + (sword64)ad[ 9] * bd[ 4]
5823
                    + (sword64)ad[10] * bd[ 3]
5824
                    + (sword64)ad[11] * bd[ 2]
5825
                    + (sword64)ad[12] * bd[ 1]
5826
                    + (sword64)ad[13] * bd[ 0];
5827
    t[14] =  dd[14] + (sword64)ad[ 0] * bd[14]
5828
                    + (sword64)ad[ 1] * bd[13]
5829
                    + (sword64)ad[ 2] * bd[12]
5830
                    + (sword64)ad[ 3] * bd[11]
5831
                    + (sword64)ad[ 4] * bd[10]
5832
                    + (sword64)ad[ 5] * bd[ 9]
5833
                    + (sword64)ad[ 6] * bd[ 8]
5834
                    + (sword64)ad[ 7] * bd[ 7]
5835
                    + (sword64)ad[ 8] * bd[ 6]
5836
                    + (sword64)ad[ 9] * bd[ 5]
5837
                    + (sword64)ad[10] * bd[ 4]
5838
                    + (sword64)ad[11] * bd[ 3]
5839
                    + (sword64)ad[12] * bd[ 2]
5840
                    + (sword64)ad[13] * bd[ 1]
5841
                    + (sword64)ad[14] * bd[ 0];
5842
    t[15] =  dd[15] + (sword64)ad[ 0] * bd[15]
5843
                    + (sword64)ad[ 1] * bd[14]
5844
                    + (sword64)ad[ 2] * bd[13]
5845
                    + (sword64)ad[ 3] * bd[12]
5846
                    + (sword64)ad[ 4] * bd[11]
5847
                    + (sword64)ad[ 5] * bd[10]
5848
                    + (sword64)ad[ 6] * bd[ 9]
5849
                    + (sword64)ad[ 7] * bd[ 8]
5850
                    + (sword64)ad[ 8] * bd[ 7]
5851
                    + (sword64)ad[ 9] * bd[ 6]
5852
                    + (sword64)ad[10] * bd[ 5]
5853
                    + (sword64)ad[11] * bd[ 4]
5854
                    + (sword64)ad[12] * bd[ 3]
5855
                    + (sword64)ad[13] * bd[ 2]
5856
                    + (sword64)ad[14] * bd[ 1]
5857
                    + (sword64)ad[15] * bd[ 0];
5858
    t[16] =           (sword64)ad[ 1] * bd[15]
5859
                    + (sword64)ad[ 2] * bd[14]
5860
                    + (sword64)ad[ 3] * bd[13]
5861
                    + (sword64)ad[ 4] * bd[12]
5862
                    + (sword64)ad[ 5] * bd[11]
5863
                    + (sword64)ad[ 6] * bd[10]
5864
                    + (sword64)ad[ 7] * bd[ 9]
5865
                    + (sword64)ad[ 8] * bd[ 8]
5866
                    + (sword64)ad[ 9] * bd[ 7]
5867
                    + (sword64)ad[10] * bd[ 6]
5868
                    + (sword64)ad[11] * bd[ 5]
5869
                    + (sword64)ad[12] * bd[ 4]
5870
                    + (sword64)ad[13] * bd[ 3]
5871
                    + (sword64)ad[14] * bd[ 2]
5872
                    + (sword64)ad[15] * bd[ 1];
5873
    t[17] =           (sword64)ad[ 2] * bd[15]
5874
                    + (sword64)ad[ 3] * bd[14]
5875
                    + (sword64)ad[ 4] * bd[13]
5876
                    + (sword64)ad[ 5] * bd[12]
5877
                    + (sword64)ad[ 6] * bd[11]
5878
                    + (sword64)ad[ 7] * bd[10]
5879
                    + (sword64)ad[ 8] * bd[ 9]
5880
                    + (sword64)ad[ 9] * bd[ 8]
5881
                    + (sword64)ad[10] * bd[ 7]
5882
                    + (sword64)ad[11] * bd[ 6]
5883
                    + (sword64)ad[12] * bd[ 5]
5884
                    + (sword64)ad[13] * bd[ 4]
5885
                    + (sword64)ad[14] * bd[ 3]
5886
                    + (sword64)ad[15] * bd[ 2];
5887
    t[18] =           (sword64)ad[ 3] * bd[15]
5888
                    + (sword64)ad[ 4] * bd[14]
5889
                    + (sword64)ad[ 5] * bd[13]
5890
                    + (sword64)ad[ 6] * bd[12]
5891
                    + (sword64)ad[ 7] * bd[11]
5892
                    + (sword64)ad[ 8] * bd[10]
5893
                    + (sword64)ad[ 9] * bd[ 9]
5894
                    + (sword64)ad[10] * bd[ 8]
5895
                    + (sword64)ad[11] * bd[ 7]
5896
                    + (sword64)ad[12] * bd[ 6]
5897
                    + (sword64)ad[13] * bd[ 5]
5898
                    + (sword64)ad[14] * bd[ 4]
5899
                    + (sword64)ad[15] * bd[ 3];
5900
    t[19] =           (sword64)ad[ 4] * bd[15]
5901
                    + (sword64)ad[ 5] * bd[14]
5902
                    + (sword64)ad[ 6] * bd[13]
5903
                    + (sword64)ad[ 7] * bd[12]
5904
                    + (sword64)ad[ 8] * bd[11]
5905
                    + (sword64)ad[ 9] * bd[10]
5906
                    + (sword64)ad[10] * bd[ 9]
5907
                    + (sword64)ad[11] * bd[ 8]
5908
                    + (sword64)ad[12] * bd[ 7]
5909
                    + (sword64)ad[13] * bd[ 6]
5910
                    + (sword64)ad[14] * bd[ 5]
5911
                    + (sword64)ad[15] * bd[ 4];
5912
    t[20] =           (sword64)ad[ 5] * bd[15]
5913
                    + (sword64)ad[ 6] * bd[14]
5914
                    + (sword64)ad[ 7] * bd[13]
5915
                    + (sword64)ad[ 8] * bd[12]
5916
                    + (sword64)ad[ 9] * bd[11]
5917
                    + (sword64)ad[10] * bd[10]
5918
                    + (sword64)ad[11] * bd[ 9]
5919
                    + (sword64)ad[12] * bd[ 8]
5920
                    + (sword64)ad[13] * bd[ 7]
5921
                    + (sword64)ad[14] * bd[ 6]
5922
                    + (sword64)ad[15] * bd[ 5];
5923
    t[21] =           (sword64)ad[ 6] * bd[15]
5924
                    + (sword64)ad[ 7] * bd[14]
5925
                    + (sword64)ad[ 8] * bd[13]
5926
                    + (sword64)ad[ 9] * bd[12]
5927
                    + (sword64)ad[10] * bd[11]
5928
                    + (sword64)ad[11] * bd[10]
5929
                    + (sword64)ad[12] * bd[ 9]
5930
                    + (sword64)ad[13] * bd[ 8]
5931
                    + (sword64)ad[14] * bd[ 7]
5932
                    + (sword64)ad[15] * bd[ 6];
5933
    t[22] =           (sword64)ad[ 7] * bd[15]
5934
                    + (sword64)ad[ 8] * bd[14]
5935
                    + (sword64)ad[ 9] * bd[13]
5936
                    + (sword64)ad[10] * bd[12]
5937
                    + (sword64)ad[11] * bd[11]
5938
                    + (sword64)ad[12] * bd[10]
5939
                    + (sword64)ad[13] * bd[ 9]
5940
                    + (sword64)ad[14] * bd[ 8]
5941
                    + (sword64)ad[15] * bd[ 7];
5942
    t[23] =           (sword64)ad[ 8] * bd[15]
5943
                    + (sword64)ad[ 9] * bd[14]
5944
                    + (sword64)ad[10] * bd[13]
5945
                    + (sword64)ad[11] * bd[12]
5946
                    + (sword64)ad[12] * bd[11]
5947
                    + (sword64)ad[13] * bd[10]
5948
                    + (sword64)ad[14] * bd[ 9]
5949
                    + (sword64)ad[15] * bd[ 8];
5950
    t[24] =           (sword64)ad[ 9] * bd[15]
5951
                    + (sword64)ad[10] * bd[14]
5952
                    + (sword64)ad[11] * bd[13]
5953
                    + (sword64)ad[12] * bd[12]
5954
                    + (sword64)ad[13] * bd[11]
5955
                    + (sword64)ad[14] * bd[10]
5956
                    + (sword64)ad[15] * bd[ 9];
5957
    t[25] =           (sword64)ad[10] * bd[15]
5958
                    + (sword64)ad[11] * bd[14]
5959
                    + (sword64)ad[12] * bd[13]
5960
                    + (sword64)ad[13] * bd[12]
5961
                    + (sword64)ad[14] * bd[11]
5962
                    + (sword64)ad[15] * bd[10];
5963
    t[26] =           (sword64)ad[11] * bd[15]
5964
                    + (sword64)ad[12] * bd[14]
5965
                    + (sword64)ad[13] * bd[13]
5966
                    + (sword64)ad[14] * bd[12]
5967
                    + (sword64)ad[15] * bd[11];
5968
    t[27] =           (sword64)ad[12] * bd[15]
5969
                    + (sword64)ad[13] * bd[14]
5970
                    + (sword64)ad[14] * bd[13]
5971
                    + (sword64)ad[15] * bd[12];
5972
    t[28] =           (sword64)ad[13] * bd[15]
5973
                    + (sword64)ad[14] * bd[14]
5974
                    + (sword64)ad[15] * bd[13];
5975
    t[29] =           (sword64)ad[14] * bd[15]
5976
                    + (sword64)ad[15] * bd[14];
5977
    t[30] =           (sword64)ad[15] * bd[15];
5978
    t[31] = 0;
5979
5980
    /* Mod curve order */
5981
    /* 2^446 - 0x8335dc163bb124b65129c96fde933d8d723a70aadc873d6d54a7bb0d */
5982
    /* Propagate carries */
5983
    c = t[ 0] >> 28; t[ 1] += c; t[ 0] = t[ 0] & 0xfffffff;
5984
    c = t[ 1] >> 28; t[ 2] += c; t[ 1] = t[ 1] & 0xfffffff;
5985
    c = t[ 2] >> 28; t[ 3] += c; t[ 2] = t[ 2] & 0xfffffff;
5986
    c = t[ 3] >> 28; t[ 4] += c; t[ 3] = t[ 3] & 0xfffffff;
5987
    c = t[ 4] >> 28; t[ 5] += c; t[ 4] = t[ 4] & 0xfffffff;
5988
    c = t[ 5] >> 28; t[ 6] += c; t[ 5] = t[ 5] & 0xfffffff;
5989
    c = t[ 6] >> 28; t[ 7] += c; t[ 6] = t[ 6] & 0xfffffff;
5990
    c = t[ 7] >> 28; t[ 8] += c; t[ 7] = t[ 7] & 0xfffffff;
5991
    c = t[ 8] >> 28; t[ 9] += c; t[ 8] = t[ 8] & 0xfffffff;
5992
    c = t[ 9] >> 28; t[10] += c; t[ 9] = t[ 9] & 0xfffffff;
5993
    c = t[10] >> 28; t[11] += c; t[10] = t[10] & 0xfffffff;
5994
    c = t[11] >> 28; t[12] += c; t[11] = t[11] & 0xfffffff;
5995
    c = t[12] >> 28; t[13] += c; t[12] = t[12] & 0xfffffff;
5996
    c = t[13] >> 28; t[14] += c; t[13] = t[13] & 0xfffffff;
5997
    c = t[14] >> 28; t[15] += c; t[14] = t[14] & 0xfffffff;
5998
    c = t[15] >> 28; t[16] += c; t[15] = t[15] & 0xfffffff;
5999
    c = t[16] >> 28; t[17] += c; t[16] = t[16] & 0xfffffff;
6000
    c = t[17] >> 28; t[18] += c; t[17] = t[17] & 0xfffffff;
6001
    c = t[18] >> 28; t[19] += c; t[18] = t[18] & 0xfffffff;
6002
    c = t[19] >> 28; t[20] += c; t[19] = t[19] & 0xfffffff;
6003
    c = t[20] >> 28; t[21] += c; t[20] = t[20] & 0xfffffff;
6004
    c = t[21] >> 28; t[22] += c; t[21] = t[21] & 0xfffffff;
6005
    c = t[22] >> 28; t[23] += c; t[22] = t[22] & 0xfffffff;
6006
    c = t[23] >> 28; t[24] += c; t[23] = t[23] & 0xfffffff;
6007
    c = t[24] >> 28; t[25] += c; t[24] = t[24] & 0xfffffff;
6008
    c = t[25] >> 28; t[26] += c; t[25] = t[25] & 0xfffffff;
6009
    c = t[26] >> 28; t[27] += c; t[26] = t[26] & 0xfffffff;
6010
    c = t[27] >> 28; t[28] += c; t[27] = t[27] & 0xfffffff;
6011
    c = t[28] >> 28; t[29] += c; t[28] = t[28] & 0xfffffff;
6012
    c = t[29] >> 28; t[30] += c; t[29] = t[29] & 0xfffffff;
6013
    c = t[30] >> 28; t[31] += c; t[30] = t[30] & 0xfffffff;
6014
    /* Mod top half of extra words */
6015
    t[ 8] += (sword64)0x129eec34 * t[24];
6016
    t[ 9] += (sword64)0x21cf5b54 * t[24];
6017
    t[10] += (sword64)0x29c2ab70 * t[24];
6018
    t[11] += (sword64)0x0f635c8c * t[24];
6019
    t[12] += (sword64)0x25bf7a4c * t[24];
6020
    t[13] += (sword64)0x2d944a70 * t[24];
6021
    t[14] += (sword64)0x18eec490 * t[24];
6022
    t[15] += (sword64)0x20cd7704 * t[24];
6023
    t[ 9] += (sword64)0x129eec34 * t[25];
6024
    t[10] += (sword64)0x21cf5b54 * t[25];
6025
    t[11] += (sword64)0x29c2ab70 * t[25];
6026
    t[12] += (sword64)0x0f635c8c * t[25];
6027
    t[13] += (sword64)0x25bf7a4c * t[25];
6028
    t[14] += (sword64)0x2d944a70 * t[25];
6029
    t[15] += (sword64)0x18eec490 * t[25];
6030
    t[16] += (sword64)0x20cd7704 * t[25];
6031
    t[10] += (sword64)0x129eec34 * t[26];
6032
    t[11] += (sword64)0x21cf5b54 * t[26];
6033
    t[12] += (sword64)0x29c2ab70 * t[26];
6034
    t[13] += (sword64)0x0f635c8c * t[26];
6035
    t[14] += (sword64)0x25bf7a4c * t[26];
6036
    t[15] += (sword64)0x2d944a70 * t[26];
6037
    t[16] += (sword64)0x18eec490 * t[26];
6038
    t[17] += (sword64)0x20cd7704 * t[26];
6039
    t[11] += (sword64)0x129eec34 * t[27];
6040
    t[12] += (sword64)0x21cf5b54 * t[27];
6041
    t[13] += (sword64)0x29c2ab70 * t[27];
6042
    t[14] += (sword64)0x0f635c8c * t[27];
6043
    t[15] += (sword64)0x25bf7a4c * t[27];
6044
    t[16] += (sword64)0x2d944a70 * t[27];
6045
    t[17] += (sword64)0x18eec490 * t[27];
6046
    t[18] += (sword64)0x20cd7704 * t[27];
6047
    t[12] += (sword64)0x129eec34 * t[28];
6048
    t[13] += (sword64)0x21cf5b54 * t[28];
6049
    t[14] += (sword64)0x29c2ab70 * t[28];
6050
    t[15] += (sword64)0x0f635c8c * t[28];
6051
    t[16] += (sword64)0x25bf7a4c * t[28];
6052
    t[17] += (sword64)0x2d944a70 * t[28];
6053
    t[18] += (sword64)0x18eec490 * t[28];
6054
    t[19] += (sword64)0x20cd7704 * t[28];
6055
    t[13] += (sword64)0x129eec34 * t[29];
6056
    t[14] += (sword64)0x21cf5b54 * t[29];
6057
    t[15] += (sword64)0x29c2ab70 * t[29];
6058
    t[16] += (sword64)0x0f635c8c * t[29];
6059
    t[17] += (sword64)0x25bf7a4c * t[29];
6060
    t[18] += (sword64)0x2d944a70 * t[29];
6061
    t[19] += (sword64)0x18eec490 * t[29];
6062
    t[20] += (sword64)0x20cd7704 * t[29];
6063
    t[14] += (sword64)0x129eec34 * t[30];
6064
    t[15] += (sword64)0x21cf5b54 * t[30];
6065
    t[16] += (sword64)0x29c2ab70 * t[30];
6066
    t[17] += (sword64)0x0f635c8c * t[30];
6067
    t[18] += (sword64)0x25bf7a4c * t[30];
6068
    t[19] += (sword64)0x2d944a70 * t[30];
6069
    t[20] += (sword64)0x18eec490 * t[30];
6070
    t[21] += (sword64)0x20cd7704 * t[30];
6071
    t[15] += (sword64)0x129eec34 * t[31];
6072
    t[16] += (sword64)0x21cf5b54 * t[31];
6073
    t[17] += (sword64)0x29c2ab70 * t[31];
6074
    t[18] += (sword64)0x0f635c8c * t[31];
6075
    t[19] += (sword64)0x25bf7a4c * t[31];
6076
    t[20] += (sword64)0x2d944a70 * t[31];
6077
    t[21] += (sword64)0x18eec490 * t[31];
6078
    t[22] += (sword64)0x20cd7704 * t[31];
6079
    /* Propagate carries */
6080
    c = t[ 8] >> 28; t[ 9] += c; t[ 8] = t[ 8] & 0xfffffff;
6081
    c = t[ 9] >> 28; t[10] += c; t[ 9] = t[ 9] & 0xfffffff;
6082
    c = t[10] >> 28; t[11] += c; t[10] = t[10] & 0xfffffff;
6083
    c = t[11] >> 28; t[12] += c; t[11] = t[11] & 0xfffffff;
6084
    c = t[12] >> 28; t[13] += c; t[12] = t[12] & 0xfffffff;
6085
    c = t[13] >> 28; t[14] += c; t[13] = t[13] & 0xfffffff;
6086
    c = t[14] >> 28; t[15] += c; t[14] = t[14] & 0xfffffff;
6087
    c = t[15] >> 28; t[16] += c; t[15] = t[15] & 0xfffffff;
6088
    c = t[16] >> 28; t[17] += c; t[16] = t[16] & 0xfffffff;
6089
    c = t[17] >> 28; t[18] += c; t[17] = t[17] & 0xfffffff;
6090
    c = t[18] >> 28; t[19] += c; t[18] = t[18] & 0xfffffff;
6091
    c = t[19] >> 28; t[20] += c; t[19] = t[19] & 0xfffffff;
6092
    c = t[20] >> 28; t[21] += c; t[20] = t[20] & 0xfffffff;
6093
    c = t[21] >> 28; t[22] += c; t[21] = t[21] & 0xfffffff;
6094
    c = t[22] >> 28; t[23] += c; t[22] = t[22] & 0xfffffff;
6095
    /* Mod bottom half of extra words */
6096
    t[ 0] += (sword64)0x129eec34 * t[16];
6097
    t[ 1] += (sword64)0x21cf5b54 * t[16];
6098
    t[ 2] += (sword64)0x29c2ab70 * t[16];
6099
    t[ 3] += (sword64)0x0f635c8c * t[16];
6100
    t[ 4] += (sword64)0x25bf7a4c * t[16];
6101
    t[ 5] += (sword64)0x2d944a70 * t[16];
6102
    t[ 6] += (sword64)0x18eec490 * t[16];
6103
    t[ 7] += (sword64)0x20cd7704 * t[16];
6104
    t[ 1] += (sword64)0x129eec34 * t[17];
6105
    t[ 2] += (sword64)0x21cf5b54 * t[17];
6106
    t[ 3] += (sword64)0x29c2ab70 * t[17];
6107
    t[ 4] += (sword64)0x0f635c8c * t[17];
6108
    t[ 5] += (sword64)0x25bf7a4c * t[17];
6109
    t[ 6] += (sword64)0x2d944a70 * t[17];
6110
    t[ 7] += (sword64)0x18eec490 * t[17];
6111
    t[ 8] += (sword64)0x20cd7704 * t[17];
6112
    t[ 2] += (sword64)0x129eec34 * t[18];
6113
    t[ 3] += (sword64)0x21cf5b54 * t[18];
6114
    t[ 4] += (sword64)0x29c2ab70 * t[18];
6115
    t[ 5] += (sword64)0x0f635c8c * t[18];
6116
    t[ 6] += (sword64)0x25bf7a4c * t[18];
6117
    t[ 7] += (sword64)0x2d944a70 * t[18];
6118
    t[ 8] += (sword64)0x18eec490 * t[18];
6119
    t[ 9] += (sword64)0x20cd7704 * t[18];
6120
    t[ 3] += (sword64)0x129eec34 * t[19];
6121
    t[ 4] += (sword64)0x21cf5b54 * t[19];
6122
    t[ 5] += (sword64)0x29c2ab70 * t[19];
6123
    t[ 6] += (sword64)0x0f635c8c * t[19];
6124
    t[ 7] += (sword64)0x25bf7a4c * t[19];
6125
    t[ 8] += (sword64)0x2d944a70 * t[19];
6126
    t[ 9] += (sword64)0x18eec490 * t[19];
6127
    t[10] += (sword64)0x20cd7704 * t[19];
6128
    t[ 4] += (sword64)0x129eec34 * t[20];
6129
    t[ 5] += (sword64)0x21cf5b54 * t[20];
6130
    t[ 6] += (sword64)0x29c2ab70 * t[20];
6131
    t[ 7] += (sword64)0x0f635c8c * t[20];
6132
    t[ 8] += (sword64)0x25bf7a4c * t[20];
6133
    t[ 9] += (sword64)0x2d944a70 * t[20];
6134
    t[10] += (sword64)0x18eec490 * t[20];
6135
    t[11] += (sword64)0x20cd7704 * t[20];
6136
    t[ 5] += (sword64)0x129eec34 * t[21];
6137
    t[ 6] += (sword64)0x21cf5b54 * t[21];
6138
    t[ 7] += (sword64)0x29c2ab70 * t[21];
6139
    t[ 8] += (sword64)0x0f635c8c * t[21];
6140
    t[ 9] += (sword64)0x25bf7a4c * t[21];
6141
    t[10] += (sword64)0x2d944a70 * t[21];
6142
    t[11] += (sword64)0x18eec490 * t[21];
6143
    t[12] += (sword64)0x20cd7704 * t[21];
6144
    t[ 6] += (sword64)0x129eec34 * t[22];
6145
    t[ 7] += (sword64)0x21cf5b54 * t[22];
6146
    t[ 8] += (sword64)0x29c2ab70 * t[22];
6147
    t[ 9] += (sword64)0x0f635c8c * t[22];
6148
    t[10] += (sword64)0x25bf7a4c * t[22];
6149
    t[11] += (sword64)0x2d944a70 * t[22];
6150
    t[12] += (sword64)0x18eec490 * t[22];
6151
    t[13] += (sword64)0x20cd7704 * t[22];
6152
    t[ 7] += (sword64)0x129eec34 * t[23];
6153
    t[ 8] += (sword64)0x21cf5b54 * t[23];
6154
    t[ 9] += (sword64)0x29c2ab70 * t[23];
6155
    t[10] += (sword64)0x0f635c8c * t[23];
6156
    t[11] += (sword64)0x25bf7a4c * t[23];
6157
    t[12] += (sword64)0x2d944a70 * t[23];
6158
    t[13] += (sword64)0x18eec490 * t[23];
6159
    t[14] += (sword64)0x20cd7704 * t[23];
6160
    /* Propagate carries */
6161
    c = t[ 0] >> 28; t[ 1] += c; rd[ 0] = (sword32)(t[ 0] & 0xfffffff);
6162
    c = t[ 1] >> 28; t[ 2] += c; rd[ 1] = (sword32)(t[ 1] & 0xfffffff);
6163
    c = t[ 2] >> 28; t[ 3] += c; rd[ 2] = (sword32)(t[ 2] & 0xfffffff);
6164
    c = t[ 3] >> 28; t[ 4] += c; rd[ 3] = (sword32)(t[ 3] & 0xfffffff);
6165
    c = t[ 4] >> 28; t[ 5] += c; rd[ 4] = (sword32)(t[ 4] & 0xfffffff);
6166
    c = t[ 5] >> 28; t[ 6] += c; rd[ 5] = (sword32)(t[ 5] & 0xfffffff);
6167
    c = t[ 6] >> 28; t[ 7] += c; rd[ 6] = (sword32)(t[ 6] & 0xfffffff);
6168
    c = t[ 7] >> 28; t[ 8] += c; rd[ 7] = (sword32)(t[ 7] & 0xfffffff);
6169
    c = t[ 8] >> 28; t[ 9] += c; rd[ 8] = (sword32)(t[ 8] & 0xfffffff);
6170
    c = t[ 9] >> 28; t[10] += c; rd[ 9] = (sword32)(t[ 9] & 0xfffffff);
6171
    c = t[10] >> 28; t[11] += c; rd[10] = (sword32)(t[10] & 0xfffffff);
6172
    c = t[11] >> 28; t[12] += c; rd[11] = (sword32)(t[11] & 0xfffffff);
6173
    c = t[12] >> 28; t[13] += c; rd[12] = (sword32)(t[12] & 0xfffffff);
6174
    c = t[13] >> 28; t[14] += c; rd[13] = (sword32)(t[13] & 0xfffffff);
6175
    c = t[14] >> 28; t[15] += c; rd[14] = (sword32)(t[14] & 0xfffffff);
6176
    rd[15] = (word32)t[15];
6177
    /* Mod bits over 28 in last word */
6178
    o = rd[15] >> 26; rd[15] &= 0x3ffffff;
6179
    rd[ 0] += 0x4a7bb0d * o;
6180
    rd[ 1] += 0x873d6d5 * o;
6181
    rd[ 2] += 0xa70aadc * o;
6182
    rd[ 3] += 0x3d8d723 * o;
6183
    rd[ 4] += 0x96fde93 * o;
6184
    rd[ 5] += 0xb65129c * o;
6185
    rd[ 6] += 0x63bb124 * o;
6186
    rd[ 7] += 0x8335dc1 * o;
6187
    /* Propagate carries */
6188
    o = rd[ 0] >> 28; rd[ 1] += o; rd[ 0] = rd[ 0] & 0xfffffff;
6189
    o = rd[ 1] >> 28; rd[ 2] += o; rd[ 1] = rd[ 1] & 0xfffffff;
6190
    o = rd[ 2] >> 28; rd[ 3] += o; rd[ 2] = rd[ 2] & 0xfffffff;
6191
    o = rd[ 3] >> 28; rd[ 4] += o; rd[ 3] = rd[ 3] & 0xfffffff;
6192
    o = rd[ 4] >> 28; rd[ 5] += o; rd[ 4] = rd[ 4] & 0xfffffff;
6193
    o = rd[ 5] >> 28; rd[ 6] += o; rd[ 5] = rd[ 5] & 0xfffffff;
6194
    o = rd[ 6] >> 28; rd[ 7] += o; rd[ 6] = rd[ 6] & 0xfffffff;
6195
    o = rd[ 7] >> 28; rd[ 8] += o; rd[ 7] = rd[ 7] & 0xfffffff;
6196
    o = rd[ 8] >> 28; rd[ 9] += o; rd[ 8] = rd[ 8] & 0xfffffff;
6197
    o = rd[ 9] >> 28; rd[10] += o; rd[ 9] = rd[ 9] & 0xfffffff;
6198
    o = rd[10] >> 28; rd[11] += o; rd[10] = rd[10] & 0xfffffff;
6199
    o = rd[11] >> 28; rd[12] += o; rd[11] = rd[11] & 0xfffffff;
6200
    o = rd[12] >> 28; rd[13] += o; rd[12] = rd[12] & 0xfffffff;
6201
    o = rd[13] >> 28; rd[14] += o; rd[13] = rd[13] & 0xfffffff;
6202
    o = rd[14] >> 28; rd[15] += o; rd[14] = rd[14] & 0xfffffff;
6203
6204
    /* Convert to bytes */
6205
    r[ 0] = (rd[0 ] >>  0);
6206
    r[ 1] = (rd[0 ] >>  8);
6207
    r[ 2] = (rd[0 ] >> 16);
6208
    r[ 3] = (rd[0 ] >> 24) + ((rd[1 ] >>  0) <<  4);
6209
    r[ 4] = (rd[1 ] >>  4);
6210
    r[ 5] = (rd[1 ] >> 12);
6211
    r[ 6] = (rd[1 ] >> 20);
6212
    r[ 7] = (rd[2 ] >>  0);
6213
    r[ 8] = (rd[2 ] >>  8);
6214
    r[ 9] = (rd[2 ] >> 16);
6215
    r[10] = (rd[2 ] >> 24) + ((rd[3 ] >>  0) <<  4);
6216
    r[11] = (rd[3 ] >>  4);
6217
    r[12] = (rd[3 ] >> 12);
6218
    r[13] = (rd[3 ] >> 20);
6219
    r[14] = (rd[4 ] >>  0);
6220
    r[15] = (rd[4 ] >>  8);
6221
    r[16] = (rd[4 ] >> 16);
6222
    r[17] = (rd[4 ] >> 24) + ((rd[5 ] >>  0) <<  4);
6223
    r[18] = (rd[5 ] >>  4);
6224
    r[19] = (rd[5 ] >> 12);
6225
    r[20] = (rd[5 ] >> 20);
6226
    r[21] = (rd[6 ] >>  0);
6227
    r[22] = (rd[6 ] >>  8);
6228
    r[23] = (rd[6 ] >> 16);
6229
    r[24] = (rd[6 ] >> 24) + ((rd[7 ] >>  0) <<  4);
6230
    r[25] = (rd[7 ] >>  4);
6231
    r[26] = (rd[7 ] >> 12);
6232
    r[27] = (rd[7 ] >> 20);
6233
    r[28] = (rd[8 ] >>  0);
6234
    r[29] = (rd[8 ] >>  8);
6235
    r[30] = (rd[8 ] >> 16);
6236
    r[31] = (rd[8 ] >> 24) + ((rd[9 ] >>  0) <<  4);
6237
    r[32] = (rd[9 ] >>  4);
6238
    r[33] = (rd[9 ] >> 12);
6239
    r[34] = (rd[9 ] >> 20);
6240
    r[35] = (rd[10] >>  0);
6241
    r[36] = (rd[10] >>  8);
6242
    r[37] = (rd[10] >> 16);
6243
    r[38] = (rd[10] >> 24) + ((rd[11] >>  0) <<  4);
6244
    r[39] = (rd[11] >>  4);
6245
    r[40] = (rd[11] >> 12);
6246
    r[41] = (rd[11] >> 20);
6247
    r[42] = (rd[12] >>  0);
6248
    r[43] = (rd[12] >>  8);
6249
    r[44] = (rd[12] >> 16);
6250
    r[45] = (rd[12] >> 24) + ((rd[13] >>  0) <<  4);
6251
    r[46] = (rd[13] >>  4);
6252
    r[47] = (rd[13] >> 12);
6253
    r[48] = (rd[13] >> 20);
6254
    r[49] = (rd[14] >>  0);
6255
    r[50] = (rd[14] >>  8);
6256
    r[51] = (rd[14] >> 16);
6257
    r[52] = (rd[14] >> 24) + ((rd[15] >>  0) <<  4);
6258
    r[53] = (rd[15] >>  4);
6259
    r[54] = (rd[15] >> 12);
6260
    r[55] = (rd[15] >> 20);
6261
    r[56] = 0;
6262
}
6263
6264
/* Precomputed multiples of the base point. */
6265
static const ge448_precomp base[58][8] = {
6266
{
6267
    {
6268
        { 0x70cc05e, 0x26a82bc, 0x0938e26, 0x80e18b0, 0x511433b, 0xf72ab66,
6269
          0x412ae1a, 0xa3d3a46, 0xa6de324, 0x0f1767e, 0x4657047, 0x36da9e1,
6270
          0x5a622bf, 0xed221d1, 0x66bed0d, 0x4f1970c },
6271
        { 0x230fa14, 0x08795bf, 0x7c8ad98, 0x132c4ed, 0x9c4fdbd, 0x1ce67c3,
6272
          0x73ad3ff, 0x05a0c2d, 0x7789c1e, 0xa398408, 0xa73736c, 0xc7624be,
6273
          0x03756c9, 0x2488762, 0x16eb6bc, 0x693f467 }
6274
    },
6275
    {
6276
        { 0x5555555, 0x5555555, 0x5555555, 0x5555555, 0x5555555, 0x5555555,
6277
          0x5555555, 0x5555555, 0xaaaaaa9, 0xaaaaaaa, 0xaaaaaaa, 0xaaaaaaa,
6278
          0xaaaaaaa, 0xaaaaaaa, 0xaaaaaaa, 0xaaaaaaa },
6279
        { 0xa9386ed, 0xeafbcde, 0xda06bda, 0xb2bed1c, 0x098bbbc, 0x833a2a3,
6280
          0x80d6565, 0x8ad8c4b, 0x7e36d72, 0x884dd7b, 0xed7a035, 0xc2b0036,
6281
          0x6205086, 0x8db359d, 0x34ad704, 0xae05e96 }
6282
    },
6283
    {
6284
        { 0x6ff2f8f, 0x2817328, 0xda85757, 0xb769465, 0xfd6e862, 0xf7f6271,
6285
          0x8daa9cb, 0x4a3fcfe, 0x2ba077a, 0xda82c7e, 0x41b8b8c, 0x9433322,
6286
          0x4316cb6, 0x6455bd6, 0xb9108af, 0x0865886 },
6287
        { 0x88ed6fc, 0x22ac135, 0x02dafb8, 0x9a68fed, 0x7f0bffa, 0x1bdb676,
6288
          0x8bb3a33, 0xec4e1d5, 0xce43c82, 0x56c3b9f, 0xa8d9523, 0xa6449a4,
6289
          0xa7ad43a, 0xf706cbd, 0xbd5125c, 0xe005a8d }
6290
    },
6291
    {
6292
        { 0x8ba7f30, 0xce42ac4, 0x9e120e2, 0xe179894, 0x8ba21ae, 0xf1515dd,
6293
          0x301b7bd, 0x70c74cc, 0x3fda4be, 0x0891c69, 0xa09cf4e, 0x29ea255,
6294
          0x17226f9, 0x2c1419a, 0xc6c0cce, 0x49dcbc5 },
6295
        { 0xde51839, 0xe236f86, 0xd4f5b32, 0x44285d0, 0x472b5d4, 0x7ea1ca9,
6296
          0x1c0d8f9, 0x7b8a5bc, 0x90dc322, 0x57d845c, 0x7c02f04, 0x1b979cb,
6297
          0x3a5de02, 0x27164b3, 0x4accde5, 0xd49077e }
6298
    },
6299
    {
6300
        { 0x2030034, 0xa99d109, 0x6f950d0, 0x2d8cefc, 0xc96f07b, 0x7a920c3,
6301
          0x08bc0d5, 0x9588128, 0x6d761e8, 0x62ada75, 0xbcf7285, 0x0def80c,
6302
          0x01eedb5, 0x0e2ba76, 0x5a48dcb, 0x7a9f933 },
6303
        { 0x2f435eb, 0xb473147, 0xf225443, 0x5512881, 0x33c5840, 0xee59d2b,
6304
          0x127d7a4, 0xb698017, 0x86551f7, 0xb18fced, 0xca1823a, 0x0ade260,
6305
          0xce4fd58, 0xd3b9109, 0xa2517ed, 0xadfd751 }
6306
    },
6307
    {
6308
        { 0xabef79c, 0x7fd7652, 0x443a878, 0x6c20a07, 0x12a7109, 0x5c1840d,
6309
          0x876451c, 0x4a06e4a, 0xad95f65, 0x3bed0b4, 0x3fb0260, 0x25d2e67,
6310
          0xaebd971, 0x2e00349, 0x4498b72, 0x54523e0 },
6311
        { 0x07c7bcc, 0xea5d1da, 0x38ea98c, 0xcce7769, 0x61d2b3e, 0x80284e8,
6312
          0x6e1ff1b, 0x48de76b, 0x9c58522, 0x7b12186, 0x2765a1a, 0xbfd053a,
6313
          0x056c667, 0x2d743ec, 0xd8ab61c, 0x3f99b9c }
6314
    },
6315
    {
6316
        { 0xeb5eaf7, 0xdf9567c, 0x78ac7d7, 0x110a6b4, 0x4706e0b, 0x2d33501,
6317
          0x0b5a209, 0x0df9c7b, 0x568e684, 0xba4223d, 0x8c3719b, 0xd78af2d,
6318
          0xa5291b6, 0x77467b9, 0x5c89bef, 0x079748e },
6319
        { 0xdac377f, 0xe20d3fa, 0x72b5c09, 0x34e8669, 0xc40bbb7, 0xd8687a3,
6320
          0xd2f84c9, 0x7b3946f, 0xa78f50e, 0xd00e40c, 0x17e7179, 0xb875944,
6321
          0xcb23583, 0x9c7373b, 0xc90fd69, 0x7ddeda3 }
6322
    },
6323
    {
6324
        { 0x153bde0, 0x2538a67, 0x406b696, 0x223aca9, 0x1ad713e, 0xf9080dc,
6325
          0xd816a64, 0x6c4cb47, 0x5dc8b97, 0xbc28568, 0xc08e2d7, 0xd97b037,
6326
          0x5d0e66b, 0x5b63fb4, 0x520e8a3, 0xd1f1bc5 },
6327
        { 0xe69e09b, 0x4eb873c, 0xbc8ee45, 0x1663164, 0xba8d89f, 0x08f7003,
6328
          0x386ad82, 0x4b98ead, 0xbd94c7b, 0xa4b93b7, 0xc6b38b3, 0x46ba408,
6329
          0xf3574ff, 0xdae87d1, 0xe9bea9b, 0xc7564f4 }
6330
    },
6331
},
6332
{
6333
    {
6334
        { 0x5bfac1c, 0x2e4fdb2, 0xf5f3bca, 0xf0d79aa, 0x20fb7cc, 0xe756b0d,
6335
          0xb39609a, 0xe3696be, 0x5a5ab58, 0xa019fc3, 0x3b281dd, 0xa2b2485,
6336
          0x61ac0a2, 0xe3e2be7, 0xeb56730, 0xf19c34f },
6337
        { 0xa30241e, 0x2d25ce8, 0xb73d7a1, 0xf5661ea, 0xdaac9f4, 0x4611ed0,
6338
          0x4ced72c, 0xd544234, 0xe92e985, 0xce78f52, 0x4da4aad, 0x6fe5dd4,
6339
          0x1d363ce, 0xfcaddc6, 0xc9111bf, 0x3beb69c }
6340
    },
6341
    {
6342
        { 0x940ebc9, 0xd2e7660, 0xb17bbe0, 0xe032018, 0x75c0575, 0xad49391,
6343
          0x21c7f34, 0xdd0b147, 0x3e147e0, 0x52c2ba4, 0x0ee8973, 0x7dd03c6,
6344
          0xecf2754, 0x5472e8d, 0xd6482bb, 0x17a1cd1 },
6345
        { 0x8128b3f, 0xdd43b84, 0xea7dd25, 0xf0cae34, 0xff07df2, 0x81ca99f,
6346
          0x92ebbdc, 0x1c89597, 0x72155e6, 0x45c7a68, 0x39ddd08, 0x907a50e,
6347
          0xbb2d89b, 0xbe398c2, 0x1b3b536, 0x38063f9 }
6348
    },
6349
    {
6350
        { 0xf843b23, 0x149fafb, 0xac7f22a, 0x00ab582, 0xf2f4d4c, 0xa3b981b,
6351
          0x4341a22, 0x2ce1a65, 0x7c03b63, 0x68a4074, 0x12f2cf8, 0x63206a2,
6352
          0x5149741, 0xc9961d3, 0xbc7099e, 0xfb85430 },
6353
        { 0x90a9e59, 0x9c91072, 0x06de367, 0x734e94a, 0xdb99214, 0x5cf3cbe,
6354
          0x45b1fb9, 0xc6bce32, 0xdd7be0d, 0x1a82abe, 0xede7d1c, 0xf74976a,
6355
          0x21503bd, 0x7025b7c, 0x0d096ab, 0xf789491 }
6356
    },
6357
    {
6358
        { 0x555a41b, 0x6bd48bb, 0x67de206, 0xfbdd0d0, 0xdd6dfd1, 0x98bc477,
6359
          0x3e40b8a, 0x1d0693b, 0xda32ae4, 0x6e15563, 0xfcebaa2, 0x0194a20,
6360
          0x0980a93, 0xda11615, 0x0109cec, 0x8e11920 },
6361
        { 0xffb9726, 0x8ea0552, 0x047e44b, 0xeba50a4, 0x60ddf76, 0xc050d24,
6362
          0xac690e0, 0xe009204, 0x9b18edc, 0x47b8639, 0xc77f23f, 0x2f5b76a,
6363
          0x0792905, 0x4296c24, 0x06f6dc7, 0x73f6b4a }
6364
    },
6365
    {
6366
        { 0x3b10cad, 0xb6ef9ea, 0xf7c8fce, 0x312843d, 0x8bedf86, 0x5bdcd52,
6367
          0xf6dd823, 0x2889059, 0x08bfde0, 0x04578e9, 0x123e2e5, 0x3245df3,
6368
          0x7ee9e3a, 0xbf461d5, 0x6f94ceb, 0xddec2d4 },
6369
        { 0x145768f, 0x21b43b9, 0xdae962a, 0xe79a8f9, 0xcbb043f, 0xff1972b,
6370
          0x239649b, 0xe3dcf6d, 0xc533b85, 0xed592bd, 0xdbe22d0, 0x14ff94f,
6371
          0xf1d8e22, 0x6c4eb87, 0xd18cf6d, 0xd8d4c71 }
6372
    },
6373
    {
6374
        { 0x8d96345, 0xcda666c, 0x836cd21, 0x9ecaa25, 0x984606e, 0x6e885bd,
6375
          0x804f054, 0x1dd5fef, 0x6959ae4, 0x9dfff6b, 0xc9b55cc, 0x99b9cf8,
6376
          0x62b9b80, 0xb4716b0, 0x554b128, 0x13ec87c },
6377
        { 0x75aacc2, 0xe696d1f, 0x87fc5ff, 0xf78c993, 0x3809d42, 0x76c0947,
6378
          0xb618fa8, 0x99ce62d, 0x2f53341, 0x35e3e02, 0x0db6c5e, 0x62fc1ac,
6379
          0x00d8b47, 0xa1fb8e6, 0x58f0d1e, 0x0bc1070 }
6380
    },
6381
    {
6382
        { 0x16da513, 0x1f45269, 0xf5cf341, 0x1f2fc04, 0x64d23e0, 0xae92086,
6383
          0xda8a113, 0x4e33082, 0x1cfc085, 0x2688ec6, 0x6e5327f, 0x6f2e8de,
6384
          0xb4e48a8, 0x2070db3, 0x3240ade, 0xd662697 },
6385
        { 0xfbd997b, 0xa6b317f, 0x49e26bd, 0x9fa1b56, 0x8cba0f3, 0xcbf0d25,
6386
          0x17b4745, 0x4a7791b, 0x5c9e190, 0x25f555b, 0x923ec4c, 0x7cd3940,
6387
          0xe98f1b6, 0x16f4c6a, 0xbcd4e0f, 0x7962116 }
6388
    },
6389
    {
6390
        { 0x02491e3, 0x8d58fa3, 0x7ab3898, 0x7cf76c6, 0x647ebc7, 0xbc2f657,
6391
          0xd25f5a3, 0x5f4bfe0, 0xd69505d, 0x503f478, 0x3fb6645, 0x4a889fc,
6392
          0xfa86b18, 0x33e1bc1, 0x5508dd8, 0xabb234f },
6393
        { 0x9a05b48, 0x5348e1b, 0x64dc858, 0x57ac5f1, 0xec8a2d3, 0x21f4d38,
6394
          0xa3a3e9d, 0x5ec6d3c, 0x560a0b8, 0xcd4062e, 0x3433f59, 0x49b74f7,
6395
          0xcab14e3, 0xefd9d87, 0xeb964f5, 0x858ce7f }
6396
    },
6397
},
6398
{
6399
    {
6400
        { 0xeb731b4, 0x7577254, 0x4e2397e, 0x9fff1fb, 0xc821715, 0x749b145,
6401
          0x2e65e67, 0x40619fe, 0x2e618d8, 0x57b8281, 0x707b83e, 0x063186c,
6402
          0x31b24a2, 0xcfc80cb, 0xac75169, 0xcca6185 },
6403
        { 0xb255818, 0x6539f44, 0x0368bce, 0x5895da0, 0x17c7482, 0x841a309,
6404
          0xb1a9c9e, 0x85469e1, 0xe4f7d9d, 0x05664c0, 0x7b35cc0, 0x8a06318,
6405
          0xa0e9b0a, 0x214763a, 0x4b26ac2, 0x1bd872c }
6406
    },
6407
    {
6408
        { 0xa93762b, 0x3578f97, 0x72d52bc, 0x434f69a, 0x22cb565, 0xddcca40,
6409
          0xff20544, 0xa7d1e41, 0x8a66588, 0x823475d, 0x99d7baf, 0x9fc97c7,
6410
          0x660e421, 0x15542f1, 0x843faf6, 0xa7d1f60 },
6411
        { 0x4063ccc, 0xbbfaab5, 0xa49855a, 0x3ad9bad, 0x5bddbfe, 0xffd5f1c,
6412
          0xae87e59, 0x0e419c2, 0xf89956b, 0xdce6ed6, 0xccd8951, 0xf047c21,
6413
          0xa83c991, 0x6ed4a1b, 0x2d28e0a, 0x85af86e }
6414
    },
6415
    {
6416
        { 0x9ed48a8, 0x04433c4, 0x0bc375d, 0xeffa858, 0xfa6e3b5, 0xfb0e1b2,
6417
          0xa1aadda, 0x51483a2, 0xf8b2ea8, 0x733448d, 0xf639f0c, 0xaa0513c,
6418
          0xa23bf84, 0x6bc61a3, 0xdc2430d, 0x3e64f68 },
6419
        { 0xc5876b1, 0x51bf502, 0x1c0dd2a, 0x6b83375, 0x342914f, 0xe597be1,
6420
          0xf8e632c, 0x43d5ab0, 0xd62587b, 0x2696715, 0xed34f24, 0xe87d20a,
6421
          0xe18baf7, 0x25b7e14, 0xe22e084, 0xf5eb753 }
6422
    },
6423
    {
6424
        { 0x24d8295, 0x51da717, 0x18d1340, 0xd478e43, 0x2cf7f66, 0xacf94f4,
6425
          0x3760711, 0x230d7d1, 0x5abc626, 0x078a66a, 0x6b5f6da, 0xd78b0bd,
6426
          0x96d1d0b, 0x23a9713, 0x4bd960f, 0x87623d6 },
6427
        { 0x77db53f, 0x0841a99, 0xf4d03ee, 0x23c1a53, 0x1f95df1, 0x2f62c2e,
6428
          0x116f4e7, 0xd1e2ec1, 0x34811a9, 0x896d2fe, 0xec8096e, 0xad65e2b,
6429
          0xb1744a6, 0x09d36f9, 0xff5ddf7, 0x564bac7 }
6430
    },
6431
    {
6432
        { 0xc3f77cb, 0x48b41e2, 0x0968938, 0x5227673, 0xfd9b452, 0xff1b899,
6433
          0x2e03908, 0x67cf3bf, 0x248a6fb, 0x3731d90, 0x256598f, 0xd800a05,
6434
          0xbdc8530, 0x347d2f2, 0x7ad08a1, 0xc72a300 },
6435
        { 0x1d65f73, 0x5e5be74, 0x4206ead, 0x183d4ae, 0xade4013, 0xcb50c1c,
6436
          0x3102483, 0x39db43d, 0x70d6325, 0x0eb49fa, 0xc1f02b9, 0xa18f6a2,
6437
          0xdbf5e66, 0x3e6fe30, 0x3a82aa5, 0xac4eeb9 }
6438
    },
6439
    {
6440
        { 0x3613d47, 0x295affd, 0xb56f343, 0x7b7e68a, 0x92b173b, 0x9806296,
6441
          0xbad35fb, 0x937061e, 0x5c21eea, 0x2501978, 0x787a746, 0xe92721b,
6442
          0x3651631, 0x463c46c, 0xc6f2d5a, 0x6da4b5d },
6443
        { 0x6e6d18c, 0xcb67cc1, 0x0010588, 0x1b30d52, 0xdb1d1e8, 0x1bb6ea6,
6444
          0xad11474, 0x9c6308a, 0x3d19b1c, 0xc316741, 0xbe4fb79, 0xf2e84d7,
6445
          0xe050f77, 0xeccb873, 0xcc2bf86, 0xf7c8d80 }
6446
    },
6447
    {
6448
        { 0x7ab20e5, 0x16fe2e1, 0xecf3a92, 0x274dead, 0x0972f67, 0x9f43487,
6449
          0x4605751, 0x9a65a45, 0xb8980b2, 0x9351f07, 0x0eb08a5, 0x412962b,
6450
          0x733f440, 0xb8c9bfd, 0x1ca250f, 0xac2cd64 },
6451
        { 0x2ba7d26, 0x68cdd0f, 0x4e0beea, 0xd3d2a4a, 0x9f4a258, 0x50135c1,
6452
          0xf0d02e4, 0xb475e53, 0x589283a, 0x432d8c6, 0xa0a2b6c, 0x29141bf,
6453
          0x13704bc, 0xd7379ec, 0x52459bf, 0x831562c }
6454
    },
6455
    {
6456
        { 0xeeec506, 0x676b366, 0x45da557, 0xdd6cad5, 0x77057d2, 0x9de39cb,
6457
          0xdf05bf1, 0x388c5fe, 0xdfb1f03, 0x6e55650, 0x52126c9, 0xdbceffa,
6458
          0x3a4a220, 0xe4d187b, 0xeb27020, 0xac914f9 },
6459
        { 0xd2e5f30, 0x3f4ab98, 0xdd94451, 0x6ae97da, 0x0d80981, 0x64af695,
6460
          0xf2aa2ce, 0x36b4b90, 0x18fcf59, 0x6adcd7a, 0xc116c81, 0x3ddfe6d,
6461
          0x549b9e3, 0x661072b, 0xec4584d, 0xd9e3134 }
6462
    },
6463
},
6464
{
6465
    {
6466
        { 0xa1e400c, 0x6e46707, 0x551e806, 0xcdc990b, 0x3a07724, 0xfa51251,
6467
          0x1b3e4f5, 0x500553f, 0xef4dac3, 0x67e8b58, 0x2cb4cc7, 0x958349f,
6468
          0x7f9143c, 0x948b4ed, 0x2b7822b, 0xe646d09 },
6469
        { 0x2bc3c26, 0xd185dd5, 0xc837fc9, 0x34ba16e, 0x5a788b7, 0x516d4ba,
6470
          0x56142b0, 0x72f2de7, 0xf445b3d, 0x5846f61, 0xf4631a1, 0xdaec5c9,
6471
          0x169ea9b, 0xa10b18d, 0xaf6751b, 0x85d2998 }
6472
    },
6473
    {
6474
        { 0x43ddf31, 0xda0cac4, 0x1860911, 0x0966e17, 0x3cba600, 0x9c3a717,
6475
          0x571f895, 0x5781880, 0x737ac21, 0x5e2a927, 0x6c253fb, 0x8a46148,
6476
          0x95ee626, 0xe801cf5, 0x5f84fc0, 0x271166a },
6477
        { 0xba856bd, 0x306937f, 0xbe80a43, 0x80cb179, 0xffb5980, 0x70393b2,
6478
          0x660fc64, 0xa8e4a1c, 0xc0d5c98, 0x5078abf, 0xfbd31ff, 0x62ba530,
6479
          0x9e51b88, 0xda60844, 0x355ae15, 0xdb6ecb0 }
6480
    },
6481
    {
6482
        { 0x23c5d49, 0xbcbb6ea, 0x87959bc, 0x08906ba, 0x0991665, 0x61cc088,
6483
          0xd90d13c, 0x21d6b41, 0xd03afe9, 0x0c27ac1, 0x5cfea52, 0x159995f,
6484
          0xbdfe220, 0x4057e20, 0xcbdf058, 0xdd1b349 },
6485
        { 0x2e37159, 0x0cd6626, 0x3eb0d17, 0x8cea8e4, 0x5bce7f0, 0x553af08,
6486
          0x5b6511d, 0xb94cb5f, 0x50e0330, 0x7b8d3a5, 0x57ab7e7, 0x4159110,
6487
          0x6aa886f, 0x320820e, 0xc5b6b81, 0x130d4d6 }
6488
    },
6489
    {
6490
        { 0xc7bb2ed, 0x2f98059, 0xa49bdfb, 0x33ebf4c, 0xb0a675b, 0x04c72a1,
6491
          0xadb6c14, 0x94f9ea4, 0xcf728c0, 0x03376d8, 0x4c6eb6a, 0x5c059d3,
6492
          0xeb8da48, 0x0178408, 0x2956817, 0x8bf607b },
6493
        { 0xceb3d28, 0x7ad2822, 0x37ae653, 0xd07a403, 0xc1e46b2, 0xbc68739,
6494
          0x9154ba9, 0x15d7cca, 0xa26617d, 0x6b97103, 0xb2e0d28, 0xa610314,
6495
          0xfd4d363, 0x52a08ba, 0xc7dc2af, 0x80c2638 }
6496
    },
6497
    {
6498
        { 0x3187140, 0x0cde7ef, 0x4b70acd, 0x93b92ca, 0x7a79cdc, 0x5696e50,
6499
          0x8eaab66, 0x73cc972, 0x8f1b0c7, 0x6b8c5b6, 0x4f7e0b1, 0xb39a318,
6500
          0x376108a, 0x72cfb0d, 0x98536a7, 0x0c53efc },
6501
        { 0x24c2f1e, 0x03b52a8, 0x6399b78, 0x717132e, 0x349a85d, 0x31ebd25,
6502
          0x1a200d4, 0x265ee81, 0x407d7ad, 0x0b1aad2, 0x94d2962, 0x9a9ebc8,
6503
          0x41171d9, 0x994e6cd, 0x6c8fa83, 0x09178d8 }
6504
    },
6505
    {
6506
        { 0xa2593a1, 0x7d1d238, 0xb38fb19, 0x863e93a, 0xe7712a9, 0xd23a4cc,
6507
          0x27efcd5, 0x7477b13, 0x1392f6c, 0x3ba69ff, 0xf7bb5a5, 0x63e0c32,
6508
          0x026effd, 0x20412c0, 0xef424ab, 0xd3ee8e4 },
6509
        { 0x64e5174, 0x14c0b2d, 0xe58c47b, 0x2a611f2, 0xc1e8635, 0xaa58a06,
6510
          0xcf17034, 0x1870c3e, 0x83f1bf3, 0xb0d5e34, 0x16c7eb3, 0xb19905c,
6511
          0x6efa4ca, 0xbf85d62, 0x180f92b, 0xfd16b2f }
6512
    },
6513
    {
6514
        { 0x3adcb48, 0xc0431af, 0xba90496, 0xc9a7a8d, 0x3895294, 0xd765a16,
6515
          0x551de70, 0xb02a41a, 0x749b8a1, 0xb71b261, 0xc6f3e47, 0x0dfa89e,
6516
          0x0f5d9ce, 0x392c0d8, 0x31aee3c, 0x43c59d8 },
6517
        { 0x4d76f49, 0x94bfb6d, 0x27d68a5, 0xe8f5b82, 0x630fd08, 0x78ae1d9,
6518
          0xce1bdae, 0x1379029, 0x66715dc, 0x9689da0, 0xd3278c7, 0x5d4cb24,
6519
          0x9e84fbc, 0x77c9833, 0xea1048c, 0xc8478dc }
6520
    },
6521
    {
6522
        { 0x770d2ba, 0xe4b8f31, 0x42ea095, 0x744f652, 0x036f138, 0xd06e090,
6523
          0x3b078ca, 0xd3a3d5b, 0x78b8417, 0xc7ae541, 0xc738fd7, 0xad6c5d4,
6524
          0x4676454, 0x6178984, 0x5d9a392, 0xfbf3423 },
6525
        { 0xfff772f, 0x8e451a7, 0x5ffbead, 0x8605bb7, 0x930d59f, 0x6f75cc1,
6526
          0x8f3f460, 0xd4f4755, 0x6700c8a, 0xefd2d79, 0x2406421, 0xceb462a,
6527
          0x9dfe8f1, 0x8ed0f97, 0xd1d7600, 0x0280bf1 }
6528
    },
6529
},
6530
{
6531
    {
6532
        { 0xdd9a54d, 0x761c219, 0x86a39c0, 0x1127fcb, 0x4c9bedd, 0x7d0e4f0,
6533
          0x4d976b6, 0x27c017a, 0xda042cf, 0x800c973, 0x2593f11, 0xe7419af,
6534
          0xae67960, 0xbd49448, 0x744fd85, 0xd3b60b7 },
6535
        { 0x61676fe, 0x5e74ed9, 0x39af627, 0x7383ef3, 0x5e62df7, 0x34407e0,
6536
          0x8bf3196, 0xb053461, 0x583b407, 0xd6b7184, 0x55011be, 0xe3d0685,
6537
          0x2124b52, 0x94083d0, 0xf780aaf, 0xa908324 }
6538
    },
6539
    {
6540
        { 0x73ec9c3, 0xb27af1a, 0x70fa725, 0xb66ad9f, 0x8cf73e4, 0x07724f5,
6541
          0x9949358, 0xc3fcd57, 0xda0cc01, 0x06efb79, 0x10597c9, 0x1e977d2,
6542
          0x703e8d6, 0xcd732be, 0x6d0b69e, 0x6fd29bf },
6543
        { 0x667128e, 0xca658ac, 0xc7872b3, 0xca0036a, 0x5355837, 0xc969858,
6544
          0x075cf1c, 0x59f3be8, 0x3809a11, 0x9f1b9b0, 0x9733871, 0x6881ced,
6545
          0xe902a5f, 0x8cda0fb, 0x4e3871e, 0x4d8c69b }
6546
    },
6547
    {
6548
        { 0xddee82f, 0x5c3bd07, 0x2f9723b, 0xe52dd31, 0x74f1be8, 0xcf87611,
6549
          0x35f8657, 0xd9ecbd8, 0xfbfea17, 0x4f77393, 0xd78fe2c, 0xec9579f,
6550
          0x0fb0450, 0x320de92, 0x95d9c47, 0xbfc9b8d },
6551
        { 0x5e1b4c3, 0x818bd42, 0x40e2c78, 0x0e0c41c, 0xbccb0d0, 0x0f7ce9a,
6552
          0x5ef81fb, 0xc7e9fa4, 0x73574ad, 0x2561d6f, 0xd2efb0b, 0xa2d8d99,
6553
          0xe96cd0a, 0xcf8f316, 0x4964807, 0x088f0f1 }
6554
    },
6555
    {
6556
        { 0x45d5a19, 0x0a84989, 0x6c2131f, 0x47ab39c, 0xf3fc35d, 0x5c02824,
6557
          0x9ee8127, 0x3be77c8, 0xc90b80a, 0xa8491b7, 0xa28aa93, 0x5397631,
6558
          0x6c0b344, 0x54d6e81, 0x876d0e4, 0x22878be },
6559
        { 0x6db3bf6, 0xeecb8a4, 0x54577a3, 0x340f295, 0x9a00f85, 0xa779868,
6560
          0x4bb9147, 0x98465d7, 0xda3c736, 0x9532d7d, 0x7504b20, 0x6d574f1,
6561
          0xd86e435, 0x6e356f4, 0x4533887, 0x70c2e8d }
6562
    },
6563
    {
6564
        { 0xd293980, 0xdce5a0a, 0x069010e, 0x32d7210, 0x06deaaa, 0x64af59f,
6565
          0x59239e4, 0xd6b43c4, 0x9199c29, 0x74bf255, 0x11e1e2b, 0x3efff41,
6566
          0xcb0f8d8, 0x1aa7b5e, 0x989e395, 0x9baa22b },
6567
        { 0x7b33ac1, 0xf78db80, 0x54ce80a, 0x05a3b43, 0x7bc8e12, 0x371defc,
6568
          0x1224610, 0x63305a0, 0x6d697ef, 0x028b1ae, 0x1cd8051, 0x7aba39c,
6569
          0x28ee4b4, 0x76ed7a9, 0x7f99901, 0x31bd02a }
6570
    },
6571
    {
6572
        { 0xf075566, 0xf9dab7a, 0xf56f18b, 0x84e29a5, 0xf64e56d, 0x3a4c45a,
6573
          0x6a7302d, 0xcf3644a, 0x156b658, 0xfb40808, 0xf96be52, 0xf33ef9c,
6574
          0xcaa2f08, 0xfe92038, 0xb261894, 0xcfaf2e3 },
6575
        { 0x224ce3f, 0xf2a0dbc, 0x592eb27, 0xed05009, 0x95889d0, 0x501743f,
6576
          0x77c95c2, 0xa88a478, 0xdd63da9, 0x86755fb, 0xc7ee828, 0x9024acf,
6577
          0xf38113b, 0x634b020, 0x6056e64, 0x3c5aacc }
6578
    },
6579
    {
6580
        { 0xa2ef760, 0xe03ff3a, 0xb1c3bac, 0x3b95767, 0x940d754, 0x51ce6aa,
6581
          0x47a9a3d, 0x7cbac3f, 0x34f8d1a, 0xa864ac4, 0x80dbd47, 0x1eff3f2,
6582
          0x7ebd5ca, 0xd8ab660, 0x05b07ed, 0xc4df5c4 },
6583
        { 0xa4f095b, 0x3dc92df, 0x7cdbd9a, 0x5ae36a5, 0x7891e04, 0x7ff2973,
6584
          0x0a5fe7b, 0x37c0313, 0xaa6e35e, 0x210d7b0, 0xbf200d8, 0x6edfb53,
6585
          0x84afb85, 0x787b68d, 0x72c6de3, 0x9b5c49b }
6586
    },
6587
    {
6588
        { 0x4010f4e, 0x5185716, 0x0536ebe, 0xe0b144b, 0x887d663, 0xacabb14,
6589
          0xedf584f, 0xac1caed, 0xaf175a3, 0xb43fb8f, 0xf992a3c, 0x310b6d5,
6590
          0x85178a4, 0xf2c4aa2, 0x8bd56bf, 0x69c9969 },
6591
        { 0xa4d972e, 0x73d6372, 0x9583803, 0x3d5bb2e, 0xd891581, 0x7bf7d18,
6592
          0x568a34a, 0xa5ce5d7, 0x1f45c81, 0x670b433, 0x1f96910, 0x97265a7,
6593
          0xb07c1ea, 0xdb14eb3, 0xfed447c, 0xdf008ea }
6594
    },
6595
},
6596
{
6597
    {
6598
        { 0x00c2f10, 0x0379f5a, 0xd350285, 0xb320b4f, 0x8efdd7d, 0x74e560e,
6599
          0xf46a140, 0xf2f017e, 0x0f34624, 0x2ced1a6, 0xca08ec9, 0x7c4b4e3,
6600
          0x5d8bc6b, 0xdffc2a1, 0x527b007, 0xcc8f3f3 },
6601
        { 0x861fe83, 0x59f8ac4, 0xd03144c, 0x8d48d2c, 0xbfa6dce, 0xa8457d2,
6602
          0x677c136, 0xd7ed333, 0xc228e18, 0xcb8e219, 0x16ab1e4, 0x5f70bc9,
6603
          0x3780370, 0x2ae3a3d, 0x88f17ad, 0x9f33654 }
6604
    },
6605
    {
6606
        { 0x960e4bb, 0xeab0710, 0xab9cfd3, 0xc668a78, 0xb0ef946, 0x2e85553,
6607
          0x8df5df3, 0xa43c4b9, 0x3cb3646, 0x0ecd559, 0x18dbe71, 0x6f543c4,
6608
          0xf59818b, 0xee7edaa, 0x90911c1, 0xc44e8d2 },
6609
        { 0x269b509, 0xafb38b1, 0x52afe2c, 0x9e2737c, 0xccfa664, 0x5b2ef02,
6610
          0xe1cc58b, 0x1e0aeac, 0x5ea134e, 0x37a57e9, 0x83b9fc2, 0xc9c465a,
6611
          0x6e3ecca, 0x4b9e8c7, 0x9bdbab5, 0xca07dbe }
6612
    },
6613
    {
6614
        { 0xb0d7807, 0xd297f3c, 0xf59ce61, 0xee441a5, 0xb2db844, 0x728553b,
6615
          0x640e9e0, 0x90f87e5, 0xcb76dff, 0xaa72cbf, 0x4012d57, 0x065c686,
6616
          0x9678b44, 0xd5ee88f, 0x2177603, 0x3d74b85 },
6617
        { 0x748b68e, 0x3f9c947, 0x8f44d44, 0x03856d9, 0x462426c, 0xde34b84,
6618
          0x845ab29, 0xc16d1bb, 0xd2e18de, 0x9df6217, 0xb154643, 0xec6d219,
6619
          0x2ee0f8f, 0x22a8ec3, 0x91c5175, 0x632ad38 }
6620
    },
6621
    {
6622
        { 0x6869267, 0x19d9d23, 0xfe5532a, 0x628df94, 0x6dc9a01, 0x458d76c,
6623
          0x2cc39c8, 0x405fe6c, 0xf3a04ba, 0x7dddc67, 0x12500c7, 0xfee6303,
6624
          0xa50e9de, 0x580b6f0, 0x6090604, 0xfb5918a },
6625
        { 0x3af6b2d, 0xd715925, 0x1c7d1ec, 0x83d62d6, 0x85858c4, 0x94398c1,
6626
          0x14bfb64, 0x94643dc, 0xaf7db80, 0x758fa38, 0xa8a1557, 0xe2d7d93,
6627
          0x3562af1, 0xa569e85, 0x84346aa, 0xd226bdd }
6628
    },
6629
    {
6630
        { 0xd0ccd20, 0xc2d0a5e, 0x5dbc0cf, 0xeb9adb8, 0x26d7e88, 0xe0a29ee,
6631
          0x84a8e98, 0x8bb39f8, 0x37396ea, 0x511f1c1, 0xc8b2fb3, 0xbc9ec5a,
6632
          0x090e5bc, 0x299d81c, 0x4cdd587, 0xe1dfe34 },
6633
        { 0x5e465b7, 0x80f61f4, 0x1bad59e, 0x5699c53, 0xb79ff92, 0x85e92e4,
6634
          0x9db244c, 0x1e64fce, 0xa22097d, 0x3748574, 0xefff24e, 0xe2aa6b9,
6635
          0x0a10bc6, 0xb951be7, 0x9067a1c, 0x6685326 }
6636
    },
6637
    {
6638
        { 0xa6114d3, 0xf716ddf, 0x037ec1f, 0x9e515f5, 0x44944a6, 0x7734541,
6639
          0xaba97cc, 0x1540c4c, 0x8b54bb7, 0xe41e548, 0xcae37bc, 0x4363156,
6640
          0xf3d2ce8, 0xc384eaf, 0x4c58ba4, 0x72a4f45 },
6641
        { 0xdcaf3fc, 0x0ceb530, 0x78dcdbb, 0x72d5365, 0xc6320fa, 0x9b44084,
6642
          0xeb74c70, 0x6262d34, 0x608e6dc, 0x8abac85, 0x10dd38d, 0x82a5264,
6643
          0xa819b8d, 0xbc39911, 0x03ad0d9, 0xbda15fe }
6644
    },
6645
    {
6646
        { 0xf9dc60b, 0xadbf587, 0x7d846d2, 0xf9d814f, 0xb77bde0, 0xccdd241,
6647
          0x2242f50, 0x89cb6d7, 0xe6360a8, 0x95c0e3e, 0xdf49713, 0x7c7dd5a,
6648
          0x57d5814, 0x68e0e49, 0x0c16571, 0x3aa097d },
6649
        { 0x267d03a, 0xb56b672, 0x8c44af4, 0x4f55708, 0xf3252a5, 0x67c49e7,
6650
          0xc94a469, 0x871d6cf, 0x01fbfaa, 0x57ae998, 0x48a5d8e, 0x5c0e48f,
6651
          0x5e240b9, 0xe9bf9c8, 0x99d41ca, 0xa410189 }
6652
    },
6653
    {
6654
        { 0xb2889b4, 0x6beb0c7, 0x9455370, 0x78b7f89, 0x47ca364, 0xd434214,
6655
          0x9f21e5b, 0xdd9d2da, 0x0a7e4aa, 0xa0c7c18, 0xda1660c, 0x022c0d4,
6656
          0x5a57002, 0xe1f5c16, 0x518f68f, 0x51c7c9e },
6657
        { 0x2586502, 0x6d521b6, 0x183ec1b, 0xa0f2cb3, 0xcaa5e16, 0x578b4e0,
6658
          0x764997f, 0x7bd4fbd, 0x64b1804, 0x7ec56c3, 0x0ee08e4, 0xb75a254,
6659
          0xdc19080, 0x6bf74a6, 0x97d6e59, 0x6ec793d }
6660
    },
6661
},
6662
{
6663
    {
6664
        { 0x0a4beb9, 0x16789d6, 0x9b9c801, 0x512b2cd, 0x8c7bb9c, 0xf8b6d10,
6665
          0x9ebdc8c, 0xd85651e, 0x9ba971a, 0xc945082, 0x7e1cf78, 0x852d9ea,
6666
          0x0af01e2, 0x6a45e35, 0x6151dcf, 0xe6cdadf },
6667
        { 0x2b8c01b, 0xc454bb4, 0x3d54cd2, 0x59e0c49, 0x454d608, 0x8e1e686,
6668
          0xd8c6103, 0x0dbae4b, 0x6c18b18, 0xa5603a1, 0x3369093, 0x227a6b2,
6669
          0x5f3de1c, 0xf1e8929, 0x8ab63c5, 0x42f0b58 }
6670
    },
6671
    {
6672
        { 0x5b596d8, 0xf1974cc, 0x44719f0, 0xee8093f, 0xf6f5b54, 0x40ba933,
6673
          0x2f3d654, 0xd6e5365, 0x26d73b8, 0x9aeb835, 0x0776382, 0x50ed535,
6674
          0xad43875, 0x3be47d6, 0xc786e48, 0x21d56df },
6675
        { 0xb73bb39, 0x8a75e18, 0xf265a78, 0x9eba84c, 0x2e772e7, 0x7c02a4d,
6676
          0x4c1ecd2, 0xf7df6d4, 0x6cef71b, 0xa8d9ea0, 0xcae3b68, 0x86e8f91,
6677
          0x99efefa, 0x2fd1411, 0x214e6f6, 0x0b36ab2 }
6678
    },
6679
    {
6680
        { 0xbdce61c, 0xd79065c, 0xdecb229, 0xcb562ff, 0x4600849, 0xef5d3d1,
6681
          0x1d23ac8, 0x348b31b, 0x15c36b8, 0xb2ea699, 0x4822836, 0x268683d,
6682
          0xc6f0b7d, 0x083edbe, 0x1a7821c, 0xaf4f39d },
6683
        { 0x4e64841, 0x23be6e8, 0x65bf791, 0xe9e2463, 0x02bfd7c, 0xa3208ac,
6684
          0xd01357d, 0x231989c, 0x6422ab4, 0x79b8aad, 0x91b8564, 0x57d2b7e,
6685
          0x8c04421, 0x28ebbcc, 0x7d09c05, 0xdc787d8 }
6686
    },
6687
    {
6688
        { 0x6c7bed5, 0xeb99f62, 0x39cd0e8, 0x326b15f, 0xd860615, 0xd9d53dc,
6689
          0x1bf4205, 0xdf636e7, 0x0752209, 0x1eaa0bf, 0x4744abb, 0x17ce69a,
6690
          0xf3ea2fb, 0x474572d, 0x224a7f3, 0xc4f6f73 },
6691
        { 0x63081b4, 0x7ed86ad, 0x4a20afb, 0xcd4cdc7, 0xb301b2e, 0x7563831,
6692
          0xe038699, 0x5b4d2b1, 0x802a15f, 0xa15d1fa, 0x13e9172, 0x6687aaf,
6693
          0xba6da90, 0x3eccd36, 0x7474e83, 0x34e829d }
6694
    },
6695
    {
6696
        { 0x19c9b27, 0x4cea19b, 0x5f52523, 0xa14c37a, 0x726625c, 0x248b16d,
6697
          0x6cabc21, 0x8c40f9f, 0x32a5c65, 0x918470c, 0x2a98d5b, 0x314056b,
6698
          0x34a0714, 0x6c974cf, 0x4f6314a, 0x0c8f8a9 },
6699
        { 0x70bccfd, 0x4844557, 0x740c9fd, 0xf5835db, 0xa21407c, 0x12e59b5,
6700
          0xdb1689d, 0xbe338e0, 0xdd5e915, 0x5a50ce9, 0xef99f39, 0xb1780e9,
6701
          0xee4d833, 0x1262b55, 0x89c5340, 0x4be3f22 }
6702
    },
6703
    {
6704
        { 0x6c4b858, 0xbb99b90, 0x550ca53, 0xa7724d1, 0x826962e, 0x7d31f5a,
6705
          0xa5804da, 0xf239322, 0x0275048, 0x3e11320, 0x3ee4cb6, 0xcbb1bb8,
6706
          0x1331191, 0xdb86525, 0x7d1d903, 0xb7caf9e },
6707
        { 0x77d7a9d, 0x06e3b05, 0xb3bbbf5, 0x7a132b0, 0x7c50575, 0xd61fbc5,
6708
          0xaf4b646, 0x393f712, 0xcb7efe9, 0xef77972, 0x5ea4995, 0x20e6d5d,
6709
          0xfbbe4c6, 0x0ac23d4, 0xc807f2a, 0x8456617 }
6710
    },
6711
    {
6712
        { 0x5396143, 0x4995fb3, 0xb99dc46, 0xa8b4bd1, 0x4150064, 0x2293e8e,
6713
          0x22a3545, 0x2f77d49, 0xb2192c4, 0xe866b03, 0x5e0aa38, 0x58b01f0,
6714
          0x2ed246b, 0xe406b23, 0xed60974, 0x447edb3 },
6715
        { 0x8869703, 0xf541b33, 0x383420a, 0x6959fe0, 0x4be4e48, 0xd6b39db,
6716
          0xb5714ef, 0x048f3b4, 0x5d9e4b8, 0x68b4968, 0x2177963, 0xbda8e6c,
6717
          0xc4211fe, 0x5094e35, 0x2d46d1a, 0xea591c3 }
6718
    },
6719
    {
6720
        { 0x2fef780, 0x3a768ff, 0x32970c6, 0x4218d28, 0xec6da17, 0xce598e4,
6721
          0xfbb126a, 0xf675645, 0x0427617, 0xb04c23f, 0xe4fce74, 0xc9f93fb,
6722
          0x3c91b00, 0x44a414b, 0x1d3b3cc, 0x4d982f3 },
6723
        { 0xb24cce0, 0xb1d40e8, 0x133e73d, 0x5a21c07, 0x0bb589d, 0x6e9358e,
6724
          0x2399844, 0x39cfb17, 0x166080e, 0x83f7647, 0x450b468, 0xcfe7bf8,
6725
          0x1e8434f, 0x2a288f7, 0x21a81e3, 0xd39f1e5 }
6726
    },
6727
},
6728
{
6729
    {
6730
        { 0x528af6f, 0x78c6f13, 0x94b74d9, 0x0001fe2, 0x01aab44, 0xae77425,
6731
          0xef0039c, 0x7cbe937, 0x0fa2a67, 0xaf3e4f0, 0xda1378e, 0xe28175f,
6732
          0x8ccd90e, 0x72adeed, 0x00af22f, 0x16a8ce1 },
6733
        { 0xcbf63dd, 0x69fae17, 0x9e39e26, 0x6786172, 0xf827a18, 0xe92b3d5,
6734
          0x8403682, 0x4d75e41, 0x9056a79, 0x01a4fd9, 0x20008f5, 0x89efb2d,
6735
          0xb78ff15, 0xa2f6918, 0xa3437f5, 0xf41c870 }
6736
    },
6737
    {
6738
        { 0x7be353c, 0xc840ae5, 0x3fb2691, 0x465a5eb, 0x7eba833, 0x34a89f0,
6739
          0x013346e, 0xf620896, 0xe875df2, 0x563b5f0, 0xfbc44ce, 0x5f7fc8b,
6740
          0xcfedf9d, 0x22fcb5a, 0x7dc691b, 0x7cf68d4 },
6741
        { 0x76a103f, 0x37f7c2d, 0xfd87b7d, 0x728a128, 0xccf2132, 0x7db2ad8,
6742
          0xb100e63, 0xa4c13fe, 0x7b511d5, 0xcd28a51, 0x721ca5c, 0xb910280,
6743
          0xd84bd52, 0xec1305f, 0x2729791, 0xb964642 }
6744
    },
6745
    {
6746
        { 0x5bc7462, 0x83fccdf, 0xd6f012f, 0x01f3dda, 0x3a6a87c, 0x57f1171,
6747
          0xff403ac, 0xedb47ce, 0xbaab073, 0x6c184e5, 0x6f0d6a1, 0x5b17c7d,
6748
          0x3ef2c91, 0x45a4c4f, 0x86a8f41, 0x26c3f7e },
6749
        { 0xb646514, 0x81a6db0, 0xca8b9ae, 0xf84059f, 0x9f02305, 0xd73dab6,
6750
          0xc4b7c6c, 0x0de3fae, 0x696df2f, 0x18abb88, 0x75d7740, 0x45dd1b9,
6751
          0x9ee35bc, 0x3aeccc6, 0xb029f88, 0x478252e }
6752
    },
6753
    {
6754
        { 0x8b2ce15, 0x66bf85b, 0x335709d, 0x1175425, 0x8123874, 0x00169ef,
6755
          0x9b89868, 0xfd3c18c, 0x775204e, 0xb3612f9, 0xc2cd510, 0x4b8d09d,
6756
          0x14559ad, 0xafa12e6, 0x9657493, 0x1ddaa88 },
6757
        { 0x1e77a08, 0x87d700b, 0x14d2e71, 0xaf4cf2f, 0xbf90c94, 0xe00835d,
6758
          0x6dc8429, 0xb16a6ec, 0xf8a4d92, 0x02a7210, 0x3d0c48d, 0x5a5ab40,
6759
          0xb5b9bea, 0x0052b3a, 0xe138f89, 0x6242739 }
6760
    },
6761
    {
6762
        { 0x16b2819, 0x7c215d3, 0xfeb9d7a, 0xdacb65e, 0xd833423, 0xc3c569e,
6763
          0x886a058, 0xbc08435, 0x7e5cb61, 0x132c4db, 0x9422aff, 0x6373a27,
6764
          0xfca9fc4, 0x43b9d7e, 0xdbe465f, 0xe3319a5 },
6765
        { 0x0b39da7, 0x51d3687, 0x4b75492, 0xcb6d798, 0xeadd87a, 0x77eb272,
6766
          0xe0d3f6c, 0xf2fb47d, 0xf9f791c, 0x807fd86, 0x975e885, 0xf01086b,
6767
          0xb6a3604, 0xf9314b5, 0x67be852, 0x8cd4538 }
6768
    },
6769
    {
6770
        { 0x858f79b, 0x7c1e6b3, 0x938caf9, 0xf0477c4, 0x3e88c44, 0xb311bbf,
6771
          0x1e3a3c1, 0x9234c09, 0x95a1d4d, 0x531af2b, 0xb8d1c64, 0xf3cc969,
6772
          0xb51e78d, 0x6f3c328, 0x34e8881, 0x5a1bd6c },
6773
        { 0x3a9336f, 0x2e31239, 0x5ced897, 0x020f0cc, 0x5fab121, 0x4b45d7b,
6774
          0x1841210, 0x8068b1c, 0x8349170, 0x1bd85fc, 0x0f97fe5, 0xfe816d8,
6775
          0x14b84fc, 0x1089818, 0xb93cd48, 0x1d4fabb }
6776
    },
6777
    {
6778
        { 0xaef599e, 0x1f11d45, 0xb09c58a, 0x8d91243, 0xd08c3c3, 0xd2eec7b,
6779
          0x3b02793, 0x5a6039b, 0x8fb2c00, 0xb27fed5, 0xe8acf5e, 0xb5de44d,
6780
          0x6e6c698, 0x2c3e0cd, 0x777180d, 0x2f96ed4 },
6781
        { 0x96d0e36, 0x67de8bf, 0xc9b6d65, 0xd36a2b6, 0x637d59c, 0x8df5d37,
6782
          0xc8d9878, 0x951899f, 0xb13fcf8, 0x0fa090d, 0x1f5c7b4, 0xa527081,
6783
          0x513a37a, 0x56a6560, 0x14dc1fe, 0xc6f5530 }
6784
    },
6785
    {
6786
        { 0x94945d6, 0x7f6def7, 0x8cc8832, 0x2f52fe3, 0xa812ff5, 0x0228ad9,
6787
          0xbb8478a, 0xcd282e5, 0xbe91b07, 0xa0bc9af, 0x11165e2, 0x0360cdc,
6788
          0x7b857e4, 0xb5240fd, 0xfa36b08, 0x67f1665 },
6789
        { 0xad2c93f, 0x84ce588, 0xe8ff4c0, 0x94db722, 0x489c8a3, 0xad2edbb,
6790
          0x7e5f278, 0x6b2d5b8, 0xd1d0798, 0x0265e58, 0x4c5589e, 0xd2c9f26,
6791
          0x4e4074d, 0xde81f09, 0x303089f, 0xc539595 }
6792
    },
6793
},
6794
{
6795
    {
6796
        { 0x83e882c, 0x183492f, 0xb5e6c12, 0x4d58203, 0xefec20b, 0x1ac96c3,
6797
          0xe1cd15e, 0xabd5a5b, 0xcbbb14b, 0x7e1e242, 0xd0543b3, 0x9f03f45,
6798
          0xd678158, 0xc94bc47, 0xa446cad, 0x7917be0 },
6799
        { 0x9b37394, 0x53f2be2, 0x064cc76, 0x0cb0a6c, 0xfba3da3, 0x3a857bc,
6800
          0x80fcb49, 0xac86bc5, 0x30ab146, 0x9d5336e, 0x5bc1270, 0xafb093d,
6801
          0xe5c3b6e, 0x996689d, 0xea076ba, 0x55189fa }
6802
    },
6803
    {
6804
        { 0x646ce03, 0x99ef986, 0x30e6100, 0xa155f81, 0x29b6b07, 0x75bef17,
6805
          0x1de077b, 0xc46f08e, 0x7ed0526, 0xf52fdc5, 0x61a299a, 0xe09d989,
6806
          0x7b8e93a, 0x9527329, 0x0acd185, 0x11255b5 },
6807
        { 0x4a6acdd, 0x57919db, 0x4451d74, 0x708a578, 0x283f7b3, 0x5b0bd01,
6808
          0xc3d9260, 0xe82f40c, 0x82bbdc2, 0x2ab96ec, 0xc164d87, 0x921f680,
6809
          0xc17a6a9, 0xf0f7883, 0x382a001, 0xc366478 }
6810
    },
6811
    {
6812
        { 0x2e40791, 0x5c9aa07, 0xa0776bf, 0xf0b72d6, 0xeaa50dc, 0x445f9b2,
6813
          0x6bda47f, 0xa929fa9, 0x3bbfc49, 0x539dc71, 0x006a78b, 0x4f16dd0,
6814
          0xeef39c7, 0x331ba3d, 0xc34157c, 0xbfa0a24 },
6815
        { 0x6a3b482, 0x0220beb, 0x6c43885, 0x3164d4d, 0xacdea23, 0xa03bb5d,
6816
          0x9d8f450, 0xd6b8b5a, 0xbd208fe, 0xd218e65, 0x35c476f, 0x43948ed,
6817
          0x0a2ed2b, 0x29a0dd8, 0x25295b7, 0xa6ccf33 }
6818
    },
6819
    {
6820
        { 0xac38939, 0xf68f15f, 0xf8010c1, 0xb3dd5a2, 0xa35f141, 0xf7ac290,
6821
          0x7388574, 0xdc8f3b2, 0xe95fed2, 0x7ec3de1, 0x257ac7d, 0xc625451,
6822
          0x664e55a, 0x66fc33e, 0x4832ba5, 0xd3968d3 },
6823
        { 0xc026448, 0x980291b, 0x24da4a5, 0xfcb2125, 0x827a360, 0xbca7df4,
6824
          0x85ca63b, 0xfcc395c, 0x8e9f733, 0xcf566ec, 0xd465f70, 0x835ee9b,
6825
          0x372f916, 0xe66d111, 0x04d9211, 0xc066cf9 }
6826
    },
6827
    {
6828
        { 0x8b48818, 0xb9763a3, 0x4288f96, 0xa6d23cc, 0xed3a229, 0xe27fcf5,
6829
          0xabaff00, 0x6aebf9c, 0x8131cd1, 0xf337503, 0xffabd58, 0x13ad41d,
6830
          0x861c83b, 0x1bee6af, 0x9c142e7, 0x274fe96 },
6831
        { 0x9b84b5b, 0x70ebcc9, 0x8191cfc, 0xe1a57d7, 0xcbf00b8, 0x46ccd06,
6832
          0xefe402d, 0xc233e8e, 0xbeebeb3, 0xb4ab215, 0xbd14e7b, 0xb7424ea,
6833
          0xa679578, 0x351259a, 0x471d684, 0x6d6d01e }
6834
    },
6835
    {
6836
        { 0x815ae38, 0x755c465, 0x611db56, 0xadc3e85, 0x188dd50, 0x633999b,
6837
          0xc12d907, 0xfdf7509, 0x238b6af, 0x25bcfde, 0x397f5e7, 0x50d705d,
6838
          0x944c974, 0xb65f60b, 0x27ac325, 0x8867fc3 },
6839
        { 0x3763eff, 0x2edc441, 0x341fb63, 0x892c0b3, 0xb3a7f28, 0xb34b83a,
6840
          0x15c2f18, 0x9aa106d, 0x1bb2277, 0x720bbc6, 0x5cfaefd, 0x637f72a,
6841
          0xf43e565, 0xf57db6e, 0xb58e772, 0xceb7c67 }
6842
    },
6843
    {
6844
        { 0x6ecc1de, 0x2793da5, 0x38f31b2, 0x4e10974, 0x8781267, 0x4229b4f,
6845
          0xdec04a1, 0xe5d2272, 0xec17cff, 0x6abb463, 0x0cbb048, 0x28aaa7e,
6846
          0xd22ef85, 0x41dc081, 0x5e63d0f, 0xcbc361e },
6847
        { 0xad5dbaa, 0xb78aafc, 0xfc1edc3, 0x0111505, 0x92c7bfa, 0x63ed66d,
6848
          0xe468919, 0x2982284, 0xb8c0d8c, 0x30f1f21, 0x2685093, 0xf056747,
6849
          0xf03dd0f, 0x0e085b6, 0x5581e66, 0xa8c8db8 }
6850
    },
6851
    {
6852
        { 0x264ad0c, 0x42009a6, 0x593bef4, 0x13bf2b8, 0x5d4e8b1, 0x1d11190,
6853
          0xef7bddc, 0xfe3e940, 0x624e62c, 0xa012275, 0x1d6d3cc, 0xcb65924,
6854
          0xedb7ab6, 0xc7bcc70, 0xb750b1c, 0xff9fafb },
6855
        { 0x7fea84b, 0xf65df29, 0x90b0e02, 0x17c84a8, 0x301e821, 0xa92a859,
6856
          0xfb480d1, 0xbee8cb2, 0x59c604e, 0x7010b8c, 0xe803c43, 0x47bf3f4,
6857
          0x47b3fff, 0xd645142, 0x9f0da13, 0xc4c5dcb }
6858
    },
6859
},
6860
{
6861
    {
6862
        { 0xb5253b3, 0x8af700c, 0x206957a, 0x31ca605, 0x3eafdcd, 0x2574439,
6863
          0xd3ae15e, 0x2ba5ae1, 0x5b82579, 0x710b738, 0x112b95a, 0x145ab57,
6864
          0x38c55c5, 0x4b133a0, 0x2a16fef, 0xf7559c9 },
6865
        { 0xd9ba896, 0x70c3e68, 0xc33d07a, 0x475dd32, 0x3a41e40, 0xe084e47,
6866
          0xfd2e706, 0xddc9382, 0x79510bd, 0x34b7275, 0xa5f901e, 0x5e78a69,
6867
          0xdcfb823, 0x429dfd7, 0x014f0a3, 0x1d9dc18 }
6868
    },
6869
    {
6870
        { 0xaf403d7, 0x364fcdf, 0xb7d7b34, 0xd9ea4ff, 0xcbb1dac, 0x21a3426,
6871
          0x143b4f5, 0xfa51052, 0x6df2409, 0x2bca073, 0x8ad7285, 0x7e6985a,
6872
          0x4aaa27f, 0x3a1a9d0, 0x9fc0c6c, 0x1a815e1 },
6873
        { 0xbb65bb3, 0xfab6147, 0x33ced0b, 0xa36dc0d, 0x2062d78, 0x26a8859,
6874
          0x28a5fb7, 0x3438617, 0x4ebb1ad, 0xe82da25, 0xd05aa11, 0x70f5071,
6875
          0xadaac48, 0x0b7f847, 0x93cb269, 0xeb812bc }
6876
    },
6877
    {
6878
        { 0xf7caccc, 0xcb317cc, 0xcf85098, 0xd3410d9, 0x7f078d7, 0xca68c8d,
6879
          0xb782efc, 0xfe9e812, 0x5f544b5, 0x32e7c0f, 0x3a7b7f2, 0x44fe95a,
6880
          0xe91327b, 0xf4f1543, 0x76645ed, 0x27d118d },
6881
        { 0xd7abc2c, 0x690547c, 0xb53c8af, 0xf64680f, 0x79ea989, 0xbe0cbe0,
6882
          0xa91af28, 0x6cf0cce, 0x9daa2f9, 0xa3b85a2, 0x91faed0, 0xd4b663c,
6883
          0xa8b20ba, 0x782c7b7, 0xb8d98ce, 0xf494faf }
6884
    },
6885
    {
6886
        { 0x002f55a, 0x080c0d7, 0x2d6d9dd, 0xf4f8f14, 0x382f025, 0xb326229,
6887
          0xad28c20, 0x58fd0b5, 0x8d06a15, 0x704b992, 0x7fbd8e4, 0xf4545d9,
6888
          0xed55581, 0xc32fa63, 0x01ac0fd, 0x3ab7936 },
6889
        { 0x6099fd1, 0x13ece52, 0x9c79178, 0x776dba8, 0xce26c45, 0x8d28212,
6890
          0x60d739c, 0x09fddaf, 0xa84826e, 0xf9931ed, 0xb29439e, 0x6e73d90,
6891
          0x9095e61, 0x94cfefc, 0x802f474, 0x3050d16 }
6892
    },
6893
    {
6894
        { 0x9f6394b, 0x0898f8f, 0x88b0e91, 0x48b8cea, 0x4c1b362, 0x4bc9925,
6895
          0x827d9ec, 0xe3fccb4, 0xd950d6a, 0x5d4cf9a, 0x39b5b38, 0xa16f1ef,
6896
          0x620f288, 0x3c76d1d, 0xe119390, 0x9fdd059 },
6897
        { 0xfb5edf8, 0x7b5de9e, 0x769d14e, 0x3e290b9, 0x6bd10b5, 0x4df3a91,
6898
          0x82f8f7b, 0xae99bca, 0xc9524af, 0x5481d5d, 0x69504f1, 0xf112e4f,
6899
          0x51931ec, 0xb048f09, 0x18f51b1, 0xbff876a }
6900
    },
6901
    {
6902
        { 0x46c1c37, 0x932e2a7, 0x9aea4c1, 0x903ad52, 0x8f161f2, 0x717ac91,
6903
          0xf425e2a, 0xa57d197, 0x7f39e0e, 0xae89dac, 0xbaa2a58, 0x91655c0,
6904
          0x54836dd, 0xe3dc286, 0xa9ec9e6, 0xb5f0baa },
6905
        { 0xbdbda04, 0xf7c4662, 0x51059c0, 0xbe5393b, 0xdd95b0f, 0xb16d552,
6906
          0x1b3bd96, 0xde495b3, 0xc0206c5, 0xb2a6e02, 0x014d3a9, 0x045cc09,
6907
          0x2a2f490, 0xf66a315, 0xc5dea05, 0x208c108 }
6908
    },
6909
    {
6910
        { 0x65237ea, 0x6e38b68, 0x9f27fc6, 0x93a1303, 0xa95068a, 0x9a6d510,
6911
          0xe7c9e54, 0x6fbf216, 0x571ac1d, 0x7824290, 0x91c2a0c, 0x8cb23ba,
6912
          0xc7e434d, 0x611202e, 0x76058b4, 0x8f901bf },
6913
        { 0x0849588, 0xef0ac05, 0xdd31804, 0xe0d2dde, 0xeb2ca81, 0xaf5417c,
6914
          0x5d1a509, 0x420ac06, 0x9683bb6, 0x46e345e, 0xf613f7f, 0x6daf635,
6915
          0x48a9576, 0xc9e8291, 0x176d147, 0x5f9f1d1 }
6916
    },
6917
    {
6918
        { 0x77e9709, 0xd24ae1d, 0x0047b8a, 0x77751dc, 0xc6a1593, 0xe325334,
6919
          0x671f86a, 0x9baf962, 0xc29a15e, 0x425af6a, 0x2796e33, 0x3108600,
6920
          0xfc253a5, 0xb6ea78c, 0xafae0ea, 0x4c733e0 },
6921
        { 0x97c99b9, 0x4b7443a, 0x50203a6, 0xc14e9e4, 0x52680ba, 0xd1bb515,
6922
          0xd55533a, 0xa56a3ef, 0x169e1a0, 0xa66e38c, 0xeed7da0, 0xb3e4df9,
6923
          0xddce3d9, 0x022c937, 0xf6e36b4, 0x8552089 }
6924
    },
6925
},
6926
{
6927
    {
6928
        { 0xf5cc82e, 0x8e4bf95, 0xc3ed6c9, 0x2ad80c3, 0xc9045e1, 0xf2e5b2c,
6929
          0x59b06d4, 0x42c9065, 0x7b43b84, 0xc1f7379, 0x72d7992, 0x1710dbf,
6930
          0x767b41c, 0xe98cf47, 0x7bfb9e9, 0xe713fce },
6931
        { 0x9fa5134, 0x9f54ae9, 0xde40d0e, 0x3002fd8, 0x9311334, 0xdc282b7,
6932
          0xbfeb360, 0x5519810, 0x0f96ffe, 0x31539c7, 0xd27777b, 0x04eacc0,
6933
          0x8ff5053, 0x5982410, 0x32b67ad, 0x5982366 }
6934
    },
6935
    {
6936
        { 0x6bea5c2, 0x6eb4554, 0xd509a33, 0x82cfae0, 0x394bb59, 0x6a69bd8,
6937
          0x5770ee1, 0x1880d8d, 0x7dacf9e, 0x6351844, 0xf02b891, 0x5b1ecc5,
6938
          0xb6c9a5a, 0xeb7d900, 0x8897da8, 0xdab8a76 },
6939
        { 0x98851a6, 0x28c7be5, 0x4d73c3b, 0x0101d4f, 0x5084996, 0x3c2569c,
6940
          0x280bde0, 0xb9bc911, 0xcd0d4f9, 0x513a22a, 0x2a15f3b, 0xdf2986d,
6941
          0x2aa4943, 0x231c28f, 0x0333870, 0x29623ad }
6942
    },
6943
    {
6944
        { 0x4084416, 0x2ceb178, 0x49516cd, 0x924cf1c, 0x4be856f, 0x76536c0,
6945
          0x47a265b, 0x11b59cd, 0x4999494, 0x720dc84, 0x007b795, 0x910f794,
6946
          0x2d3df83, 0x8434e14, 0xbd478d3, 0x8f53878 },
6947
        { 0xaeb9c2f, 0xd9b072e, 0xfd8a29f, 0x16f87ea, 0x2fd0de1, 0x8c42f9b,
6948
          0x0e816ef, 0x916721e, 0x18bde37, 0x2ecb470, 0x2375da2, 0xcde3b7a,
6949
          0xef94281, 0x30d0657, 0x5cd7af8, 0x5105456 }
6950
    },
6951
    {
6952
        { 0x4bdced3, 0x7230b33, 0x0838569, 0x0c6a3e1, 0xe3493b8, 0xf19c9ec,
6953
          0x0d97c57, 0xf275927, 0x0c862eb, 0xf14181e, 0x32c72bc, 0xfd3bac1,
6954
          0xf3be362, 0x620563f, 0x47283b7, 0x672ccaf },
6955
        { 0x2b7bf16, 0x191e3fa, 0x520dad7, 0xf838633, 0x3629d87, 0xd3dde55,
6956
          0xaf86ebe, 0x14d8836, 0x221b2ce, 0x3db7dfb, 0x0aed72a, 0x3872abb,
6957
          0x8c665b7, 0xb60de52, 0x44982cb, 0x89c2596 }
6958
    },
6959
    {
6960
        { 0x4dbba25, 0x799a2de, 0xa42715e, 0xd818aae, 0xf55c362, 0xbc88f4d,
6961
          0x713c9ae, 0x142a163, 0xfbfb33f, 0x411e8ee, 0x6bb684a, 0x34b4629,
6962
          0xdc81817, 0x4344bec, 0x17f9d46, 0xcc9573d },
6963
        { 0xff38a7d, 0xf85f8bc, 0x0caf117, 0xa14bf73, 0x4ba6429, 0x126874f,
6964
          0xaa5db97, 0xcc9bf22, 0x6aba827, 0x62b56df, 0x9c9772a, 0xfee1cb8,
6965
          0x177e541, 0xe36838f, 0xadd438f, 0x698815d }
6966
    },
6967
    {
6968
        { 0x38ed1ad, 0xc9fd894, 0x7b6a601, 0x73cd79d, 0x05e8d20, 0x2210e62,
6969
          0x3592af5, 0x72384ac, 0x763d07e, 0x5ccc079, 0xa5f79eb, 0x2f31a4a,
6970
          0x2945a95, 0x693f4ed, 0x8056fdc, 0xc712017 },
6971
        { 0xdf4b09a, 0x361ecd2, 0xb7d929a, 0xa5644ea, 0x3fabe9a, 0x34abc0b,
6972
          0xe942a8c, 0x1a2473c, 0x6454bc3, 0xe00c924, 0xdff7366, 0xab324bc,
6973
          0x21b8f99, 0xe1412f1, 0xe33551e, 0x970b572 }
6974
    },
6975
    {
6976
        { 0xbd0a6b5, 0x6ca4cac, 0x921d654, 0x5584787, 0xc809bda, 0x18e5253,
6977
          0xf0cbe5e, 0x01b32c3, 0x0f987dd, 0xb9aa754, 0x6dfa4db, 0x628f4bb,
6978
          0x891890b, 0x0255f0b, 0x874e590, 0x25b7df4 },
6979
        { 0x8ed5f95, 0xbded318, 0xca93023, 0x9dc428d, 0xbccf520, 0xc68f25a,
6980
          0xe616e6c, 0xc4f3764, 0xa1d9993, 0xd9a57f1, 0x533431b, 0xd1964a5,
6981
          0x02ab6d0, 0x06cd77f, 0x03e52e0, 0xa660791 }
6982
    },
6983
    {
6984
        { 0x5f72700, 0xab08864, 0x0a1a44e, 0xf77b2ff, 0xc2a24b5, 0x43ebdd8,
6985
          0x4f564d7, 0xa6d6711, 0xf414160, 0x495df63, 0x76f6de6, 0xf5bacd7,
6986
          0x7c2b43d, 0x3011aff, 0x3241928, 0xbb1e64c },
6987
        { 0x5034073, 0xf70c572, 0x68f1e97, 0x891c62a, 0xb22e374, 0xed8eb2e,
6988
          0x7dbcc2f, 0xd3a53e9, 0xdc8f220, 0x1d06281, 0xace4393, 0x9eef48f,
6989
          0xd2abecd, 0x96014f5, 0x2653ceb, 0x1da7e09 }
6990
    },
6991
},
6992
{
6993
    {
6994
        { 0xd00bc94, 0x7593318, 0xc7262a2, 0x586f3c6, 0x958ad31, 0xea68f52,
6995
          0xd4e8bed, 0x6707fcc, 0xcb3f9ce, 0xb7e35d6, 0xf4b1be8, 0x2cbb6f7,
6996
          0x7b41aee, 0xa535268, 0xf7b39b8, 0x1d77845 },
6997
        { 0xeaf9554, 0xb1f3995, 0xfe9e7d4, 0x3250f70, 0xa00c23c, 0x62e5d1b,
6998
          0xc10e3bf, 0x5e422f5, 0xc25cec4, 0x7a18039, 0x7cc4d5b, 0xb4e66a1,
6999
          0x36d0e0c, 0xad7c5f6, 0xa4cf347, 0x9f40b12 }
7000
    },
7001
    {
7002
        { 0x51e3696, 0x697f882, 0xab0a648, 0xc89bc40, 0x9785804, 0x8f261a5,
7003
          0xb51a2bd, 0x4c7f900, 0x8a2dfcf, 0xd00e7af, 0xb642aeb, 0xf9c534d,
7004
          0xb63df0e, 0xea2a79f, 0xf2f64a4, 0x392a69a },
7005
        { 0xc331b6c, 0x0c0f01c, 0x6a5edb5, 0x414bf2e, 0x5068391, 0xfe5ed81,
7006
          0x62fbc34, 0x0a8078d, 0x54bca98, 0x78a4382, 0x3d727c7, 0xf7a49ae,
7007
          0xab4dffe, 0x96c1de1, 0x3b9440a, 0x45901f7 }
7008
    },
7009
    {
7010
        { 0xacfe46e, 0x3f1189f, 0x4467443, 0xdca6f46, 0x2eb5bcf, 0xac38542,
7011
          0x906bf72, 0xb02dce9, 0xfe1d454, 0xdd8cdac, 0x65f7218, 0xc26f04c,
7012
          0x6ea145d, 0xb474859, 0x5bdb315, 0xc53dc6b },
7013
        { 0x9ad7197, 0xbe5be74, 0x18b5ecc, 0x627e919, 0x9ea405d, 0x57c889c,
7014
          0x1a5360b, 0x2e5650c, 0x1b30b27, 0x42290df, 0x5242687, 0x4a07157,
7015
          0xd379133, 0x553ed1f, 0x01db019, 0xb9d7a07 }
7016
    },
7017
    {
7018
        { 0x56597dc, 0xcfe551c, 0x925ebd6, 0x81af92a, 0xf4e8d57, 0x83efe16,
7019
          0x1f640d3, 0x61bb431, 0x78b414a, 0xf80440f, 0x6c9e3b4, 0x72f3c63,
7020
          0x6a03c66, 0xb55f43a, 0xe417037, 0x47a9ded },
7021
        { 0xdbb612b, 0x1a7e287, 0xdbb9220, 0x895c3c7, 0x6c04764, 0xd50c86e,
7022
          0x53cf7ca, 0xed52698, 0xf74af55, 0xc78d799, 0xb969ff2, 0xb2ba0f2,
7023
          0x1c6530b, 0x06d4815, 0x165a575, 0x764a1fe }
7024
    },
7025
    {
7026
        { 0xc1b5ece, 0x4383a3b, 0x54ff148, 0x0563c88, 0x5af796e, 0x9a45279,
7027
          0x88e9953, 0xffba7c0, 0xb6a3001, 0xfe9fb5e, 0x25b6b19, 0x7950988,
7028
          0xd81be5e, 0x67c899a, 0x2f9d29b, 0xc89ac8d },
7029
        { 0x29ab8f7, 0x7c76ba3, 0x6e40f74, 0xb2a18c9, 0x3864d9b, 0x1b5056e,
7030
          0x9b582b8, 0xdfa503d, 0x7c9c68e, 0xfb03519, 0x6b3c22b, 0xdc50131,
7031
          0xa6c96ff, 0x38ab231, 0x8cb1c10, 0x4ea527c }
7032
    },
7033
    {
7034
        { 0xc05b4ed, 0xd632f20, 0xb2a032d, 0xe0199fa, 0x26812d7, 0x3732956,
7035
          0x013df13, 0x2aed855, 0x39f96ac, 0x92ca24b, 0xbb9751a, 0x620273d,
7036
          0xf7437a1, 0x5d0d21e, 0x077de56, 0x9de2a43 },
7037
        { 0x11a4674, 0x0569b12, 0x89c3989, 0xfc3923e, 0x2c5c770, 0x3d12704,
7038
          0x84e8c37, 0x0072b90, 0xac39f9a, 0x7178d4d, 0x778d345, 0x5f8292f,
7039
          0x77c7307, 0x9e5bf0f, 0xc3a20f5, 0x7691610 }
7040
    },
7041
    {
7042
        { 0x705fe96, 0x7c4ead5, 0xc8e464c, 0x377ec35, 0x7689954, 0x3e5b990,
7043
          0xa2d31ea, 0xc0f6949, 0xc580671, 0x839d395, 0xb215b09, 0x2f347a6,
7044
          0x683df83, 0xfdcfa33, 0x6af39a8, 0x6e12cc2 },
7045
        { 0x13a3bd2, 0xae46ec8, 0x59366f8, 0x03a7d3b, 0xb87aed4, 0xe2029d5,
7046
          0xfe1b83d, 0xbdc4e43, 0xdb8a1a8, 0x768437c, 0xea0dd7f, 0xe47acc3,
7047
          0x62a0af4, 0x550e0cc, 0x1a20962, 0xcaf2cbc }
7048
    },
7049
    {
7050
        { 0xf28a78f, 0x5a784f7, 0x07e9724, 0x952a9b5, 0x1bab7a3, 0x8ac5e41,
7051
          0xb7bc1e1, 0x1251e3f, 0xdc15e22, 0xe360f82, 0x95213f5, 0x3ac72da,
7052
          0x4dcd47b, 0x65ee9ba, 0x3af5952, 0xdfeab7b },
7053
        { 0x26fd3c6, 0x34c5c80, 0xf3ac7ee, 0xd977b08, 0x7dba2f6, 0x003bd01,
7054
          0xac98c8d, 0xcfc5cf8, 0x0e46922, 0x05eb604, 0xfaa9352, 0xc248b17,
7055
          0x395c7a7, 0xfa41c0f, 0xb71ee44, 0x29931d4 }
7056
    },
7057
},
7058
{
7059
    {
7060
        { 0x07861c5, 0xac087bb, 0x5ae8240, 0x3bd37db, 0xf94518f, 0x94c68ec,
7061
          0xff88a5b, 0xd32a378, 0x9b441d1, 0x42c8aaf, 0xfc07f12, 0x089db70,
7062
          0xd3d4455, 0x211c386, 0x546b158, 0x1db9af7 },
7063
        { 0x51bc927, 0xdfd1b65, 0x0733df4, 0x69c0493, 0x2aeb586, 0xdc72cd4,
7064
          0x823aa13, 0xeebdace, 0x56ad643, 0x51b3b3c, 0xd4e0426, 0xb983a99,
7065
          0x69c4ecc, 0xa1e5b6c, 0x45e6668, 0x37cd382 }
7066
    },
7067
    {
7068
        { 0x9f73aea, 0x158ce6d, 0x14ff475, 0x36a7749, 0xdc0b018, 0x0d4e424,
7069
          0x3946f09, 0xc2c4448, 0xfacda62, 0x7a7de3f, 0xb486709, 0x49a19e6,
7070
          0xdb61da7, 0x65094d8, 0x8f5ee87, 0x09edfd9 },
7071
        { 0xb37226d, 0xe460fcf, 0x69bf470, 0x3b9d039, 0x247ca22, 0x3d4d511,
7072
          0xc782cb1, 0xc7248d6, 0x00ad293, 0x91189a0, 0xe8abe75, 0x1244942,
7073
          0xbf52cdb, 0x9f88d12, 0xbbbcadf, 0x368463e }
7074
    },
7075
    {
7076
        { 0x8074f45, 0x419e4b3, 0x0771c83, 0xd3f8e2e, 0x2e68d34, 0xd2743b4,
7077
          0xb116a00, 0xc68b7db, 0xd84cc37, 0xfad2cf7, 0xb7a0f4d, 0xcfd27c0,
7078
          0x190e587, 0x3b9e23f, 0x751ca9e, 0x7bab499 },
7079
        { 0xa8f12ee, 0x3270861, 0x31b36d5, 0xee1f38d, 0xe4c0eed, 0x748bb31,
7080
          0x110ebad, 0x9be5c9b, 0xc8b6cb6, 0x728660b, 0x93d914a, 0x7bc9df7,
7081
          0xc88c859, 0x73a4f2c, 0xb4e7f0e, 0xbe4a2fd }
7082
    },
7083
    {
7084
        { 0xa450e77, 0xe566ff8, 0x6a13aba, 0xb0b4006, 0xcd7dc90, 0x483a510,
7085
          0x5fa9ccc, 0xb1a2013, 0xa80e67c, 0xeb0b631, 0x020801a, 0x7c34e1f,
7086
          0xf4e447c, 0x0257dc8, 0x74c6f0f, 0x7abe7d1 },
7087
        { 0xb19a576, 0xf115a3a, 0x064ca0e, 0x8f0474a, 0x351f99b, 0x999bb6b,
7088
          0x773edc3, 0x855254b, 0x427d717, 0x49f6c2f, 0x2e0cef2, 0x9f68253,
7089
          0x2ee34f5, 0x1fe126c, 0x80150f7, 0x1ec2cae }
7090
    },
7091
    {
7092
        { 0xc005b7a, 0x862c5af, 0xec4ef17, 0x61adea7, 0x007b446, 0xf885fd3,
7093
          0x9b0e30e, 0x25c129d, 0xfeec7e0, 0xbc10f25, 0xdf79ee1, 0x3901ac4,
7094
          0xfe9e19f, 0xad49db7, 0x360d050, 0xc8624d9 },
7095
        { 0xbf3260b, 0xc74a576, 0x8c010c2, 0xbde8024, 0x09b6977, 0xf155329,
7096
          0xd52dcf8, 0x6a5a82e, 0x29b9dfc, 0x4fbf59d, 0xc7b730c, 0x337d049,
7097
          0x3a89cd4, 0xb3deac6, 0xad2f2eb, 0x1e07595 }
7098
    },
7099
    {
7100
        { 0x3b7c84e, 0xa0b0a4d, 0x8cf2b00, 0xf132c37, 0xeaaa8ec, 0x192814b,
7101
          0x7b4b5df, 0xe7929f9, 0x42d0ab7, 0xf08a68e, 0x7b60cdd, 0x814afb1,
7102
          0x7d9c160, 0x78c348c, 0x44db217, 0xf8a9488 },
7103
        { 0xeaa2578, 0xcdefd88, 0xbd0e260, 0xf717f56, 0x1694d02, 0x7754e13,
7104
          0x181dbd8, 0x1254c14, 0x6e5f312, 0x0dacdd2, 0xcef87bf, 0xb8abdfb,
7105
          0xe74e2ea, 0xb985972, 0x002b424, 0x1717621 }
7106
    },
7107
    {
7108
        { 0x162df70, 0x92cc75e, 0x18ee849, 0x1e20c06, 0x26aa590, 0xc036b46,
7109
          0x4da5155, 0x31be67e, 0xf7213b0, 0x04911b5, 0xbb2e72e, 0x39261d7,
7110
          0x5c015a3, 0x9e84466, 0x298ae67, 0x2f59fc0 },
7111
        { 0x1701fcc, 0xa3ea7ba, 0x0ebd651, 0x87a5fa9, 0x301d7b1, 0xa607ed4,
7112
          0x3b2e271, 0xbd4ec5f, 0xdc4180f, 0x732a1a2, 0xfeaa8c1, 0xbe15d82,
7113
          0x66f2f3f, 0x1036702, 0x9e79ce8, 0xccfd397 }
7114
    },
7115
    {
7116
        { 0x70a54ad, 0x82ab835, 0xe3bec75, 0x5c1dee8, 0x54b556b, 0xf583ff4,
7117
          0xf461e60, 0x9220199, 0x87fc4e7, 0xdf61ca8, 0x0776dad, 0x6641fd2,
7118
          0x8edd061, 0x00c6edd, 0x55f7e87, 0xaf9b142 },
7119
        { 0x9bbe3ec, 0x73f15e4, 0xf8bc1fa, 0xdd3b788, 0x1b8ff86, 0xb24cc07,
7120
          0x41be58b, 0x6c260d2, 0x6b10ada, 0xec1c4e3, 0x7fdb985, 0xf6b4209,
7121
          0xd47c212, 0x0d0ac85, 0x07d78d1, 0x967191c }
7122
    },
7123
},
7124
{
7125
    {
7126
        { 0x843d0f3, 0x3b11638, 0xf27f10e, 0x4b89297, 0x863ba2a, 0x477236e,
7127
          0xadd280c, 0x1949622, 0x04da757, 0x7cd5235, 0x79e4ff7, 0xe0e99d2,
7128
          0x537da41, 0xb4ef894, 0x5a24ff1, 0xc55dde4 },
7129
        { 0xb587521, 0x18d8e21, 0x3777833, 0x8010b5d, 0xd3a54c8, 0x4af522d,
7130
          0x4c0ac13, 0x7cd476b, 0x4099f67, 0x4587e61, 0x605ee64, 0x494d0ed,
7131
          0xcc80903, 0x3218ba2, 0x0b2e169, 0x5ff56aa }
7132
    },
7133
    {
7134
        { 0x3a06c69, 0x51ec94e, 0x5e65c52, 0xa26d7be, 0xd44ee96, 0x156f113,
7135
          0xbf5b9b4, 0x70f0968, 0x5f5332d, 0x9b7e469, 0x6703829, 0x36c295f,
7136
          0xd04f492, 0x1522690, 0x728043b, 0xcf35ca4 },
7137
        { 0x190a7c3, 0xf9ca3e1, 0xf971b07, 0x53d2413, 0x9c48b49, 0xae59652,
7138
          0xfefff5c, 0x74672b8, 0xa7643b0, 0x0a3018b, 0x3e9b0a8, 0x51919e8,
7139
          0xc932fb5, 0x89ad33d, 0x643e687, 0x52a4419 }
7140
    },
7141
    {
7142
        { 0xd2d0acd, 0x7778990, 0x487fdf1, 0x3bdbcce, 0x2b03dd2, 0xdc413ca,
7143
          0x9a2b7d0, 0x278755b, 0x35ddd7f, 0x4ebb8b5, 0xbcbdb92, 0x0465152,
7144
          0x671d051, 0x34f22d6, 0x87192b9, 0x1ba04c7 },
7145
        { 0x83560c1, 0xb1693f4, 0x7d174e9, 0xe08a593, 0x64dc9af, 0x47ffdc4,
7146
          0xce8126c, 0x1123596, 0x1124628, 0x632d95f, 0xfee7c76, 0x66287ab,
7147
          0xc552332, 0xb40fe60, 0xe304e1e, 0x3f11729 }
7148
    },
7149
    {
7150
        { 0x5030a8c, 0x97a6ea0, 0x09c27b2, 0x6924198, 0xac9dd5d, 0x3308501,
7151
          0xbe73fdc, 0x9fed7fa, 0x0535286, 0xea55544, 0x6c9b832, 0xc7c07ab,
7152
          0xc51b967, 0x178c882, 0x86ee075, 0x6fa0c69 },
7153
        { 0xb8b5c4a, 0xbaa4a15, 0x3130c0a, 0xf83c0ea, 0x2800331, 0xcf8624b,
7154
          0x7ccbcb8, 0xade85cd, 0xf08445d, 0x971d7f6, 0x6a546dc, 0xfd480b7,
7155
          0xc93761c, 0xdc15a38, 0x9d04631, 0xc4c495c }
7156
    },
7157
    {
7158
        { 0x9470efe, 0x5f4cee8, 0x88d93ad, 0x9fe8961, 0xf4e49ce, 0x24783b3,
7159
          0x52ffb3e, 0x1bc7ed7, 0x6d81e17, 0xa3abe6a, 0x7a333c3, 0xd6bb8b4,
7160
          0x10a3527, 0x3485c0b, 0x31a9d10, 0x7cddc9c },
7161
        { 0xc38ca37, 0x0c78112, 0xdd2f8d8, 0x10e249d, 0xc511911, 0x72c88cc,
7162
          0x29a6c84, 0x4d75b5a, 0xa227b1e, 0xc74b267, 0xf8e35ad, 0x698390c,
7163
          0xe98d230, 0x8f27edf, 0x6bdc7f4, 0xec922f2 }
7164
    },
7165
    {
7166
        { 0xfc32e11, 0xac34023, 0x47200d1, 0xe0ae2f5, 0xbd98c82, 0xa7c7492,
7167
          0x7b02154, 0x3910b68, 0xe28ab6d, 0x6fdd06c, 0xd98b012, 0xd3a7e49,
7168
          0x9f54207, 0x4c1c82b, 0x45c176f, 0xef5bbe6 },
7169
        { 0xd3e71eb, 0x3d17960, 0x080e70c, 0x90d7e84, 0xbff5d9e, 0x83e6438,
7170
          0x535d85c, 0x1877e1f, 0xfbb69cc, 0x931ed6e, 0x1247848, 0xcf96265,
7171
          0x750da4e, 0x76d618b, 0x717fbf6, 0xc076708 }
7172
    },
7173
    {
7174
        { 0xeec5126, 0x80a5ac5, 0x3379c80, 0x6d05dd1, 0x2336d32, 0x514b089,
7175
          0x6725137, 0x586c006, 0x574f954, 0xab2365a, 0xac7d356, 0x3c89ea0,
7176
          0x27460ba, 0xf1f2edd, 0xab9870f, 0xf200ddb },
7177
        { 0xa35e885, 0xc8f1b2c, 0xe6e7550, 0x5d22f86, 0x9554615, 0x24b9a40,
7178
          0x616314f, 0xcb41107, 0xc976a11, 0xca752f0, 0xa08291a, 0x3e2f839,
7179
          0xf2c420e, 0x0cff22f, 0x82b9747, 0xafd603e }
7180
    },
7181
    {
7182
        { 0x810a3da, 0xaddeddc, 0xd3a87bf, 0x78b6c2d, 0xde3a04c, 0xbc7020b,
7183
          0x9b6d045, 0x47ab973, 0x0959358, 0x3b046d6, 0x509ee3e, 0x0f953e7,
7184
          0x69fc61b, 0x803dc86, 0x893c8d4, 0xcceaec0 },
7185
        { 0xb048a45, 0x21f8c40, 0xfcaea8a, 0xb535073, 0x90e360b, 0xe712c35,
7186
          0x8403338, 0x5d0f3f4, 0x7207f2d, 0xe0ea26c, 0xffd9e05, 0x20f6b57,
7187
          0x4788b00, 0xb97d68e, 0x1889cce, 0xb121554 }
7188
    },
7189
},
7190
{
7191
    {
7192
        { 0x464238e, 0x0079817, 0x0d381ca, 0x2110302, 0xd9f01b5, 0x1cc4c6e,
7193
          0x5a131b1, 0x5e35dc5, 0x06944eb, 0xb61848d, 0x29631a3, 0x83792a0,
7194
          0xafca0dd, 0xbe1017f, 0x782fcbb, 0x70aaa01 },
7195
        { 0x99945e7, 0xc63b7a0, 0xc4486c1, 0xe9164ec, 0x885f2c1, 0xb133e35,
7196
          0xc99ae02, 0x186f0d3, 0x2bf53e6, 0x2fca492, 0x48a02bc, 0xf922aa2,
7197
          0x0dd3dca, 0x4fe6490, 0xf6a8207, 0xe8c313f }
7198
    },
7199
    {
7200
        { 0x97caf1e, 0xc5b3583, 0x922a4b6, 0xa001922, 0xdf07c95, 0x67e36be,
7201
          0xb2f4f34, 0xabaa0ae, 0xdedc333, 0x66dc926, 0x38ec5b3, 0x82021c4,
7202
          0x00ab176, 0x82b4f26, 0x69c45af, 0x1b7c22e },
7203
        { 0x0924ad9, 0x07b0dbe, 0xa407dde, 0xe030936, 0x26ccd06, 0x66e1ce9,
7204
          0xe3505a9, 0xb50c108, 0xda98f51, 0x8b921e1, 0x20cf7c7, 0x449ca1a,
7205
          0xe67d079, 0xadb80c7, 0x834372d, 0x205aa54 }
7206
    },
7207
    {
7208
        { 0x19bf847, 0x1482b48, 0x5906f0f, 0xd6c16ab, 0x23ad060, 0x323fb17,
7209
          0xc832be7, 0x0346389, 0x2ee45bf, 0xe71b2d8, 0xfb22276, 0x761c37d,
7210
          0x5d70be2, 0xa9b3334, 0x5a0627a, 0x81a0656 },
7211
        { 0x99a6282, 0x3377503, 0xd0436f0, 0xafc8d2e, 0xc53342f, 0x22f71d3,
7212
          0x8939ad3, 0x66ca56d, 0x30e09ba, 0x15a9192, 0xa6de890, 0x261091e,
7213
          0xe78f2d5, 0x609d700, 0x8eaaf78, 0x8aa52ee }
7214
    },
7215
    {
7216
        { 0xce76258, 0xa398788, 0x494b975, 0x3031d07, 0x043dfe2, 0x4a6d652,
7217
          0xb4401ec, 0xdb1a849, 0xce8bbcc, 0xf81ebbb, 0x16efe9e, 0x937dd47,
7218
          0xef85ecc, 0x9c19350, 0x214273b, 0x260d932 },
7219
        { 0x77bf1a3, 0x1d7e21e, 0xa544eb7, 0x199d689, 0x94ced50, 0x9da5941,
7220
          0x8a0aeaa, 0x71a60be, 0x26d3b51, 0x183a0ae, 0x8df9728, 0x49f176a,
7221
          0x3230674, 0x744376e, 0xe25541c, 0xb2cb21a }
7222
    },
7223
    {
7224
        { 0x9a0071f, 0x7a72158, 0xe7d2a6b, 0xe19dd29, 0x55113f0, 0x3deb34e,
7225
          0xede573b, 0xef1f8eb, 0x5665e37, 0xa8f7ff9, 0xf2d7777, 0xa2c21ea,
7226
          0x91e2e39, 0x1387afa, 0x7db68f6, 0x04057b9 },
7227
        { 0x1c241f7, 0x8b9d5ae, 0x8e75993, 0x689588a, 0x5c0e2d4, 0x79585b4,
7228
          0x7b64974, 0xba1ef16, 0x1c08a75, 0x72685bc, 0xd572edd, 0xf0a5814,
7229
          0x5ab0e70, 0x71464a3, 0x339aea7, 0xc93c92b }
7230
    },
7231
    {
7232
        { 0x5b8a87d, 0x1917e2a, 0x3a82756, 0xea5db76, 0x6420e2b, 0x5bba2fb,
7233
          0x019372a, 0x5cc0501, 0xccc5efd, 0xb1ef8be, 0xf49c57d, 0xaf06393,
7234
          0x87a0bc4, 0x3ab1adf, 0x34fe6b6, 0x2ee4cca },
7235
        { 0x6b8ba9b, 0xd160668, 0x7efec13, 0xef137d9, 0x50abb76, 0x7b60465,
7236
          0xf753a00, 0xb40ec2b, 0xeaf8f1d, 0x696ed22, 0xd8ba3d8, 0x398c91f,
7237
          0x37db313, 0x11f2034, 0xfe5079e, 0xe1ec33b }
7238
    },
7239
    {
7240
        { 0xbdc81f0, 0x8a10c00, 0x6fe8e05, 0x5f39256, 0x14a368e, 0xa595dab,
7241
          0x38cec6b, 0x32b3181, 0x1b00d00, 0xd77afde, 0x4d9923d, 0x3c97928,
7242
          0x76e13dd, 0x78f0e7a, 0xbf75675, 0x5ee8e59 },
7243
        { 0x91b130c, 0x49ec893, 0xa47a441, 0x9416182, 0x76e2ce8, 0x54555b5,
7244
          0x349c40b, 0xcbdd2fd, 0x9392bbe, 0x10ae737, 0x2e2dab0, 0x270b111,
7245
          0xaf293f4, 0x5cb7712, 0xd6095c6, 0xfc22a33 }
7246
    },
7247
    {
7248
        { 0x0f15878, 0xdcb5bbd, 0xb6bba48, 0xbcf27ad, 0x7b70eba, 0x979913e,
7249
          0x158578a, 0x4c0f34b, 0x6ed6088, 0x53f59a7, 0x75b0fc2, 0x19b3b2c,
7250
          0x0153f3c, 0xad628dc, 0xcec1607, 0x5195a2b },
7251
        { 0xdfe0f7a, 0x95f8b84, 0x152920b, 0x935c6b0, 0x4da1056, 0x25f9e31,
7252
          0xb28c229, 0x4910a94, 0x8ee4d6e, 0x54b03b4, 0x694e3ed, 0xc991fc3,
7253
          0xdbe5709, 0x68c4c26, 0x63d7657, 0xc9cfce4 }
7254
    },
7255
},
7256
{
7257
    {
7258
        { 0xf52a44e, 0x21c9227, 0xe85bfbd, 0x7f105a2, 0x6268fc2, 0x887781f,
7259
          0xa2d7e35, 0x56ee808, 0x2d3930f, 0x14f9de5, 0xdcb561a, 0x4a4e356,
7260
          0x7f95598, 0x8736226, 0x5f34151, 0x211c342 },
7261
        { 0x0eaf9cb, 0x8fcb75b, 0x3d60ce2, 0xcc9edf9, 0xa5fe627, 0x54412c9,
7262
          0x842dd09, 0x6036a72, 0xa6c6099, 0x71ce668, 0x5386764, 0x02b30d7,
7263
          0x6f18e23, 0xb69bed3, 0xd1de9f4, 0x124c9b1 }
7264
    },
7265
    {
7266
        { 0xe69b531, 0xe8f8d95, 0xaff1049, 0xe1e115e, 0xeddea0c, 0x9087cd1,
7267
          0x7449916, 0x8ed55a5, 0x7808404, 0x8009f54, 0x17fea55, 0x990f216,
7268
          0xfe8ecf9, 0x68ba624, 0x56d1f47, 0x8ac2950 },
7269
        { 0x529dfb0, 0x3257887, 0x244c080, 0xc4a613f, 0x28672fa, 0xabb1ac0,
7270
          0x31eb291, 0xb2915c5, 0x8fababa, 0x6e368ca, 0x1fde498, 0x6b8c259,
7271
          0xf2a548c, 0x67724a1, 0xf90409b, 0x6b3b7e8 }
7272
    },
7273
    {
7274
        { 0xfae20aa, 0x5415003, 0x85df5ce, 0x95858a9, 0x0ac6bee, 0x42bc987,
7275
          0x39ea1a9, 0x8d843c5, 0xb571043, 0x5de200c, 0x1741a33, 0x084fcd5,
7276
          0x0009d1c, 0xe1ca20c, 0xe957e6d, 0x0271d28 },
7277
        { 0x9e3be55, 0x84cbf80, 0x1c578c6, 0xc804dda, 0x409a93a, 0xea85489,
7278
          0x972021d, 0x64a450a, 0xe681312, 0xc6a2161, 0x65bc111, 0x280bff9,
7279
          0x0f8526f, 0xd358a4b, 0x953a3ab, 0xd967be8 }
7280
    },
7281
    {
7282
        { 0x7dd066c, 0x4c5e615, 0x634c8d4, 0x37afd33, 0x42d8b87, 0xa3ac88a,
7283
          0x938b607, 0x9681e9b, 0x37fe4c8, 0x7a286ab, 0x2494245, 0xdeee574,
7284
          0x6af75a8, 0x184b9d3, 0x3670c04, 0x20f696a },
7285
        { 0xa39e8b9, 0x1340adf, 0x0850b2e, 0x03c1929, 0x2c0e1ef, 0x435ebd4,
7286
          0x142ee9b, 0x49de18b, 0x3f116f2, 0xb440b27, 0x2214463, 0xd94e9fa,
7287
          0x6311543, 0x1b0ddd3, 0x991ba3c, 0x1ae042a }
7288
    },
7289
    {
7290
        { 0x5bb47aa, 0xbc322f8, 0x54a5845, 0x9e25625, 0x21115f3, 0x96b65ae,
7291
          0xbb5757b, 0x46fbed4, 0x4c42dce, 0x18aec4f, 0x8d801f0, 0xc59caf6,
7292
          0x1205521, 0x9189463, 0x89feb7a, 0x66bd8e0 },
7293
        { 0xc529ee7, 0x39ebe95, 0x8eadb99, 0x28d8992, 0x6927544, 0x6058c78,
7294
          0xd3808ec, 0x877e7a5, 0x1c52eaf, 0x8f65111, 0xae221cd, 0xfb59812,
7295
          0xf890391, 0x22289c6, 0x4966e92, 0xa97695b }
7296
    },
7297
    {
7298
        { 0x6ff10f0, 0xf0a9122, 0xa2a65c8, 0x49a931b, 0xb1d3cb0, 0x3fcebbc,
7299
          0xca9685f, 0x70eb79b, 0xab38cb6, 0x82520b5, 0x76304c3, 0xccf991b,
7300
          0xaf8b07c, 0x575aab1, 0x5ed5efb, 0xec8166a },
7301
        { 0xc8689b1, 0xddc5698, 0xb2e78d7, 0x227c949, 0x8e07d91, 0x6132321,
7302
          0x22cfd62, 0x658a11d, 0x004dd5f, 0x908fb44, 0x90d21b1, 0xe3d14f0,
7303
          0xa6a1639, 0x6f3db9d, 0x333a525, 0x09d86c0 }
7304
    },
7305
    {
7306
        { 0x6f043f7, 0xd83eaf0, 0xb52d5f6, 0x88ab648, 0x57144d7, 0x67c664d,
7307
          0xeafc8b5, 0x55d7644, 0xcceb291, 0x1c89f20, 0x831ac47, 0x51aec7b,
7308
          0x6148854, 0x51172fa, 0xf6d7bfe, 0x8fabf7e },
7309
        { 0x477ee27, 0x5910316, 0x20fe61e, 0x5f299dd, 0x42826ab, 0x48079a8,
7310
          0x22591fa, 0xf4a83ba, 0x55482ec, 0x8fac660, 0x6b65b3b, 0x48fd5f1,
7311
          0x9fd9e19, 0x4288a7c, 0x9377894, 0x27db819 }
7312
    },
7313
    {
7314
        { 0x7fd9dd6, 0x2936ee4, 0x9ec87c6, 0xcce5f0e, 0xdb6e3b4, 0x15a50e3,
7315
          0xad701c8, 0x61df105, 0x1dff1f7, 0x3601add, 0xe8a16e1, 0xb761e06,
7316
          0x1af3f91, 0x4341e02, 0x933fa3f, 0x9156a4a },
7317
        { 0x54bc01d, 0x9dc46ae, 0x64eb910, 0x605577a, 0x5a59a99, 0x22b99f8,
7318
          0x0a229d8, 0xab2dbaf, 0x6599364, 0xa8bfb65, 0xe94ebf0, 0x39ed4a5,
7319
          0x0dbb23e, 0x7b46a1e, 0x8751422, 0x117b195 }
7320
    },
7321
},
7322
{
7323
    {
7324
        { 0x423bddf, 0xd19e8fd, 0x387ef59, 0x9d77042, 0x849590a, 0x315cbdd,
7325
          0x7866c1e, 0xfdc637c, 0x03515a6, 0x72be83d, 0x0376780, 0xd44a4a0,
7326
          0x19e0c2b, 0x3b96131, 0x7b1a689, 0x023aca3 },
7327
        { 0x82282ea, 0xf5f3687, 0x8a8b5c7, 0x4471089, 0x17a3066, 0xcd2f00a,
7328
          0x81ed681, 0x754e112, 0x0bfcefd, 0x9c6c70c, 0x3b6f29b, 0xd6aced0,
7329
          0x2817a2a, 0xe443d56, 0xe7c0012, 0xe590ef4 }
7330
    },
7331
    {
7332
        { 0x3e62e2a, 0xc2f9676, 0xb2daa26, 0x661816e, 0xdd5f512, 0x3515fd2,
7333
          0x56b6e75, 0xdc36e27, 0x74cc658, 0x0bdde46, 0x00e7644, 0x1029086,
7334
          0x1694a09, 0xfdf0045, 0xceac169, 0x454bcb6 },
7335
        { 0x6481eb6, 0xf4c92ab, 0x09750e7, 0x8b77afa, 0x6362d6d, 0xe6f4231,
7336
          0xf53a3ae, 0x0d45dee, 0xd7dcf98, 0xdac7aac, 0x125ec4a, 0x628cb7f,
7337
          0xaec0320, 0x41e8a20, 0xea2e35b, 0x7418c7e }
7338
    },
7339
    {
7340
        { 0xdf40519, 0x4d649ab, 0x3525833, 0x8cb22d4, 0x7a5333f, 0x15f6d13,
7341
          0x72c23ee, 0x8c3991b, 0x0cd44a3, 0x248b9a5, 0xccc1a75, 0x6b4c4e0,
7342
          0x15c99a9, 0x3221efb, 0x0a9c504, 0x236d504 },
7343
        { 0xd559100, 0x401c7fb, 0x07c524d, 0xcf0e075, 0x34a9275, 0x39647c0,
7344
          0xf7e8683, 0x2355422, 0xb3ae670, 0x3e0a16e, 0xad61b7f, 0x1c83bcb,
7345
          0x9ca6cbe, 0x491bcb1, 0x5e29458, 0xe668dc4 }
7346
    },
7347
    {
7348
        { 0x219379e, 0xe44c65b, 0xbb607ee, 0x211381b, 0xb7bc6db, 0xd4c7428,
7349
          0xb76a2e8, 0xba62a03, 0x8bb0b31, 0xe1729c9, 0xc6bbc10, 0x3caeb50,
7350
          0xb0187aa, 0x6c66727, 0xfb90dcf, 0xbf9d2f0 },
7351
        { 0x1184dc6, 0xec69350, 0x2698eb5, 0xd58d2a3, 0xa316b07, 0xb366d8d,
7352
          0x251c017, 0xe1e39bb, 0xadb157f, 0xbe44ba9, 0x8a8b06c, 0xbaa9a9a,
7353
          0x6e473e1, 0xd0f4635, 0x1d681c6, 0xd25a8f6 }
7354
    },
7355
    {
7356
        { 0xcb102c7, 0xba39d5f, 0xd8aa1eb, 0x66eba21, 0x697fbf4, 0xcc2591a,
7357
          0x2317f54, 0x5adb579, 0xf76c6f9, 0xa01ae71, 0x5042705, 0x2c525de,
7358
          0x4f4479f, 0xc8f4272, 0xe6d7a5b, 0x26ab54a },
7359
        { 0xdc28106, 0xda217b5, 0xeb2ae6a, 0xc7cadea, 0x53ea3b2, 0x0b16094,
7360
          0xcc6111b, 0xcddcc1c, 0xa7a7beb, 0x5c47aff, 0x0e52dab, 0xf9931bd,
7361
          0xc6dcf96, 0x5231835, 0xf27ea4e, 0x7095bde }
7362
    },
7363
    {
7364
        { 0xc33b4e2, 0xee8adae, 0x63ceb44, 0x3006651, 0x880b086, 0xf1476fb,
7365
          0x9569ce8, 0x0703328, 0x238b595, 0x2cabf9a, 0x26c8158, 0x85017bc,
7366
          0x68d5144, 0x420b5b5, 0xf9c696f, 0xa9f5f1e },
7367
        { 0xc8fec5a, 0x1409c3a, 0x28e9579, 0x541516f, 0x0e1f446, 0x06573f7,
7368
          0x2311b96, 0x3e3c706, 0x3c2ffd8, 0x0033f1a, 0xca6711c, 0x8e808fc,
7369
          0x07aef98, 0x716752d, 0x92525b3, 0x5e53e9a }
7370
    },
7371
    {
7372
        { 0x5a1c29f, 0xce98a42, 0x3ca6dc9, 0xaa70348, 0xedfa48b, 0xe77d822,
7373
          0x068abca, 0xd2e3455, 0x482cfca, 0xb456e81, 0x7fbfb08, 0xc5aa981,
7374
          0x8243194, 0x8979f25, 0x2cd043d, 0x727f217 },
7375
        { 0xaa53923, 0x7cca616, 0xe9bcb72, 0x387c5ae, 0x37580bb, 0x0173fd4,
7376
          0x75fc0d9, 0xdd7795b, 0x345deae, 0x47d1c37, 0xb0d1c03, 0x2eb5d7f,
7377
          0x958f002, 0xf7a1b92, 0x8f61b67, 0x7365cf4 }
7378
    },
7379
    {
7380
        { 0x562a5ed, 0x4b22c3b, 0x5c7cd07, 0x711216f, 0x9ba0648, 0x51f72c4,
7381
          0x0de9e6f, 0xc10d093, 0xfda63ba, 0xaca479b, 0xaf532b0, 0x4722a55,
7382
          0x7236f39, 0x8d59eb7, 0x4465c34, 0x5cad874 },
7383
        { 0x722b0c1, 0xa2119e5, 0xf343ea4, 0xb670264, 0xc19f387, 0x6910f02,
7384
          0x0381fba, 0xcfec5bc, 0x52c0a1d, 0x5f5de0d, 0x6378cb6, 0x4e474d5,
7385
          0x27e2ba3, 0x2fc8027, 0x159b541, 0xa215da3 }
7386
    },
7387
},
7388
{
7389
    {
7390
        { 0x8499895, 0xed53585, 0x65c998d, 0xa0aefd5, 0x2d5a561, 0x210d850,
7391
          0xa2cd9d6, 0xc2cc23c, 0xc4d297e, 0x2371d46, 0xd18d441, 0x88b2143,
7392
          0x043993d, 0xbebdad9, 0xad5f28d, 0x6ba91e7 },
7393
        { 0x3a731f4, 0xc2bb3f1, 0x5d0d5c3, 0xd35cfac, 0x35ac427, 0x9950998,
7394
          0x5458adb, 0x8938bb5, 0xab26f3b, 0x0bd738c, 0xa28cd8d, 0x56db3d5,
7395
          0xa1d8b4b, 0x87eb95f, 0xe7f3b4b, 0xd6700ef }
7396
    },
7397
    {
7398
        { 0xea1e57b, 0x962c920, 0x6dded6d, 0xd3be37e, 0x2c96a73, 0xf499b62,
7399
          0x6c99752, 0x3eaf7b4, 0x025590b, 0xa310c89, 0x721db23, 0x535aa4a,
7400
          0x19714a0, 0x56ab578, 0xd4048c1, 0xeecb4fa },
7401
        { 0x470c466, 0x7b79ec4, 0x1383cee, 0xc4e8f2e, 0x5750c45, 0x0f5d776,
7402
          0x725527d, 0xa3b3bc3, 0x6d00cce, 0x2f5deb6, 0x95a8d81, 0x5d5a0f4,
7403
          0xe02b824, 0x50a442e, 0x2a11628, 0xafb0446 }
7404
    },
7405
    {
7406
        { 0x0c613de, 0x72b67bc, 0xe6f0b24, 0x0150d4b, 0x8ed289d, 0x847854e,
7407
          0xa320f88, 0xe08292f, 0x29c6160, 0xd5b6da3, 0x4fb9d06, 0x2a48e2d,
7408
          0x2de087c, 0x55d9e41, 0x4f02100, 0x65683b5 },
7409
        { 0xa8886c6, 0x4dc8c2e, 0x20d6114, 0xe966dd2, 0xa57af97, 0x99745eb,
7410
          0xb854725, 0x23a9a71, 0x621a047, 0x8effe05, 0x049a4be, 0xf16d284,
7411
          0x5b0660f, 0x95828c2, 0x56e96b0, 0xd5b69ba }
7412
    },
7413
    {
7414
        { 0x4ffa0b8, 0x0b5b424, 0x096cc5e, 0x0585b45, 0xf505d37, 0x413e1ae,
7415
          0x0c7ab8d, 0xe5652a3, 0x2990120, 0xab32fb7, 0x3f09368, 0x6b8b16e,
7416
          0xefe128e, 0xbf9fadb, 0x14b7671, 0x85f366b },
7417
        { 0x090608d, 0xcb2f294, 0xac3045f, 0x25e2769, 0x6131904, 0x069c4f0,
7418
          0x329a779, 0x1c57cf1, 0xb7cace7, 0x72fe0d5, 0x0897a45, 0x04d9f43,
7419
          0x359a645, 0xbaf32f6, 0xfa7485a, 0x0fa854f }
7420
    },
7421
    {
7422
        { 0x5f56f60, 0xae3533c, 0x0ad9360, 0x9773bbb, 0x38fbe6b, 0x769b34a,
7423
          0xffb0c00, 0xb5ba8e9, 0x75472e4, 0xa939318, 0xce5f30f, 0x12cac92,
7424
          0xa9e7dbc, 0x514fc06, 0x58b4734, 0xd7ca865 },
7425
        { 0x65a730b, 0xd101ff3, 0xabe70e9, 0x92da451, 0xef7bf4b, 0xfb5f94a,
7426
          0x1d56c7b, 0x8c3ef4c, 0x8435c10, 0xb085766, 0xe7ed4cc, 0x7fbbbda,
7427
          0x24f372f, 0x1da6eaf, 0x59b8ae3, 0x0ab2c1f }
7428
    },
7429
    {
7430
        { 0xf10a4b9, 0x63a1a78, 0x0c7e510, 0xbb5278d, 0xf874142, 0x97b224e,
7431
          0xb2517b1, 0x0a9ff52, 0xc5cd920, 0x1b5a485, 0xa1823b9, 0x1a8e2eb,
7432
          0x0e914a8, 0x2b088c0, 0xcf13432, 0xe5ec3ad },
7433
        { 0x6e7e253, 0x0d6ab3e, 0x6f18458, 0x9f0f5cd, 0xf459a6d, 0x839a744,
7434
          0x1eb15f7, 0xb4b4f94, 0xc72cb14, 0xe0313ac, 0xb20472d, 0x58ee933,
7435
          0x872543e, 0x5f73d7a, 0x501f067, 0xb1700c5 }
7436
    },
7437
    {
7438
        { 0x085f67f, 0xb70428e, 0x43cabe5, 0x5441d51, 0xe0a6055, 0x4d0e8c2,
7439
          0x0882e4f, 0x8d39a08, 0xc1cb39d, 0x615bb32, 0xf7a1642, 0x113f18d,
7440
          0x250681f, 0xbab8cf5, 0x677b72a, 0x3017ba2 },
7441
        { 0x5a3a876, 0xcd2b6e9, 0x2035a69, 0x0476501, 0xefa2ea0, 0x31d6440,
7442
          0x56874d5, 0xde8f8d1, 0x0199d4a, 0xcbc71cd, 0xe7f2170, 0xc546b61,
7443
          0x112c4c3, 0x4e57e4e, 0xd1622ba, 0x58955a8 }
7444
    },
7445
    {
7446
        { 0x04e2f6f, 0x0064cd7, 0xe0edd38, 0xe9d458d, 0x7e0a5c8, 0xeb1a597,
7447
          0x01fc0a8, 0xe322ece, 0x1032a19, 0x8b9d166, 0xa89de94, 0x3e7b539,
7448
          0x001c754, 0xfa30262, 0xdb588f6, 0xe33de4d },
7449
        { 0x954eb94, 0x4dafbdb, 0x0584c1b, 0xbb43648, 0x5dbe29b, 0x622c93e,
7450
          0xf57b931, 0x968f9e3, 0x0f6453b, 0x98f03be, 0x08f696c, 0xb0ecc7f,
7451
          0xa505335, 0x5af55f4, 0xfb3fa9b, 0x028533e }
7452
    },
7453
},
7454
{
7455
    {
7456
        { 0x27e8d86, 0x3bc8e68, 0x63f105a, 0x4e43b30, 0x4981250, 0x5301b7d,
7457
          0x9f72fa8, 0x8b0a75e, 0x357348c, 0x88f59db, 0xec4208e, 0x5f0ebb1,
7458
          0xc043d3b, 0x4712561, 0xc806b97, 0x9e5ded0 },
7459
        { 0x2121d09, 0xf9bd0a6, 0xe337cd1, 0x1759ecb, 0xe945542, 0xd1acc0e,
7460
          0xbd2f63a, 0x3683feb, 0xda5dfe9, 0x44f1bcc, 0x707f22f, 0xa3606c9,
7461
          0x2d96ca5, 0x45ef064, 0x9022df9, 0xfc3107d }
7462
    },
7463
    {
7464
        { 0x44be755, 0xe81320b, 0x5c7c761, 0xdf213d5, 0xb4e5db9, 0xf43d2d5,
7465
          0x8dedcd2, 0x3bcfd82, 0xd37a9ec, 0xdf368a6, 0xf475a77, 0xfef20ae,
7466
          0x162c064, 0x22f5894, 0x0142a7d, 0x956bc66 },
7467
        { 0x7daec78, 0xaaa10e2, 0xb6e9a78, 0x3cb9b72, 0xe383f72, 0xa740bad,
7468
          0x7759007, 0xc31b401, 0xa7afc50, 0xdada964, 0xfd3d11f, 0x6bf062c,
7469
          0x5db3679, 0x9470d53, 0x03abf13, 0x3394473 }
7470
    },
7471
    {
7472
        { 0x46e5d7f, 0x533f440, 0x49048c8, 0xd1793e3, 0x1929b94, 0x59e1150,
7473
          0x8364134, 0xcddbbcb, 0x582774f, 0x795c794, 0xe03081a, 0x114dfc4,
7474
          0xef54042, 0x541ef68, 0x23f18cd, 0x159295b },
7475
        { 0x48a2c8c, 0xfb7e2ba, 0xbb6d116, 0xe2d4572, 0xd750b53, 0x7bb0b22,
7476
          0xd142ee8, 0xc58888c, 0x90c9e2d, 0xd11537a, 0xd02eb9e, 0x77d5858,
7477
          0xd444a79, 0x1fa4c75, 0xd58a68d, 0xf19b2d3 }
7478
    },
7479
    {
7480
        { 0xeb8b90f, 0x37e5b73, 0x3f2a963, 0x3737f7a, 0x9de35e0, 0x87913fa,
7481
          0x8731edd, 0xec7f992, 0x219491e, 0x6e6259e, 0x4de236c, 0xb2148a0,
7482
          0xfdd309b, 0x89700e8, 0x9f0bf80, 0x9ce51e4 },
7483
        { 0x301f17b, 0xe7ec421, 0x3bc5f4f, 0xa4b570a, 0x1285ee2, 0xc2b1b2a,
7484
          0xc53db73, 0x5e86bc8, 0xf24fa90, 0xb65fcea, 0x08ab024, 0x9e74c56,
7485
          0xf9ed877, 0x5c8003d, 0x4a2cbbc, 0xa632e9e }
7486
    },
7487
    {
7488
        { 0xc91c8b5, 0x32a4546, 0xc969363, 0xc122b5a, 0x3648b3a, 0xbbbec5e,
7489
          0x25143b0, 0xd5a365e, 0x54157ce, 0xcf3e464, 0xf9bab64, 0x9712f04,
7490
          0x04b4008, 0xc12d43a, 0x2edf1c7, 0x51932d7 },
7491
        { 0xb2f8470, 0xaef1655, 0x6c24ace, 0xaa8e3f3, 0x6b4e761, 0x7da75da,
7492
          0xb90bca2, 0xd371827, 0x0afb45c, 0x84db450, 0xef46b5d, 0xae12045,
7493
          0xd962f98, 0x91639a5, 0x72f2ac0, 0x669cbe6 }
7494
    },
7495
    {
7496
        { 0x83a4356, 0x851bb31, 0x9a1bf15, 0x7d436bf, 0x120b378, 0x46a3f0e,
7497
          0x3f5b357, 0x9302abc, 0x93fef53, 0x1e06726, 0x5fd2ee9, 0xb12f4a9,
7498
          0x7de9433, 0x94a884c, 0xa6f2874, 0x2645234 },
7499
        { 0xcdb8dfa, 0x6fb56f5, 0x9e0ee4e, 0x4a17dfc, 0x83ab01e, 0xe269d83,
7500
          0xb77c10f, 0xda932da, 0x0321243, 0x463af0c, 0x16fc8a3, 0xbe1d682,
7501
          0x48b39e3, 0x2eae3ea, 0x3b03e7b, 0x9423021 }
7502
    },
7503
    {
7504
        { 0xb22f28a, 0xaeb507c, 0x49a6b44, 0xa77458b, 0xc03dc17, 0x232ed5a,
7505
          0x9c61ac6, 0x79dfc16, 0xcd71b93, 0x7c48be9, 0xc429cd9, 0x983d68a,
7506
          0x98ae2c8, 0x7709c47, 0xa5df075, 0xe4765c0 },
7507
        { 0x3367f33, 0x23c4deb, 0x37d72a7, 0xbdf2b7e, 0x0af2d26, 0xbaab5c7,
7508
          0xfd026ab, 0xd609f7f, 0x541b039, 0x23b72b2, 0x83be852, 0x8d06bac,
7509
          0xcb23d1c, 0x911d4a9, 0xfb0dbd7, 0xeae815c }
7510
    },
7511
    {
7512
        { 0x2c33481, 0x487c35c, 0xb6136db, 0xffab636, 0xa3d3aa4, 0xccd4dae,
7513
          0xc3704e0, 0x87149bb, 0xc0e8396, 0x9de8119, 0x58e7ca6, 0xd49357a,
7514
          0x1562d75, 0x6878918, 0x5ab1fad, 0xc745381 },
7515
        { 0x02c9b91, 0x0f15798, 0xb1ddde5, 0x7ffc3f0, 0x6aae50d, 0xa01d5e0,
7516
          0xe279873, 0x6a97e65, 0xb5b1b41, 0x4bcf42f, 0x32f5982, 0x1c6410f,
7517
          0x50701c8, 0xd4f7600, 0x873b90d, 0xff02663 }
7518
    },
7519
},
7520
{
7521
    {
7522
        { 0xe5b2de2, 0xdc53ea2, 0x38acecb, 0x94b352d, 0x0d9d5e5, 0x37d960b,
7523
          0x90bd997, 0xabd868f, 0x35a7376, 0x781668f, 0x10118bf, 0x043d597,
7524
          0xf57928a, 0xd4da719, 0x983e46c, 0x01942f6 },
7525
        { 0x728bd76, 0xab97fc8, 0x4b5c1c5, 0x825956b, 0xc82a104, 0x202809f,
7526
          0xc8e3132, 0xdb63e9c, 0xc2181af, 0xa41c701, 0x43e066a, 0xd280180,
7527
          0x24044ce, 0xc734e41, 0x505193c, 0x4d9ab23 }
7528
    },
7529
    {
7530
        { 0xf9f0c3f, 0x0bcd42a, 0xb94a218, 0xda21a46, 0x0ffc788, 0xe55243c,
7531
          0x47a5551, 0x318aae6, 0x79af9cb, 0x8c2938b, 0xec1dce5, 0x5d15232,
7532
          0x8ad2e5c, 0x3d310ba, 0x94f792a, 0xd3d9724 },
7533
        { 0x12a9553, 0xdeb4ca1, 0xeb54d9d, 0x2f1ed04, 0x69fb7a1, 0xaa9c9cf,
7534
          0x54dcd3a, 0xeb73c3a, 0xf5f201f, 0xee3eddc, 0xba7d234, 0x35f9e1c,
7535
          0xd2e242f, 0x1d1d04c, 0x0df7515, 0x48df9d8 }
7536
    },
7537
    {
7538
        { 0xa81dd9a, 0x4ecc77d, 0x03aa015, 0xa6ac4bb, 0xbbc4fed, 0x7645842,
7539
          0x9d6cf52, 0x9ae34cd, 0x5917e0b, 0xf8ff033, 0xc2cc175, 0x7c9da37,
7540
          0xaaacfbe, 0x1e74dcc, 0x7999af8, 0xa8f2df0 },
7541
        { 0x102a466, 0xd06c4ea, 0xae190dd, 0x2156e87, 0xec4a863, 0xc95db8a,
7542
          0x244a6fe, 0x49edffd, 0x904f81e, 0x110fae6, 0xa1cd104, 0xbaa3e50,
7543
          0x0478b65, 0x5bd38a2, 0xdaefbcc, 0x2b57d05 }
7544
    },
7545
    {
7546
        { 0x86f4534, 0x1ce92ba, 0x414f5e3, 0xb2a8592, 0x9979436, 0xdd7a4c6,
7547
          0x3f0add7, 0x7599aff, 0xe2d4f64, 0xe0ce4d3, 0x401a29f, 0x74475cc,
7548
          0xa2377d9, 0xaef6541, 0x3f917b6, 0x54048f5 },
7549
        { 0x05312ec, 0x1b86b22, 0x31493cb, 0x779ba22, 0xaac9320, 0xc718369,
7550
          0x617fce4, 0xeab01a8, 0xf7187fa, 0x17b1f10, 0xa1aca46, 0xe68eda0,
7551
          0x2586342, 0x61033fe, 0x0b6ca43, 0xfc14e79 }
7552
    },
7553
    {
7554
        { 0x13d2491, 0x9f22319, 0x7997202, 0x66bdb53, 0x4617f34, 0x0bafb0c,
7555
          0xf3bb7b3, 0x5917831, 0xb45bddb, 0x6feb2a6, 0x0202c19, 0x08662b3,
7556
          0x05852f6, 0x0bc2b57, 0x91818c2, 0x2c00fd4 },
7557
        { 0xda37dac, 0xca7672c, 0x5a30865, 0xfe4c04c, 0x322e92a, 0x5f1399f,
7558
          0x25b1beb, 0xe7d67ea, 0xdce7f68, 0xe08b014, 0xf2f2b3c, 0x24df52a,
7559
          0x750ecd1, 0x2028b23, 0xc810a45, 0x9b25d4b }
7560
    },
7561
    {
7562
        { 0x7a9d799, 0xa35b715, 0x01f9c99, 0x6da1eb3, 0xe363ba8, 0x33ef91c,
7563
          0xce140da, 0x21c0e2e, 0x158cd84, 0xb0b11bf, 0x93da438, 0x6a87442,
7564
          0x3db585b, 0x924f10d, 0x10c6159, 0xf5ddd73 },
7565
        { 0x6a74c21, 0xb72dcb8, 0xcc8f79f, 0x6d14198, 0x9c5a8d6, 0x99f4b6c,
7566
          0x90e135c, 0x0639688, 0x83f6385, 0x330edb8, 0x9079675, 0xe1a5a6b,
7567
          0xb8f5fe0, 0x6e37fa8, 0x61dca1e, 0x60e2fd9 }
7568
    },
7569
    {
7570
        { 0x66c395e, 0xc6cb403, 0xb51d0f1, 0x03b21a7, 0xe693181, 0xbc478a5,
7571
          0xc6cff33, 0x0017c2f, 0x39d8d1e, 0x740a5b8, 0x4d9ec6d, 0x3968d66,
7572
          0xb0ef1b0, 0xfd53738, 0x1ed0a04, 0x73ca8fd },
7573
        { 0x75ab371, 0x4ace938, 0xddad7e9, 0xd602936, 0x750bcc2, 0x1f5424a,
7574
          0x68c7a17, 0xfe09b36, 0x58341ec, 0x165f7de, 0x6ce61e5, 0x95b825a,
7575
          0x66c83c4, 0x9d31e19, 0xcc5887b, 0x65b3e08 }
7576
    },
7577
    {
7578
        { 0x21482d1, 0xd37e932, 0x08b6380, 0x9af6597, 0x7d61e4b, 0x279426a,
7579
          0x80997ad, 0x80dd0ec, 0xd5b76d4, 0x7239b0d, 0xe76c098, 0x92e6c73,
7580
          0xeab3e1d, 0xeeb2321, 0xeb1a910, 0xa69c4a7 },
7581
        { 0x833d9ae, 0x46d6aa7, 0x572b0fe, 0x3ee6957, 0xcdb3d97, 0x44ccbed,
7582
          0xcbea01b, 0x342f29d, 0x8926876, 0x0d518c5, 0x5585d2c, 0xaaabae7,
7583
          0xe008f58, 0xc548c77, 0x21fab2c, 0x819e2fa }
7584
    },
7585
},
7586
{
7587
    {
7588
        { 0xc16e981, 0x468e149, 0x9ddbb7c, 0x286c790, 0xdb7a38a, 0x2a92d47,
7589
          0x8a27cb2, 0xde614e6, 0xe5b0ab6, 0x8dc8822, 0xcf48565, 0x38441ae,
7590
          0x089435b, 0x11ed5c9, 0x82d0d31, 0x2389286 },
7591
        { 0x72f2f31, 0xc6698d4, 0x56d76af, 0x295242c, 0xeba563b, 0x4099205,
7592
          0x3ab7384, 0xae7de5a, 0xd0ed86c, 0xccdf127, 0x965c3c3, 0xb9b6d5b,
7593
          0x2c31ad7, 0xe351a8f, 0xac12f13, 0xa761dd8 }
7594
    },
7595
    {
7596
        { 0xf171ab7, 0xda115dd, 0x401f93d, 0x2de17b1, 0x40964b4, 0x95019ca,
7597
          0x65ba3c3, 0x169d1f4, 0x0090d08, 0x534a007, 0x82bf410, 0x805c5e2,
7598
          0x65f8d90, 0x15dfe11, 0xca72456, 0x827a416 },
7599
        { 0x33a36c4, 0x5af8884, 0xd8ee604, 0x8bfa54c, 0x9ce290f, 0x08fd141,
7600
          0x287b3a6, 0x2db5e8c, 0x03cdad2, 0xe5be981, 0xbf810b9, 0x155b874,
7601
          0x670f473, 0x2ae42de, 0x7f74657, 0x2218584 }
7602
    },
7603
    {
7604
        { 0x23ffa43, 0x54b2a50, 0xa24d919, 0xcf87b16, 0x63524e8, 0x1ff5402,
7605
          0x56d1e54, 0x73c94e0, 0x3899fb5, 0x7651552, 0x18723bf, 0x13a7214,
7606
          0x3561517, 0x39afbdd, 0x9f2862e, 0x49b790a },
7607
        { 0x527d2ce, 0xc8c1f4f, 0x7609bb7, 0x1997aec, 0x02a3400, 0x583ad80,
7608
          0x4f79706, 0xac2374e, 0x21b7183, 0xbf1f9a8, 0x6600fe0, 0x06158ab,
7609
          0xbd56751, 0xfcc9b2e, 0xddaaec7, 0xe1de5ac }
7610
    },
7611
    {
7612
        { 0x788fdab, 0x230baa1, 0x7d04597, 0xf30860a, 0x99f4caa, 0xa2c7ece,
7613
          0x6ad065e, 0xbd39f10, 0x3bef7bd, 0xfd92f5d, 0x96d2203, 0x6069fad,
7614
          0xc4d9e0d, 0xbff38ca, 0x1fda313, 0x419a017 },
7615
        { 0x572f035, 0x5d77fd8, 0xb282b40, 0x5af99f2, 0x23facff, 0x7257d3b,
7616
          0x58c90af, 0xf2ee223, 0x9b6a52a, 0xcc2687d, 0x302430e, 0x140892c,
7617
          0x3ec4f38, 0xa934d5e, 0x3bd18be, 0xc087d7c }
7618
    },
7619
    {
7620
        { 0xa2c5ed7, 0x7e94138, 0x53610bf, 0xbc8ceef, 0xd86f803, 0xe89356b,
7621
          0x5a55330, 0x9a3a380, 0x11ad648, 0xe894aba, 0xba95918, 0x2e68fba,
7622
          0xfcad344, 0x643e2ba, 0x61640aa, 0x0dd0256 },
7623
        { 0xe25cbdd, 0xc02e479, 0x13a1b3f, 0xd78c4d8, 0xcca9692, 0xa6dae8f,
7624
          0xe5de8a0, 0x3dd91e9, 0x764ea36, 0x78ae0ce, 0x85dbc5e, 0xb4ad999,
7625
          0xe82a169, 0x967ff23, 0xbaee1fc, 0xaeb26ec }
7626
    },
7627
    {
7628
        { 0x9a6f90c, 0x8c50255, 0x0ea374a, 0x56e7abe, 0x56413b2, 0x675c722,
7629
          0x946753f, 0xd3fc17e, 0xe235f7c, 0x28c4e1f, 0xb028eb0, 0xe209bcd,
7630
          0x489fe88, 0x7d0f93a, 0x063706a, 0xb966a2e },
7631
        { 0x4a30319, 0xb6c228c, 0xca6d674, 0x6868efe, 0x057311a, 0x0610a70,
7632
          0xbad7f89, 0x0808112, 0x1dd6181, 0x2a2462c, 0xb58e88a, 0x52ed9fe,
7633
          0x33821a2, 0xbbff16f, 0x17f882a, 0xda53e96 }
7634
    },
7635
    {
7636
        { 0x8c30e5d, 0xb6ffca3, 0x5c905f5, 0xa90f991, 0xd753e88, 0x72fb200,
7637
          0x7256c6a, 0xe509d4c, 0xd866500, 0x369e552, 0x33cf8ae, 0xee4b7e0,
7638
          0xefcf6eb, 0x280d954, 0xd557f0e, 0x5b275d3 },
7639
        { 0xb5cecf8, 0xeb17211, 0xbdb2f8d, 0xd6ad50f, 0x35e04b7, 0x2478c7b,
7640
          0xac73bd3, 0x97e7143, 0x4817e24, 0x09d6ede, 0x2c405e1, 0x68fea71,
7641
          0x05f67a1, 0x34adbc9, 0x73edf99, 0xd20ab70 }
7642
    },
7643
    {
7644
        { 0x569f191, 0xe116a96, 0x4d6e29a, 0xb3f0bce, 0xf51dbab, 0x30b9e1a,
7645
          0x346d276, 0x1dd36f3, 0x0749a27, 0x8315103, 0xab47f70, 0x242f148,
7646
          0x5585681, 0xe8a5bcf, 0x5ed79ba, 0x8b80184 },
7647
        { 0x3894ad1, 0xa4042fd, 0x2b88bc6, 0x82f781d, 0xbe4c397, 0x2d34cac,
7648
          0xdd99c9f, 0x8731aea, 0xef1d382, 0x0f95498, 0xdd0bbc9, 0xcaba2e1,
7649
          0x54064e8, 0x78889e9, 0x61a8ab9, 0x8cd9c97 }
7650
    },
7651
},
7652
{
7653
    {
7654
        { 0xfa0459e, 0xf31f53f, 0x315cd6b, 0xf8742a1, 0xae64e97, 0xabe2f50,
7655
          0x9b9da48, 0xbd78741, 0x51e526e, 0x4521a33, 0xe10ba45, 0xfa05935,
7656
          0xe8f903c, 0x5c947e1, 0x5a754ee, 0x0aa47d1 },
7657
        { 0xd814825, 0xb2849ef, 0x5c9968d, 0x9c2a5d2, 0x04e634c, 0x24dbb26,
7658
          0xdb38194, 0x33f3a4c, 0xc8a2b6b, 0xe04f609, 0xabbbfdb, 0xcaefd8e,
7659
          0x404498b, 0x683119a, 0x8b21cbd, 0x24ab7a9 }
7660
    },
7661
    {
7662
        { 0x21fa2dd, 0x6f13269, 0xc10a4bc, 0xd79e61c, 0x4bd6d46, 0xac4b3ce,
7663
          0xbd3f37b, 0x52459b6, 0xa396966, 0xce0f0a3, 0xa1ed488, 0x050d1d5,
7664
          0xe0b17fa, 0x1b9c403, 0x04a2e66, 0xee1abd0 },
7665
        { 0x5cf3e3b, 0x97065c3, 0xbe33441, 0x6513d5f, 0x79047ae, 0xcd34634,
7666
          0xfd22df1, 0x45cbb1c, 0x967b17c, 0x7a173ae, 0x2223cda, 0x75f5ba7,
7667
          0xefe0a73, 0xe3d12db, 0xfd7adcf, 0x3b7f94d }
7668
    },
7669
    {
7670
        { 0xf1e9b7d, 0xd596a13, 0x6734e0c, 0x04f5bdd, 0x8be163a, 0x18b694f,
7671
          0xd959fa3, 0x15620c7, 0x53d2a3b, 0x65fc2c5, 0xc4d36f2, 0xd44a364,
7672
          0x268ceab, 0xc8b421f, 0xbfe2bd4, 0x564139a },
7673
        { 0x19d4633, 0xb524610, 0x6346934, 0x5ab3f88, 0x9819422, 0x96691fe,
7674
          0x8b39b82, 0xdfdec89, 0x97cfb27, 0x84b1c79, 0x4d6d004, 0xe59a98d,
7675
          0x12c350f, 0x5e5d0c6, 0xd415774, 0xb431220 }
7676
    },
7677
    {
7678
        { 0x6aae0a2, 0x3d0ca73, 0x48c2d8c, 0x7b1991f, 0x5cdae72, 0x00ae856,
7679
          0xbd55128, 0xdbb6ca0, 0x45c82bf, 0x3c2ab2a, 0x79545ca, 0xea5a559,
7680
          0xd5927d0, 0xeba9a26, 0x83257fc, 0xb52e401 },
7681
        { 0xca9650a, 0x55ed517, 0xe3ebff2, 0xbdaa081, 0x9f8831b, 0x8cf7ce4,
7682
          0x6e3b8d3, 0x1d0b5bd, 0xd8fc869, 0xa314a9f, 0xb892bab, 0x07f2079,
7683
          0xa0cc9d9, 0xb700dbf, 0x6dc0a39, 0x7105a08 }
7684
    },
7685
    {
7686
        { 0x8c7d901, 0x0c7e05d, 0xaf3182b, 0xa7ff681, 0xf9a0d06, 0xb88e3ca,
7687
          0xc343b7f, 0xfe20a12, 0x03251f9, 0x9f02577, 0xc40c5eb, 0xf225ded,
7688
          0xb208ea7, 0x50e0cec, 0xe6eeb65, 0x5b250f0 },
7689
        { 0x4806b6e, 0x807a153, 0xfa94139, 0xded120a, 0x49366fb, 0x237ddc7,
7690
          0x5a34bcb, 0xdd3674e, 0x9c4a61d, 0xef6cdff, 0xb2fb896, 0x036194b,
7691
          0x9528cd9, 0x3865953, 0x6936a52, 0x0723c59 }
7692
    },
7693
    {
7694
        { 0xe17719d, 0x1f84cd5, 0xc73b394, 0x545939b, 0x83e84e7, 0xefbf3c5,
7695
          0xf77fd66, 0x6cc46f1, 0x1383ab8, 0xa629f59, 0xcd35cd2, 0x9177ffa,
7696
          0x9dd411b, 0x039187f, 0x7b7eea8, 0xa9cf1cf },
7697
        { 0xac47e5d, 0xa3b105a, 0xd0a9da4, 0xa755bea, 0x73da15e, 0x50cfbae,
7698
          0x60b628c, 0x9456cbc, 0x9b7a910, 0x7ffc362, 0xcd6d6a4, 0x30b5924,
7699
          0x0b04ab6, 0x198629f, 0x624dea9, 0xc74609c }
7700
    },
7701
    {
7702
        { 0xaf12fa6, 0x27d4d77, 0x690aeb2, 0xdd8a216, 0xfe24417, 0xe48fc02,
7703
          0x720e17e, 0x1970403, 0xce37b42, 0x95013fd, 0xde4bd9b, 0x06817d2,
7704
          0x63d0ba2, 0xc5863e7, 0xa556f5d, 0xa1bafc0 },
7705
        { 0x410a78a, 0xf28ec7b, 0x0a01a63, 0x0dcac42, 0xb5bce11, 0xfcd3fa4,
7706
          0xd278b89, 0x054d7e5, 0x5ce49e3, 0x5195db8, 0x2c73d96, 0x4c0b167,
7707
          0x20a1bdb, 0xd943077, 0x59c77a7, 0x66fa8b3 }
7708
    },
7709
    {
7710
        { 0xd7462fe, 0xb9e93ae, 0x18dde4f, 0xbfe54b2, 0x3dbb08e, 0xaabb528,
7711
          0x0e5fc45, 0x8c36702, 0x8e69be3, 0x3502888, 0xc12a11d, 0x6d2efc1,
7712
          0xf265e30, 0xfce5ceb, 0x5742c7e, 0x58c8bb3 },
7713
        { 0xccf7fa0, 0x32e89dc, 0xdd020a4, 0xa811f33, 0x5129fe5, 0xa10d620,
7714
          0xe4ed29b, 0x3841c88, 0xd8b1ea6, 0xf3303a9, 0x1781f58, 0xa9a0cad,
7715
          0x8f3ef0b, 0x4502b38, 0x74c6d35, 0x2b7587e }
7716
    },
7717
},
7718
{
7719
    {
7720
        { 0x23ae7cd, 0xc6eaea1, 0x73c0caa, 0xa1884d4, 0xef1ea88, 0x901e76f,
7721
          0xa14269d, 0xdb9935c, 0x947f1de, 0xe8b2486, 0xa657588, 0x4ad56f4,
7722
          0x2913fb1, 0xe768054, 0x37600da, 0x2abff5d },
7723
        { 0xa81a797, 0xa814813, 0x46acb69, 0x63e76a4, 0x4ab8277, 0xb103839,
7724
          0x9d8e759, 0x587de34, 0xddf62df, 0xdfaeb8d, 0x9239d49, 0x24fe1cf,
7725
          0xe130d1c, 0x7de7409, 0x581d070, 0x3ecfef9 }
7726
    },
7727
    {
7728
        { 0xf87c72d, 0x8d177a0, 0x8c6d1de, 0xae7e581, 0x8cece85, 0x0077b5f,
7729
          0x32d2187, 0x3824838, 0x6db2bd2, 0x49d8b15, 0xc8d85b9, 0xe9e5513,
7730
          0xe05c53f, 0x63c410c, 0xd86f752, 0xceaf2fb },
7731
        { 0x93806c5, 0x0b432fe, 0x3d06c75, 0x18eb15d, 0x12cfc02, 0xcaad826,
7732
          0x1e2d045, 0x581e040, 0x95edcfd, 0xd573cb5, 0xdbc66e3, 0xce71948,
7733
          0xacc14ea, 0xcf68721, 0x6cac4dc, 0xf68bea2 }
7734
    },
7735
    {
7736
        { 0xcb74da2, 0xd8576af, 0xc433f46, 0x8771c29, 0xe2f5b8e, 0x7315af6,
7737
          0xba33928, 0xc195481, 0x2fb1f94, 0xb77dcc2, 0xa610f75, 0xcb3e57c,
7738
          0x53907df, 0xeb2a927, 0x23eff95, 0x916f149 },
7739
        { 0xb6cd291, 0xbb378e4, 0x2f13ce1, 0xa2a5e2b, 0xbcd00b0, 0xa8a0e60,
7740
          0x682b75a, 0x5902741, 0x3f65a77, 0xa0882c9, 0xc93cfff, 0x2069f75,
7741
          0x70c0cb9, 0x1ede405, 0x0d526c4, 0x13840c9 }
7742
    },
7743
    {
7744
        { 0x03ced48, 0xdc2caaa, 0xa0315be, 0x2079219, 0x3b1f642, 0xca49356,
7745
          0xb0665f2, 0x0202dc7, 0xb7a5238, 0xe5d6bbd, 0x26eab32, 0x36fbd5e,
7746
          0xf5819b4, 0xb3988f1, 0x4aa4d69, 0x5b15dc8 },
7747
        { 0x54e5c24, 0xa52feed, 0xe91a797, 0x927471b, 0xd57f677, 0xd119bfd,
7748
          0x78e4c4f, 0xde38f7b, 0xb150bc3, 0xa7af516, 0x26b76c2, 0x403b21e,
7749
          0x92300dc, 0x589067d, 0x066802a, 0x04e406a }
7750
    },
7751
    {
7752
        { 0xa9ca9bb, 0x28e7d09, 0xfccf4a0, 0xaa84fd5, 0x635b7ed, 0xdbe9fb8,
7753
          0xd56fc7c, 0x9ede3f5, 0xb01cb29, 0xa4b5031, 0x7f93703, 0x584299d,
7754
          0xb6fe825, 0xbd28868, 0x8b9c2d9, 0x1d385d4 },
7755
        { 0x822be80, 0x6606f4a, 0x626d0fd, 0xb5a0165, 0x14568ad, 0x9920a20,
7756
          0x1c6d174, 0x7d430f4, 0xe02e9e9, 0xc243e16, 0xa6bd649, 0x367f1d2,
7757
          0x71b8c36, 0x6939100, 0x4de2984, 0x2ede131 }
7758
    },
7759
    {
7760
        { 0x5beec32, 0xdc78187, 0xa525ff4, 0x1fff0cc, 0x676df34, 0x6e86425,
7761
          0x3f638e1, 0x2b4e8a6, 0x9b1e59f, 0xc4991d2, 0x1589717, 0x399d001,
7762
          0xbe041cd, 0x406464e, 0x9e65bb0, 0x901cb3d },
7763
        { 0xfb42307, 0xf5f4572, 0xf1b7307, 0xf81b3b0, 0xf2094d1, 0x8fb695c,
7764
          0xdb56f7b, 0x7db4792, 0x5a794e0, 0x36836d5, 0x09bc879, 0x2da477b,
7765
          0x1887c40, 0x1cdfadb, 0xf2699b6, 0x65dc6c2 }
7766
    },
7767
    {
7768
        { 0x4737972, 0x36f9f21, 0x7a387b0, 0x48f0c8b, 0x39a1d24, 0xa156ed3,
7769
          0x0fed268, 0x375293a, 0x7ff75cb, 0xf679f48, 0x1cc9e62, 0xd15a00f,
7770
          0x22c3877, 0x92a7dc7, 0x6fb0ed4, 0xe987063 },
7771
        { 0x16f5f3c, 0xfd8e59c, 0xaeeb48e, 0x375732e, 0xca1ab42, 0x2dd9213,
7772
          0x9ffccea, 0xcb06209, 0xb23edfd, 0xfc611f6, 0x99b060e, 0x2716349,
7773
          0x820de8a, 0xb938b5d, 0xeb49a32, 0x138f6e7 }
7774
    },
7775
    {
7776
        { 0xe485f70, 0x7feda63, 0xeb27b2c, 0x646380a, 0xc4511c7, 0xcf8fe32,
7777
          0xff9406a, 0x2c68e1e, 0x20b6020, 0xa9f2fd9, 0x3b3e465, 0x1c98fc6,
7778
          0x93e53aa, 0xb8dac35, 0xa750e96, 0x2fb47b6 },
7779
        { 0x1950bb3, 0xea373ef, 0x4ac7aec, 0x8156694, 0xb55b931, 0x8d6b3c2,
7780
          0xb62ef7d, 0x5d13f2d, 0xab9182b, 0x4647f2a, 0x33bf07c, 0x8f56c5a,
7781
          0xb35a221, 0xc5ab284, 0x5a46a6b, 0x0747ab7 }
7782
    },
7783
},
7784
{
7785
    {
7786
        { 0x86b85c5, 0x5b9236c, 0xc482448, 0x5967a0d, 0x7df6ae0, 0x397c955,
7787
          0x5378f2b, 0xf83ee1c, 0x6e05dd1, 0xf82df65, 0x19d7c8b, 0x4c424f6,
7788
          0xa6d5f2a, 0xa612550, 0x63c3ebf, 0xfe8482a },
7789
        { 0x0142c82, 0xcb8d403, 0x3679e6c, 0x08b0662, 0x3eca5ee, 0x3ea5146,
7790
          0x1370500, 0x089eb3b, 0x5a0d306, 0xcbfb19c, 0x42a65bb, 0x2f68588,
7791
          0xe51e119, 0xe3e1db5, 0x110895e, 0x2c150e7 }
7792
    },
7793
    {
7794
        { 0xf6d4c4c, 0xf323488, 0x63b87e2, 0x5fc931f, 0x35c759f, 0x8867da0,
7795
          0x9746d4c, 0xb6f1eff, 0x990be0a, 0x8a8172d, 0x5c407b4, 0x1113eee,
7796
          0x378ed8a, 0xd80dacf, 0x3fa7fd1, 0x99b57cf },
7797
        { 0x5176405, 0xf5bb6d9, 0x92e83b5, 0x6b8963a, 0x8a7ef8d, 0xac55b6b,
7798
          0x6c1fbf0, 0xe73fa12, 0x60148df, 0xdb37560, 0xf3f1fba, 0x72f1a98,
7799
          0xea550f2, 0x1f71d0a, 0x9544a87, 0xc3ea4f0 }
7800
    },
7801
    {
7802
        { 0x4322bf3, 0x5b09da2, 0x61264e1, 0x2a573d5, 0x803acc4, 0x93cb2e1,
7803
          0xe502fc6, 0x397b4fb, 0x39e0ebc, 0xddfb212, 0xbbcbc57, 0xeccd8f5,
7804
          0x4663788, 0x49d3bed, 0x1218df9, 0x37192aa },
7805
        { 0x2ffa3c6, 0x8a05bc9, 0x23ebf4d, 0xc38c281, 0xfe343a8, 0xc80d547,
7806
          0x6c63516, 0xa8d5a5b, 0x8d8fa6b, 0xc5d8ce1, 0x24a87c0, 0xeb5e872,
7807
          0x75bfa23, 0x9806e9e, 0x689469a, 0x11f0889 }
7808
    },
7809
    {
7810
        { 0x8e75666, 0x81005f6, 0xd349505, 0xb84d861, 0x9f321ea, 0xe083282,
7811
          0xcfa33a1, 0xb751d7a, 0x067c550, 0x793cf6f, 0x1027e56, 0x073a6b2,
7812
          0x66a6012, 0x53f40ee, 0xc210fa9, 0x70bfaa8 },
7813
        { 0xe4b5998, 0x1518e39, 0x24b8d9c, 0x8f0b530, 0xafdf923, 0xd91c281,
7814
          0x24e3f69, 0xc5cfb28, 0x870871f, 0x63a529a, 0x2128dad, 0x3d3e887,
7815
          0xcb30cce, 0xed658dc, 0xafb7bae, 0xf9373b9 }
7816
    },
7817
    {
7818
        { 0xde58ed2, 0x22d4dbe, 0x03f8789, 0x4fefc1d, 0x344817f, 0x6b0a1fe,
7819
          0xa56b0b2, 0x96bef40, 0xda249fa, 0x32684ee, 0x524a91b, 0x8298864,
7820
          0x0c736a1, 0xa958baf, 0xef2f3e5, 0xd033a7d },
7821
        { 0x43f4d6a, 0x5be3edc, 0x9c89abb, 0x326a39d, 0x55d997a, 0x90c44f7,
7822
          0x6e966c2, 0x2058106, 0x6548038, 0xdbae490, 0xd473fc1, 0xac7bc97,
7823
          0x4b2603a, 0xb34488b, 0x5e9bb98, 0x27aea27 }
7824
    },
7825
    {
7826
        { 0x1b88773, 0xa59e728, 0x0c241f6, 0xe2f05d4, 0x4e75749, 0xa56229e,
7827
          0x1b10705, 0x8f00c0b, 0x19394d3, 0x8559946, 0xaaf5e32, 0x0d7e352,
7828
          0x787b8ea, 0x526c462, 0xa179d48, 0x89297d9 },
7829
        { 0xef43892, 0xeff17e6, 0x221f841, 0x17091eb, 0x4a4b848, 0x82f5eb3,
7830
          0x8eb7b76, 0x6bea477, 0x76c536c, 0x21f2271, 0x96c81bb, 0xd9ef2c8,
7831
          0x54bf4d3, 0x7c27546, 0xd7c28c8, 0x9dd4662 }
7832
    },
7833
    {
7834
        { 0x20e1a6b, 0xe7fff00, 0xa08d467, 0x26a35c6, 0x3248c91, 0xb3c773d,
7835
          0xba7d935, 0xa646615, 0xb0d26fa, 0xa91f453, 0x60c6d32, 0xdcf9c34,
7836
          0x9e3e3dc, 0x6366861, 0xf30f3e2, 0x3012813 },
7837
        { 0xc2fc61a, 0xac6623d, 0x2bfd2ff, 0x108dc25, 0x231d6ea, 0xd7f5c0d,
7838
          0xad1107e, 0xa904f9a, 0x0d1e9c8, 0x46941c2, 0xc810cf2, 0xe5b6451,
7839
          0x4f511d1, 0xaba8e67, 0x08373fe, 0x5b4b94f }
7840
    },
7841
    {
7842
        { 0x849c230, 0x002d4e2, 0xd8ba391, 0x9bed0ef, 0x828e319, 0x745e0c0,
7843
          0xca58de2, 0xcd40907, 0x1abaa4a, 0x2c87ab1, 0xdb64391, 0x3c17a97,
7844
          0x86c72d2, 0x36b184e, 0x485f7aa, 0xb03d202 },
7845
        { 0xde24aba, 0x2b6b79b, 0x2325fb2, 0xdcb7854, 0x66ebae2, 0xf5d1db9,
7846
          0x903840a, 0x35a4d5b, 0x190e9da, 0x7afeb09, 0x35c1792, 0x1818f6a,
7847
          0x3faa269, 0x90091fa, 0x2570235, 0xc4ccff6 }
7848
    },
7849
},
7850
{
7851
    {
7852
        { 0xec85940, 0xa177619, 0x7ef7eee, 0xfca24db, 0x7a90c11, 0xb2450f3,
7853
          0xdbf4f85, 0x29d256d, 0x51316c3, 0x920c8d0, 0x04474da, 0x2f7f7ba,
7854
          0x2ec9a0b, 0x308117f, 0xd0d2085, 0xd0a231a },
7855
        { 0x7ab641d, 0xf3288fc, 0x9f4fa32, 0xc68bade, 0xbbf8253, 0x768f014,
7856
          0xc0a33f0, 0x5eff260, 0x6bb93ce, 0xc71b453, 0x680697f, 0xa71d045,
7857
          0xce72bc3, 0xb62444c, 0xd1379f3, 0x11f03e8 }
7858
    },
7859
    {
7860
        { 0xc16df92, 0x1f54789, 0xe3ed142, 0x874c642, 0xfa2a9f1, 0x6699f60,
7861
          0x3fecfc1, 0xbd1b8d3, 0x8a3d953, 0x59682d5, 0x4a36b81, 0xf17c021,
7862
          0x181a666, 0xeb9621d, 0x3cf1ad8, 0x7c2c3ab },
7863
        { 0xe529f7c, 0xe6888c3, 0xb355315, 0x197b66a, 0x83e31ac, 0x63b558a,
7864
          0x891c68e, 0x4aa7bc5, 0x592e360, 0xc17d989, 0x1363666, 0xc750a29,
7865
          0x4909ac0, 0x0d53470, 0x4594a10, 0xd6d0272 }
7866
    },
7867
    {
7868
        { 0x3fbb635, 0x35c541b, 0x5982afa, 0x50016d0, 0x96b0ca0, 0x58ebce4,
7869
          0x577ea56, 0xb940027, 0xe38480f, 0xf29d305, 0xebd6a2c, 0x43705b0,
7870
          0xe90c639, 0x0e4acda, 0xf56e05e, 0xbe94a29 },
7871
        { 0x30659ad, 0xc61f4a0, 0xc402211, 0x39074ad, 0x51b621d, 0xfe0d8d5,
7872
          0xd1d5222, 0x2d02e8d, 0x46c2683, 0x05ece3c, 0xc689d41, 0xf70705a,
7873
          0x4d837bf, 0xe3caf44, 0x75ba6d0, 0xfda0584 }
7874
    },
7875
    {
7876
        { 0xcb7d458, 0x1098163, 0xf5ba834, 0x12b645f, 0x28af72c, 0x70a3181,
7877
          0xf32e5dd, 0x5f4727e, 0x10a21b4, 0x7cbae15, 0x6785389, 0xa80bf80,
7878
          0xb8f93b7, 0x9827402, 0x08349da, 0xe385f82 },
7879
        { 0x9589f6e, 0x2d05461, 0xe7c0191, 0x6aa5b26, 0xbd5574d, 0xe79ae12,
7880
          0x4148e61, 0x5d13f91, 0x13716ff, 0x7b2be0f, 0x80bb81f, 0x82b0fe6,
7881
          0x3e2569c, 0x697633c, 0x873f8b3, 0x6c1f083 }
7882
    },
7883
    {
7884
        { 0x0be1674, 0x6e26d85, 0xab8044f, 0xe4e47f6, 0x82fc434, 0xfdf46e8,
7885
          0xc89cadc, 0x639ae2c, 0x4b85bdc, 0x2244a52, 0xb7cf4ea, 0xb1e4790,
7886
          0x7e0bb8f, 0x51dce03, 0x2716cee, 0xdd14335 },
7887
        { 0x8e8841d, 0x1c049b4, 0xb97c621, 0x6bf26dc, 0xba01178, 0x21d6255,
7888
          0x8e4f0e4, 0x477258a, 0x68f8ef1, 0xf5e437e, 0x8b03e1e, 0xd118fbc,
7889
          0xe1c91b3, 0x3d6bc51, 0xd5b6907, 0xa259486 }
7890
    },
7891
    {
7892
        { 0x7b6f5dc, 0x4159cfc, 0x493694a, 0x05a52b3, 0x83b8883, 0xeeb511c,
7893
          0x2b06400, 0x19d79e4, 0x738f37e, 0x8e503a2, 0x5a94ad9, 0xa30e579,
7894
          0x262618d, 0x3981c75, 0x2dcba19, 0x06b6c69 },
7895
        { 0x4d1b051, 0xd7242ee, 0x3b350c4, 0x6274ccb, 0xf540019, 0x66df0bb,
7896
          0x5ae12d5, 0x4d66be6, 0x1049cba, 0xcea2960, 0x8df84b3, 0x4047339,
7897
          0x75a31c8, 0x7d6c96b, 0x874174c, 0xbb80159 }
7898
    },
7899
    {
7900
        { 0x59f1aa4, 0xf0f7be0, 0xdcff451, 0x798f39a, 0x8014e1e, 0x96763ff,
7901
          0x09cc5ec, 0x03987a8, 0x893650a, 0x4919656, 0x75e24df, 0x92e8eef,
7902
          0xe89d639, 0x54e97cd, 0x7682cc0, 0x8081d06 },
7903
        { 0xa8ceb71, 0xb9ef41a, 0xa4d7aaa, 0xb8173a4, 0xc54ee10, 0x93d81b1,
7904
          0x70a445a, 0xabe1805, 0x64d569d, 0xac0ff97, 0x3e570be, 0x86946b2,
7905
          0x4180641, 0x8e11dd2, 0x99f67dc, 0x3d0b33c }
7906
    },
7907
    {
7908
        { 0x48bf5a4, 0x2c9637e, 0xccaf112, 0x9fdec19, 0x5c42023, 0xe5cde9d,
7909
          0x878f0cc, 0x9869620, 0x1fe6eba, 0xcf970a2, 0x54e678b, 0x1df5ec8,
7910
          0x28d00dd, 0x4667f01, 0xb0b3fa8, 0xfa7260d },
7911
        { 0xb34239b, 0x6bd2895, 0x2d2a50d, 0x04c8bc5, 0x6cb23e2, 0x14e55ef,
7912
          0x3a278d5, 0x6440c27, 0x2193046, 0xf4b12e3, 0x5dd4c08, 0x46adf64,
7913
          0x4656e8c, 0x70e2998, 0xe4acd44, 0xe7b36ea }
7914
    },
7915
},
7916
{
7917
    {
7918
        { 0x16cf664, 0xea64a57, 0x26fd357, 0x8497ee4, 0x814e851, 0x44d94b4,
7919
          0x5a6a2cf, 0xf4aac22, 0x80c301f, 0x947b309, 0x7865383, 0xf390ba1,
7920
          0xd1773d3, 0x16c4fc6, 0x6227220, 0x61b9814 },
7921
        { 0x1dd0270, 0x07dd03a, 0x0f160df, 0x290ca82, 0x44ba955, 0x8f22054,
7922
          0x0b6f1b3, 0x4e85e45, 0xad78089, 0xfd73ce9, 0x2f2cb0e, 0x67c1270,
7923
          0xee33a61, 0xa7de0d7, 0x6553261, 0x6a811cc }
7924
    },
7925
    {
7926
        { 0x2d0a427, 0x5ef0574, 0x220a341, 0xe8d2e95, 0x8044886, 0xdd28cbf,
7927
          0xa1aa58b, 0xdad7b4b, 0x8ec901b, 0xb28f373, 0x5bbe3db, 0x1841a93,
7928
          0xa075fee, 0x8fd7cd1, 0xc0d3cdd, 0x93b603f },
7929
        { 0x5edd859, 0xca54fd5, 0x64ed687, 0xa4cb05f, 0xed1a3d7, 0x3138668,
7930
          0xee32be5, 0x1224fda, 0xc80aeb3, 0xf1f532b, 0xe8d4d69, 0xa4f65d0,
7931
          0x5905fe5, 0xc697a01, 0x6690ce4, 0x514da7a }
7932
    },
7933
    {
7934
        { 0x3de4a55, 0xc7b9af8, 0xb318d93, 0xc79bad7, 0xf5b1c83, 0x1808071,
7935
          0xb965b16, 0x92112ef, 0x7bb740a, 0x655ab38, 0x384ff87, 0x53dbc8b,
7936
          0x72dc6f2, 0xd153c28, 0x99c7819, 0x2ec20e1 },
7937
        { 0x3b854b5, 0x65e46ea, 0xc711db5, 0x272d5ae, 0x26e19e8, 0xfd1bb53,
7938
          0x3dc0665, 0x33280b8, 0xb8f1c4a, 0x95b986e, 0xa685c4a, 0xa671fc4,
7939
          0x83bdbbf, 0xa03cbd5, 0xab77544, 0xd329402 }
7940
    },
7941
    {
7942
        { 0x8e62b35, 0x40fa651, 0xf9e55a6, 0x3913b11, 0x5270a41, 0x4e8089b,
7943
          0x80d1886, 0x565f52a, 0x512749b, 0x93b5f05, 0x141c547, 0x35c869c,
7944
          0xf86717f, 0x9a44a1a, 0x9c2b2cb, 0x2b9984b },
7945
        { 0x4952322, 0x61fb607, 0x7af1464, 0x2d4072f, 0x600eb30, 0x9b2fa8c,
7946
          0xf10668e, 0x6071fb7, 0x90634ca, 0x27cc24d, 0x471d32b, 0x3875bc2,
7947
          0xa11210c, 0x678590b, 0xfcc5a9a, 0x352b447 }
7948
    },
7949
    {
7950
        { 0x5fa3200, 0x795d541, 0xa92949f, 0xadaa557, 0x3cc88c4, 0x42fff06,
7951
          0x71b68a5, 0x26d6831, 0xe67ad8c, 0x3286549, 0x86396b2, 0x5bf6363,
7952
          0xe12c8ea, 0x41229b6, 0x748952e, 0x05320c9 },
7953
        { 0x900b460, 0xae36b63, 0xf2b6aff, 0x9354ff2, 0x065ee0c, 0x10b810b,
7954
          0xcc8bb38, 0x4d6925f, 0x7a22f14, 0x31c03fd, 0x57544e8, 0x76b7f44,
7955
          0xc0eed26, 0x3a9123c, 0xe0cd1cc, 0x77acd67 }
7956
    },
7957
    {
7958
        { 0x07ec527, 0x2e90530, 0x62937cf, 0x32388ef, 0xe229188, 0xa445389,
7959
          0x33bcebe, 0xa44b68e, 0x4c4e701, 0x5a8722e, 0xcf07e41, 0xfd066e8,
7960
          0x95fab62, 0xa3c1a4f, 0xe542f24, 0xb4d6a1b },
7961
        { 0xaf6c9b5, 0xe6a92e4, 0xc83d61d, 0x9452484, 0x0062276, 0x422b55b,
7962
          0x5279688, 0x261973a, 0x3999fb2, 0xde8be26, 0x7b029ca, 0x64e9628,
7963
          0x06897d4, 0xd8edfaa, 0x6955511, 0x408319c }
7964
    },
7965
    {
7966
        { 0x50a5632, 0xff6baed, 0x5c5885a, 0x922b7d0, 0x1b45864, 0xdf0f3b3,
7967
          0xc04340e, 0x27e49c0, 0x122c447, 0x618c566, 0xeafee7e, 0x7863a38,
7968
          0xb828cb0, 0x7143aff, 0xf9d054e, 0x51fcf4c },
7969
        { 0x27f5e09, 0xc4a4b31, 0x90be2bd, 0x021f47a, 0x7ab956d, 0x1a06019,
7970
          0x86ea86b, 0xe77fa15, 0xd550ef3, 0x9ccde87, 0x6532654, 0x7dee53a,
7971
          0xe826387, 0x8b4f060, 0xad077b5, 0xda38637 }
7972
    },
7973
    {
7974
        { 0x0e9fac8, 0xbc901b3, 0x6fb2a2a, 0xfa08204, 0x5e04efc, 0x92f68ab,
7975
          0x9ac12d0, 0x184a30a, 0xb25d479, 0x1aa11aa, 0x0f03161, 0x8bc5f4c,
7976
          0xcfc8817, 0x7e3a083, 0x597f93f, 0x84d9355 },
7977
        { 0x239abc6, 0xc014478, 0x8d37b04, 0xb226b09, 0xf575789, 0xb056942,
7978
          0xba745eb, 0x816b95a, 0xb98ddb6, 0x2a49d39, 0x291af81, 0xc41ca26,
7979
          0xab26347, 0xb3afe99, 0x604b638, 0x59c31bc }
7980
    },
7981
},
7982
{
7983
    {
7984
        { 0xc42befd, 0xa16a8b9, 0x2052f00, 0x731c9c9, 0x1f5dfa0, 0x1ad49b4,
7985
          0xbffce36, 0x7a289e3, 0x0c79cf1, 0x868fac0, 0x86721ab, 0x6d6d284,
7986
          0xe726c94, 0x590f928, 0x51f3841, 0x0e802cb },
7987
        { 0x0b694bc, 0x6a6a57a, 0x8120fb8, 0xb9bb0cd, 0x9c05826, 0xad96ac7,
7988
          0x7768df0, 0x294da8c, 0xb56c6c6, 0xfe32311, 0xae8d050, 0x291c2c6,
7989
          0xe7db4c9, 0x1c765e7, 0xd65f9f7, 0xe058298 }
7990
    },
7991
    {
7992
        { 0x7e8d345, 0x4bfa85b, 0xde1dfc8, 0xa04ef95, 0x324ace3, 0xb5f7f21,
7993
          0x574b14a, 0x4b350a1, 0xf8e5c8d, 0x11436bf, 0x7642369, 0x1c789f9,
7994
          0xfb623ce, 0xeb5e335, 0x442d562, 0x9deacd2 },
7995
        { 0x531ee71, 0x4ff989f, 0xaacb52a, 0x43e2c49, 0x85bfadc, 0xa763198,
7996
          0xd0161a0, 0x08b6d5c, 0x541f197, 0x010e3fa, 0x3279a16, 0x83a589e,
7997
          0x6309f9b, 0xf099137, 0xf1cea10, 0x07c093b }
7998
    },
7999
    {
8000
        { 0x33d2192, 0x1ce3f0f, 0xc37ce73, 0x07b559a, 0x207be27, 0xaa2ad38,
8001
          0x7ed93de, 0x84f053b, 0x3b98a4b, 0xbc5c797, 0x63aa9b9, 0xc923461,
8002
          0x231a10c, 0x807cc16, 0xa061209, 0x8ffdf57 },
8003
        { 0x497070f, 0xa9ca741, 0xd113b3a, 0xf608ec9, 0x8d0384d, 0x5132726,
8004
          0xf5ec307, 0x96686ac, 0x71c4665, 0x437bbbd, 0x7c379ca, 0xdef09d5,
8005
          0x621747c, 0xf8be033, 0x8ae8047, 0x2775b37 }
8006
    },
8007
    {
8008
        { 0xb2c4fc2, 0x4009798, 0x203772e, 0x148d7d1, 0xf8423fb, 0x9d9392d,
8009
          0xaf8cef4, 0xa5bd72e, 0x4380b53, 0x579d58d, 0x8c39d24, 0x2ff88f1,
8010
          0x5706466, 0x9ca2fbc, 0x1e56af2, 0xb42987d },
8011
        { 0x5d94ea8, 0xcc2556e, 0x5369d76, 0x4e5c2b3, 0x2a94f9c, 0x5de3574,
8012
          0x5cb4145, 0x8d068c9, 0x51bfcbf, 0x4d553ff, 0x8a23fce, 0x3ab7164,
8013
          0xd0fa7f3, 0xc9cb3a9, 0xed9ced1, 0xf81209b }
8014
    },
8015
    {
8016
        { 0xe5b66f5, 0xde7356e, 0xe8a25e0, 0x7b2bf1a, 0x2c9b725, 0x09a444a,
8017
          0x4906c55, 0xfd8a2f4, 0x82514f3, 0x409cc80, 0x28999a9, 0x47e0099,
8018
          0x6a312f4, 0x0a582a6, 0xf6723de, 0xf7946f8 },
8019
        { 0x92d8aff, 0xa55f6ba, 0xa544b1c, 0xb62c3c8, 0x5c16a94, 0xa1d1411,
8020
          0x2ad5e71, 0xc378319, 0x06b1dd6, 0x13d7847, 0xee7ff55, 0x99005f8,
8021
          0x8a1e7d8, 0xfb5ea3f, 0xb4cac39, 0xdc7f53c }
8022
    },
8023
    {
8024
        { 0x36e3794, 0x482abaf, 0xc74684f, 0xc23e9e5, 0xf1629be, 0x4544cf6,
8025
          0x2f40374, 0xd8a8ee5, 0xf433bdb, 0x2eea87f, 0xae9990e, 0x489a99c,
8026
          0x54b23b6, 0xefc131e, 0x8600270, 0x25fe699 },
8027
        { 0xc059a7e, 0x03d2d9e, 0x6979c3c, 0xa6445b5, 0x9bfbcea, 0x491a10c,
8028
          0xe937af1, 0x15b5974, 0x797c7fc, 0x4be8002, 0xfedcfee, 0xbed8a49,
8029
          0xa9e0691, 0x35751ce, 0x9ef5982, 0xe9a9fa3 }
8030
    },
8031
    {
8032
        { 0x3065de7, 0xeffeaca, 0xac4d4e2, 0x841d544, 0xcaf199f, 0x8144679,
8033
          0x443967a, 0x98cf4f9, 0xf33183c, 0x8cd57f4, 0xc1b15eb, 0x390832a,
8034
          0xa53b500, 0xc4b1fea, 0xdff24b5, 0xd762a10 },
8035
        { 0xb0ee2a9, 0xccd3eed, 0x362d485, 0xa6dd4a9, 0xf1d047a, 0xeb4ff26,
8036
          0x23860fc, 0xc0771fd, 0x4b64114, 0xdbb4e39, 0x4d29b29, 0x2ff3f24,
8037
          0x387b365, 0x9cac005, 0xde5994a, 0x05b7aa6 }
8038
    },
8039
    {
8040
        { 0xc03dd63, 0x5e71752, 0xbc74687, 0xad10fe9, 0x54c76ab, 0x51a5b0c,
8041
          0x1f586d4, 0x763fd50, 0x816048b, 0xc7bd5ce, 0x3f744dc, 0x8fc83d2,
8042
          0x109df9a, 0x0561802, 0xccf0e43, 0x18fb01f },
8043
        { 0x038ab23, 0xe4606fc, 0xa664c98, 0x5878f1f, 0x5da7356, 0x3aedbbd,
8044
          0x516746a, 0x3c578f5, 0x1a17210, 0x259477f, 0x028248f, 0xc7a869d,
8045
          0x48cbf95, 0x6517a61, 0x3d04d47, 0xbc5f91d }
8046
    },
8047
},
8048
{
8049
    {
8050
        { 0x083ca53, 0x15fd9a9, 0x2697ca6, 0x1161da0, 0x56b676c, 0xf516af3,
8051
          0x75eec13, 0x8a420d5, 0x1a9526b, 0x72d6742, 0x76b463f, 0x8d8c29e,
8052
          0x8815627, 0x38a4f58, 0xe0650f9, 0xf7e528b },
8053
        { 0x382edca, 0x2cfa78e, 0xc4ad83c, 0x638d183, 0xe4a0119, 0x96d3b9d,
8054
          0xa7c1101, 0x5769ccb, 0x2b8d04a, 0xc3b3b79, 0x4951bde, 0x96212f6,
8055
          0x481161e, 0xad7905a, 0x41c5edf, 0x8fd6762 }
8056
    },
8057
    {
8058
        { 0x39d6cde, 0xf7b0635, 0x115a84a, 0x69d0549, 0xcbd9fe4, 0x4a976c6,
8059
          0x950ff96, 0xc92953f, 0x654d127, 0x1d7f0fe, 0xda0f75d, 0x7293870,
8060
          0xcf2277f, 0x7bb3652, 0x834484f, 0x64798c9 },
8061
        { 0xac3a76c, 0xb94d8bf, 0x7ff776b, 0xf5721a9, 0x2722e31, 0x23a6e9f,
8062
          0x9a5c034, 0xe9da996, 0x456ebc3, 0xb9bbf83, 0x96956a4, 0x239f58a,
8063
          0x18b7f00, 0x8b75beb, 0xa51cb97, 0x6c2b5b8 }
8064
    },
8065
    {
8066
        { 0x7eb41f3, 0x78b1c62, 0x17c4352, 0x0638fcf, 0x0c5709c, 0x939edd8,
8067
          0xedc906c, 0x0a8dfc3, 0xefb01ed, 0x3942f47, 0x49986fe, 0x4c82757,
8068
          0x4dffa57, 0x792545c, 0x6c3ff26, 0xeee6883 },
8069
        { 0x12b1218, 0x824d08e, 0x902457f, 0x515a478, 0xbae55b3, 0xc70cc9c,
8070
          0xbcef9d4, 0x1240737, 0x2f9db7f, 0xf22e616, 0x91f8da2, 0x98c4f02,
8071
          0xafaaa67, 0xa89219c, 0xe7d27e2, 0xf35fd87 }
8072
    },
8073
    {
8074
        { 0x01b80d0, 0x19b0cd7, 0xf9aebd1, 0x3d7e29d, 0x0477cbc, 0xd39c9ca,
8075
          0x5ff0d3d, 0xac0f615, 0x520fd01, 0x8a51993, 0xb22d6fb, 0x508ff54,
8076
          0x318d3ab, 0x8786c47, 0x4a683f8, 0x4312c46 },
8077
        { 0x95359f6, 0x73b1d39, 0x963011e, 0x0d94fa5, 0x9bfe83e, 0x5723af2,
8078
          0x6841df3, 0xafa9001, 0xb7c498a, 0x791e92a, 0x7ea4253, 0xbc931ad,
8079
          0xb783c06, 0x438e016, 0x2ca662b, 0x1347db2 }
8080
    },
8081
    {
8082
        { 0xfbaa861, 0x41df37d, 0x329e4de, 0x98ecb23, 0x507e018, 0xdaf1560,
8083
          0xb088e32, 0xa902269, 0xe4cab2f, 0xad898a5, 0x02c1e1b, 0xd84e9ed,
8084
          0x8488af3, 0xc20a5d5, 0x6cc77c6, 0xc7165af },
8085
        { 0xdeb7461, 0x8526f3a, 0x4a2d332, 0x03577b1, 0xe4760b5, 0x28e469d,
8086
          0xb276266, 0x442c7f9, 0xf9c90fa, 0x90d5c77, 0x3e211bd, 0x7aa8716,
8087
          0x5decfd6, 0x56d8ff0, 0xee23e6e, 0xa204b56 }
8088
    },
8089
    {
8090
        { 0x4aceafc, 0x2e4374e, 0x6fcd5e5, 0x978743b, 0xc4855ca, 0xa0f6345,
8091
          0xe98074b, 0x9bc7e4f, 0xc33d08a, 0x3835d57, 0x6f00566, 0xeec7c8b,
8092
          0x1acf55c, 0x71628a2, 0x97fb19e, 0x5da3750 },
8093
        { 0x01a7125, 0x6904a8e, 0xe6e3780, 0xad33c85, 0xc19f94a, 0x1702928,
8094
          0x7c04b3d, 0xb424ff2, 0x19e2ba3, 0xb212e39, 0xc9af4c9, 0x4cca8e8,
8095
          0xfd9bf0e, 0x98ab7ae, 0x9799db5, 0x21d245d }
8096
    },
8097
    {
8098
        { 0xec08806, 0x6b034dc, 0xb40f2d9, 0xfd763f2, 0x29cb906, 0x5e16de0,
8099
          0x8a0e16a, 0x02b7014, 0xe071e12, 0x463c8ee, 0x25ad509, 0x6447281,
8100
          0xdc0e07a, 0x9ee6f2d, 0x68d4d97, 0x188895c },
8101
        { 0xb27f971, 0x092fff3, 0xc9b7722, 0xb3c159f, 0x3cae42d, 0xe27d8ff,
8102
          0xe87071d, 0xf8a5ed6, 0x607ebd2, 0x318388f, 0x53486f1, 0x924967b,
8103
          0x7c46e1f, 0x7730494, 0xf21d196, 0xf279c60 }
8104
    },
8105
    {
8106
        { 0x84f3201, 0xef2bc03, 0x1f94c51, 0xf8750c7, 0x986ec65, 0xbaa4f5a,
8107
          0x2732a33, 0x6f8a5de, 0x299e365, 0x0f13d80, 0xe85261f, 0x2709530,
8108
          0xf527d56, 0x097d922, 0xbe1f3f8, 0x4969687 },
8109
        { 0x3e1708d, 0x9f3f504, 0x4aa4be4, 0xac67b87, 0x320a87e, 0x75fb042,
8110
          0x6e2cad6, 0xa361ad3, 0x203e9f6, 0xcb01470, 0xc9b76c6, 0xe3807b7,
8111
          0xb907c09, 0xf086833, 0x7e85a01, 0xe9bed3c }
8112
    },
8113
},
8114
{
8115
    {
8116
        { 0x91780c7, 0xa7ea989, 0xd2476b6, 0x04e4ecc, 0xc494b68, 0x0af9f58,
8117
          0xdee64fd, 0xe0f269f, 0x021bd26, 0x85a61f6, 0xb5d284b, 0xc265c35,
8118
          0x3775afd, 0x58755ea, 0x2ecf2c6, 0x617f174 },
8119
        { 0x5ec556a, 0x50109e2, 0xfd57e39, 0x235366b, 0x44b6b2e, 0x7b3c976,
8120
          0xb2b7b9c, 0xf7f9e82, 0x0ec6409, 0xb6196ab, 0x0a20d9e, 0x88f1d16,
8121
          0x586f761, 0xe3be3b4, 0xe26395d, 0x9983c26 }
8122
    },
8123
    {
8124
        { 0x6909ee2, 0x1d7605c, 0x995ec8a, 0xfc4d970, 0xcf2b361, 0x2d82e9d,
8125
          0x1225f55, 0x07f0ef6, 0xaee9c55, 0xa240c13, 0x5627b54, 0xd449d1e,
8126
          0x3a44575, 0x07164a7, 0xbd4bd71, 0x61a15fd },
8127
        { 0xd3a9fe4, 0x30696b9, 0x7e7e326, 0x68308c7, 0xce0b8c8, 0x3ac222b,
8128
          0x304db8e, 0x83ee319, 0x5e5db0b, 0xeca503b, 0xb1c6539, 0x78a8dce,
8129
          0x2d256bc, 0x4a8b05e, 0xbd9fd57, 0xa1c3cb8 }
8130
    },
8131
    {
8132
        { 0xd95aa96, 0x5685531, 0x6bd51ff, 0xc6f1174, 0xc9c2343, 0xb38308a,
8133
          0x2921841, 0x52ee64a, 0x78f3b01, 0x60809c4, 0xae403ac, 0xe297a99,
8134
          0xcb09a5b, 0x7edc18f, 0x81ac92a, 0x4808bcb },
8135
        { 0x34dc89a, 0x3ec1bb2, 0x4e39da5, 0x1e8b42e, 0xe526486, 0xde67d5e,
8136
          0x76f0684, 0x2376548, 0x285a3dd, 0x0a583bd, 0xfe9b009, 0x3d8b87d,
8137
          0x0413979, 0x45bd736, 0x38a727f, 0xb5d5f90 }
8138
    },
8139
    {
8140
        { 0x4bde3ee, 0x7b8820f, 0x24d5170, 0xea712ef, 0xdf6ec7b, 0x517f88c,
8141
          0x983ea9a, 0xb15cecf, 0x31a4592, 0x9eeee44, 0xebb013e, 0x786c784,
8142
          0x1f4e15d, 0x2f06cb3, 0x4f4fda1, 0x5603fd8 },
8143
        { 0x9e1321f, 0xf6790e9, 0x74a4c09, 0x274c66a, 0x9a41a4e, 0xa4b70b4,
8144
          0xada5157, 0x7700bdd, 0x51be8dc, 0xe54a60d, 0x1a477e0, 0xfaf9276,
8145
          0xb027eac, 0x6661c72, 0x280b917, 0x50e2340 }
8146
    },
8147
    {
8148
        { 0x96ec123, 0x635f40f, 0x7a766a4, 0x4a33133, 0xb935587, 0x9ce4416,
8149
          0x95d97e4, 0xbb6e1f5, 0x9d4197d, 0x2614723, 0x490e896, 0xabd4478,
8150
          0x8bba895, 0xf6a1b2a, 0x5e27a45, 0x401fa40 },
8151
        { 0x0620900, 0x7354ba5, 0x385678b, 0xc443a29, 0x53cf5fa, 0x48aba10,
8152
          0xbbe152d, 0xd67e723, 0x2a63d68, 0x4b858e0, 0x72be4ee, 0x174e1ee,
8153
          0x9ab8d46, 0xad0fbb3, 0xce17dd7, 0xa0fdffb }
8154
    },
8155
    {
8156
        { 0x9c46fd8, 0xa1ea325, 0x9fb96ef, 0xeca122e, 0x6767acd, 0xf9074a2,
8157
          0x2787082, 0x9b004a2, 0x7f3ba8e, 0x389f807, 0x0d5aabe, 0x6463de9,
8158
          0xb090585, 0xf30ceaa, 0x5634ab8, 0x71b31e8 },
8159
        { 0xaf02aed, 0x0dee65c, 0x20ac252, 0x506886e, 0x86b8a59, 0x0665f78,
8160
          0xf2bb328, 0xb9b784d, 0xdc6b089, 0x46e443a, 0x66c27fd, 0x3d5de19,
8161
          0xf0fde70, 0x0419265, 0x2b5c034, 0xed94612 }
8162
    },
8163
    {
8164
        { 0x13b0056, 0x5a52ad2, 0xb909ee3, 0x9fbeb92, 0xbdaab08, 0xb42ba18,
8165
          0xffc8a77, 0xec127c4, 0xfda906a, 0xc6d2985, 0x994bbe7, 0x5355547,
8166
          0x9cdfd62, 0xa7470c0, 0xd2e675a, 0x31a3971 },
8167
        { 0xcc8b356, 0x8d8311c, 0x01b4372, 0xabb0bf8, 0x0294566, 0x33c1cad,
8168
          0xe07b672, 0xe2e649c, 0x2ae3284, 0x9084d88, 0x1835ce2, 0x7a90d4c,
8169
          0x809d44c, 0xb4d1cd5, 0x9f0528f, 0x7822714 }
8170
    },
8171
    {
8172
        { 0xbf5844b, 0xca884cf, 0x8524cf9, 0x9dd05c4, 0x36ba889, 0xdbffa19,
8173
          0x29e7666, 0xef94fdd, 0x3eaf48f, 0x358f81b, 0x1530d56, 0x96734d5,
8174
          0x4adf9e5, 0x378b2d1, 0x4731f61, 0x2f85046 },
8175
        { 0x99dcb83, 0xd6ae905, 0x6199239, 0xa4f89e0, 0x8f0f958, 0x6405249,
8176
          0xcc27707, 0x2866d99, 0xf551c0f, 0x64681a2, 0x4c37080, 0x2c7b0d0,
8177
          0x00ac301, 0x218925b, 0x54df895, 0x8d57fb3 }
8178
    },
8179
},
8180
{
8181
    {
8182
        { 0x809c8d7, 0xdaebde0, 0x0e95ea1, 0x58c761c, 0x00ae5e2, 0xbd99650,
8183
          0xcd51acd, 0x6117a85, 0x7c55d56, 0xc4424d8, 0xdfbeeaf, 0xe9b1dde,
8184
          0x0db4791, 0xda98bb5, 0x3fca108, 0xff3a5a6 },
8185
        { 0x5ccbea1, 0x172fb8e, 0xa9f6cc9, 0x9fe12a7, 0x8967ce2, 0x1de4b0b,
8186
          0x671dbc6, 0xc1ab60f, 0x5dedcda, 0x338385a, 0x3a043fe, 0x647a420,
8187
          0x28ebc89, 0xe9abc64, 0x03ba3c8, 0xc357ff0 }
8188
    },
8189
    {
8190
        { 0xde39ebd, 0x37061e7, 0x2be567a, 0xebb9135, 0xd6bb80a, 0xa9a6f6b,
8191
          0x99f0ba2, 0x039345d, 0x98bbf47, 0x215494e, 0xa2a1ccb, 0xf2cb7a4,
8192
          0x37f67c9, 0xf51aa10, 0x17fff71, 0xd29c85c },
8193
        { 0x4d30b87, 0x8d4e4f2, 0x93a8309, 0x20fdf55, 0x757075c, 0x9b9f9cf,
8194
          0xcd70101, 0x09142ad, 0x766ca55, 0x901d0ee, 0x32e418b, 0x6a5d86a,
8195
          0xd7fcaec, 0x550ad92, 0xd91b26e, 0x64e8818 }
8196
    },
8197
    {
8198
        { 0x47e5ee5, 0x5cea0f7, 0xbe99699, 0x8ca1d31, 0x5c136c7, 0x52db846,
8199
          0x90e0d74, 0x8cecb38, 0xede2ad8, 0xb8efe9d, 0xf17ade8, 0x18d6ff8,
8200
          0x2d66c20, 0xd222735, 0xf2005fd, 0xc46593e },
8201
        { 0xf7141e1, 0xe5ebe6f, 0xe0126f2, 0xc968315, 0x1cb91b6, 0x95adc73,
8202
          0x38a6003, 0x753b54c, 0x4230a61, 0xa614125, 0x559fece, 0x23ac6eb,
8203
          0x3865c23, 0x9816b60, 0x543a570, 0x567014e }
8204
    },
8205
    {
8206
        { 0xdd2b71f, 0xd46091d, 0x97d24ff, 0x3999a5d, 0x1ecff3c, 0xce2a4f1,
8207
          0x581c6f0, 0xab2687c, 0xcba70b4, 0xa9fb2eb, 0x42093e1, 0x6fde356,
8208
          0xaee724a, 0x00253ec, 0x2b81bdd, 0xa08ce3c },
8209
        { 0x935a2b3, 0xa251238, 0x584f750, 0x8cae1d4, 0x988a219, 0x011469e,
8210
          0x5a6a50e, 0x61f7ed3, 0x01fcebd, 0xe13ebaa, 0x31d8867, 0x794b976,
8211
          0xcda32e7, 0xf25755c, 0x4564cd1, 0x368a97b }
8212
    },
8213
    {
8214
        { 0xaa3397b, 0x0d22224, 0x38066db, 0x1dbb3e6, 0x0ce8e32, 0xfe0b5ee,
8215
          0x7bab4dc, 0x09c17c8, 0xf188b64, 0x5cc65dd, 0x211b5fa, 0x74c4abf,
8216
          0xab0ba86, 0xdcc17b7, 0xa535501, 0xfbdf46f },
8217
        { 0xaca569e, 0x4775087, 0x06a1718, 0x6575f90, 0xb94de93, 0xb5c45a9,
8218
          0x8497171, 0x0fc8006, 0x489f7ab, 0x775d965, 0xf5c0c89, 0x8775b58,
8219
          0x1a06254, 0x05d4e20, 0xb6d73a5, 0x8cab349 }
8220
    },
8221
    {
8222
        { 0x39465b0, 0xca78163, 0x14498fd, 0x3ef9148, 0x6255c11, 0x9ca1f34,
8223
          0xb7f38f1, 0x389fd15, 0x354b8f3, 0xdac2089, 0xa840a70, 0x82d07fc,
8224
          0x1dd483a, 0xf53fd73, 0x1590578, 0xa6e4eae },
8225
        { 0x3c01b77, 0x7bf65af, 0xa75c982, 0x27542f3, 0x716cfce, 0xc5bd947,
8226
          0x884b9e7, 0xba5fe76, 0xd55725d, 0x39bae14, 0xfae0eab, 0x982f64e,
8227
          0x7a5293a, 0xcfae662, 0xd60f464, 0x22a25a1 }
8228
    },
8229
    {
8230
        { 0x7dd5e16, 0x74caecc, 0xce7bca3, 0x23678a2, 0x57f1ba1, 0x4673932,
8231
          0xa4c1697, 0x4eb9948, 0xeaba18d, 0x5d400e8, 0x9807871, 0x128d1c8,
8232
          0xbff38a6, 0x78f9627, 0xa39d4cc, 0xf80b813 },
8233
        { 0x31d3aad, 0x8aeefa0, 0x27db664, 0x5042199, 0x4cb6383, 0x244fc69,
8234
          0x72192a3, 0x3190477, 0xbbfb57b, 0xcc86075, 0x4451511, 0xbae3a13,
8235
          0xf6174f0, 0x16cf416, 0xd376813, 0xb343cc0 }
8236
    },
8237
    {
8238
        { 0xd1824b7, 0x31ac9b9, 0xec8f61a, 0x6282260, 0xc781765, 0xbbeb9f8,
8239
          0x2d110da, 0x06ab5c0, 0x47146b8, 0xd583e22, 0x4100d05, 0x79a1608,
8240
          0xf0a5c95, 0x16dbbb4, 0xe331667, 0xfe2af1d },
8241
        { 0xaf8710e, 0x26f0364, 0xeec08fe, 0x1cb8c91, 0x1d95e9f, 0x436bce6,
8242
          0x57944a0, 0xfe9050c, 0x07b626b, 0x5f45acf, 0x9cf1276, 0x48dc93f,
8243
          0xa05bfb7, 0x4491371, 0x4bcf785, 0x5106304 }
8244
    },
8245
},
8246
{
8247
    {
8248
        { 0xed0b3b6, 0xac2e294, 0x671637b, 0x5c5ade6, 0x1140677, 0x2f289ce,
8249
          0x754eb53, 0xaf446e2, 0x20421ad, 0x70911b7, 0xe0b7556, 0x4b73836,
8250
          0x2a97827, 0xcadf104, 0x8005bc6, 0x4824e49 },
8251
        { 0x937c28a, 0xb0eeccd, 0x0c3ee97, 0x1ce061d, 0x9f33faa, 0xcb07631,
8252
          0xaea66dc, 0x9980bf4, 0xd111d98, 0x2bd0755, 0x7fe4de0, 0x43feaf6,
8253
          0xb077b2f, 0xe76fb80, 0x5793b04, 0x227dc9f }
8254
    },
8255
    {
8256
        { 0x14f49ba, 0xea24ae5, 0x11436e7, 0xbc39ea6, 0x78485d8, 0x9d7fed2,
8257
          0xdf8b131, 0xb6ef00c, 0xfdbc7af, 0x0237b4b, 0x64ccd27, 0x08745b5,
8258
          0xafc5a76, 0xaf8595d, 0x29f5500, 0x43657af },
8259
        { 0x48470f8, 0x3007183, 0x640fd53, 0x51f91fd, 0xbe15512, 0x859c807,
8260
          0xab3e9c5, 0x7d1a474, 0x81553e5, 0x5d714d9, 0x6f62310, 0x0757343,
8261
          0x6b02a62, 0xedc5be0, 0xea47832, 0x5a4b9b7 }
8262
    },
8263
    {
8264
        { 0xe93dbb3, 0x03e0a24, 0xcadc884, 0x25841dc, 0x8d10ad5, 0xabc1a81,
8265
          0x2042ddd, 0x207e38a, 0xfeba8d8, 0x7fffbdb, 0xa3ec9b5, 0x74efebb,
8266
          0x0b40a9f, 0x0bc39ca, 0x0267feb, 0x69ee9c9 },
8267
        { 0xbc62919, 0xd402fac, 0x1cf53c6, 0xe9f8fc1, 0x7cc7d81, 0xe76fa5a,
8268
          0x96bb19d, 0x4f2d876, 0xadc67c7, 0xd4fb7f9, 0x96702dc, 0x40621d5,
8269
          0x438f6c5, 0x5b6a98e, 0xf1a1036, 0xa7c64de }
8270
    },
8271
    {
8272
        { 0x9a092c7, 0x84c5e80, 0x11c22b7, 0x9e40e0a, 0xd06c99b, 0x820a091,
8273
          0xeecca8f, 0x45fdc77, 0x5794f16, 0xfe1b8a3, 0x4ce3d6d, 0x31f7e5b,
8274
          0x82c74c8, 0xfd5e010, 0xc1f6f7d, 0xfdabf30 },
8275
        { 0xb9248a0, 0xbfa6017, 0x546b941, 0xe898d30, 0x207ff65, 0x878c492,
8276
          0xb874e64, 0xbf22e8d, 0x53a547e, 0x43fdb1b, 0x5fbd464, 0xb66deda,
8277
          0xc7ae1b5, 0x59127a6, 0x6a7515a, 0xa463646 }
8278
    },
8279
    {
8280
        { 0xde9ab2e, 0x22c4e66, 0x0203c58, 0xfaf60c2, 0x0d5c5ed, 0xed2d7bf,
8281
          0x4ca0f19, 0xdbc16fe, 0x465b979, 0x54e8ef6, 0xa310ef9, 0xe2d64b1,
8282
          0x3778636, 0xa0f2c95, 0x281883b, 0xf3b4aa4 },
8283
        { 0x9be6629, 0x4ac9af0, 0x1ca90c5, 0xba455e1, 0x856f492, 0x0147538,
8284
          0xabd7840, 0xc80db7e, 0x6beb9cd, 0xb3526d9, 0x9d81503, 0x37657fb,
8285
          0x193cec3, 0x8729a16, 0xd69952a, 0xd9a93fb }
8286
    },
8287
    {
8288
        { 0x94f47c6, 0xfce0175, 0xe366d05, 0x228da21, 0xdc8baf3, 0x27ce0b2,
8289
          0x6b4a951, 0x8cc660b, 0x384bb01, 0xf678947, 0x44d980c, 0xc629d7d,
8290
          0xe85e81f, 0x47980e4, 0x1cd723e, 0xa2e636a },
8291
        { 0x77fb207, 0x6b6ebae, 0x4c92891, 0x7017961, 0xb4d279c, 0x5569541,
8292
          0x41758cb, 0xbb6b36a, 0x27a8e30, 0xecaa222, 0xb470ad9, 0x8b6746a,
8293
          0x63e2d3d, 0x4c46017, 0xd3edaec, 0xe19c4ed }
8294
    },
8295
    {
8296
        { 0x34718c8, 0x0b43fec, 0xf33499f, 0x553c407, 0x970d1db, 0x8272efb,
8297
          0xa8e8d1c, 0x008c62c, 0x63eec45, 0xe4b79d7, 0xf2d71a3, 0x1fd4230,
8298
          0xa368c36, 0x090fdaf, 0xfca7baa, 0xf62c101 },
8299
        { 0xd2395b3, 0x1c9e6c8, 0x04c5513, 0x671ed63, 0x299a465, 0x577d933,
8300
          0x63f9986, 0x286890e, 0xbfc979c, 0xd92a95d, 0x2b51019, 0xcebd79d,
8301
          0x3d07251, 0xe74d88b, 0x906f9ad, 0x8b6db73 }
8302
    },
8303
    {
8304
        { 0x7b3d90c, 0xc0c43db, 0x4304a06, 0x85d154e, 0xaf2f38e, 0xe8aceef,
8305
          0x83d9459, 0x5e04293, 0x431afd1, 0x65e5e32, 0xa900a65, 0x9e5f050,
8306
          0x8a26671, 0xcbaa171, 0x9c93de7, 0x33d0b24 },
8307
        { 0xd5b6680, 0x3dcbf92, 0x20006f9, 0xc47e5ec, 0x9a51924, 0xc971129,
8308
          0xcd0ed46, 0x665d9b8, 0xa5fcab6, 0xed2d63f, 0xcfbfc5a, 0xa817eb6,
8309
          0xb76eb76, 0xb38169f, 0xf11160b, 0x8b93544 }
8310
    },
8311
},
8312
{
8313
    {
8314
        { 0x693bdcd, 0x02eca52, 0x2ae01d6, 0xbbf0923, 0x8b44b3e, 0x0b0a2de,
8315
          0xb250dff, 0xdb82449, 0x6e1c530, 0x0c42b86, 0xa64c2c4, 0xcd226dc,
8316
          0xf046b5f, 0xcfb2bb1, 0x3fccb0d, 0x97e2fae },
8317
        { 0x45ed156, 0xdf92907, 0xf641229, 0x224dcb9, 0x5f1f67e, 0x2126abc,
8318
          0xe9c8a6b, 0xa7eed5a, 0x9857d9b, 0x40abedc, 0xde941c6, 0x3f9c7f6,
8319
          0xd725ddf, 0x2158d42, 0x8c69543, 0xbdd1015 }
8320
    },
8321
    {
8322
        { 0x8df2fbc, 0xa7dd24e, 0x13d1aee, 0x3adbcfd, 0x13b2177, 0xf6a32d1,
8323
          0x7a9a14c, 0x89a7232, 0xdc65df9, 0xe3aef43, 0xa64d74c, 0xeaec3e3,
8324
          0x4fec33b, 0x4d387d8, 0x21a2128, 0xaba2a05 },
8325
        { 0x6b85e30, 0x2382c22, 0xcd2aad3, 0x4352d85, 0xd9772c4, 0xb0c6001,
8326
          0x5f3653f, 0x7ed8263, 0x0300f47, 0x3626a6f, 0x6ca7e4e, 0x23909de,
8327
          0xc154141, 0xb43dd81, 0x7e4bc68, 0x9a49fad }
8328
    },
8329
    {
8330
        { 0x2428f88, 0xa3661df, 0x56e0db2, 0xbe48b02, 0xce79aa9, 0x3cd1871,
8331
          0x23dddac, 0x90ab871, 0x71871a6, 0x9c58fb9, 0xa34910e, 0xf031f7f,
8332
          0x81060e4, 0xb501eea, 0x791224e, 0xdb668ba },
8333
        { 0x6a705bc, 0x240bbcb, 0x2d1865e, 0x7e76fbd, 0x2513641, 0x6e2cd02,
8334
          0x46365c9, 0xe6c5225, 0xa5a01fb, 0xe46a8b8, 0xb67618b, 0x696fa7b,
8335
          0x0db6792, 0x418b3b9, 0x7108b9c, 0x7204acd }
8336
    },
8337
    {
8338
        { 0x8456b45, 0xb5a143b, 0xf53b4d9, 0x8a3ab25, 0xe13a570, 0xb112a58,
8339
          0x81487d2, 0x613ca32, 0x3b1e7c9, 0x837d823, 0xd41e9d5, 0x592bade,
8340
          0x5cd02f2, 0xdc1893a, 0x8972e23, 0x0879502 },
8341
        { 0xcb76261, 0x7003c08, 0x332a5e0, 0x14bde9e, 0xcbbd78e, 0x14b2872,
8342
          0xde238e8, 0x5594061, 0x067466c, 0xad12645, 0xf5e4952, 0xa8d0e64,
8343
          0xc7f8d06, 0x5b44b82, 0xfb1b828, 0xb51bea8 }
8344
    },
8345
    {
8346
        { 0x3f0dacc, 0xebad685, 0x1cbebbc, 0x5c31b8b, 0xfa5a2dc, 0x6746975,
8347
          0x31d9faa, 0x2d95965, 0x00fc0e4, 0x343797d, 0x55fe01b, 0x38d821c,
8348
          0x7323aa0, 0x0bfdb24, 0xf962a8e, 0x42613c4 },
8349
        { 0xe134bc0, 0x599a211, 0x47a7084, 0x75fa4a1, 0x7f734b5, 0x6e71948,
8350
          0x6dfca2b, 0xd5ced2d, 0x8aeabd2, 0x9fa0fdc, 0x12361da, 0x5e6b03f,
8351
          0x5859fcf, 0xad23d31, 0x25a5fc8, 0x3120ef1 }
8352
    },
8353
    {
8354
        { 0x8e9f638, 0x990ef62, 0x626a60c, 0xfdaa240, 0x2abddab, 0x4a3de20,
8355
          0xd8872b2, 0xd5d10b7, 0x1ea5880, 0xa01b730, 0xa81b9d8, 0x481697f,
8356
          0x3471ed8, 0x2984153, 0x292d37c, 0xefd73f8 },
8357
        { 0x9994beb, 0xdda7626, 0x6a4f865, 0xa037703, 0xe5b47d5, 0xda992ec,
8358
          0xe53edba, 0x912a427, 0x9264e45, 0x6467598, 0xaf71222, 0xd3b68c3,
8359
          0x6dedc5f, 0x9d3436c, 0x076b2ad, 0x1e027af }
8360
    },
8361
    {
8362
        { 0x4382f4a, 0xd56fca1, 0x8966b7b, 0x83712a4, 0xa4c9ddb, 0xd6b2cf5,
8363
          0xf602875, 0xa66be29, 0x894f3d0, 0x70e4266, 0xb3195ca, 0x007d220,
8364
          0x82c74d4, 0xba38d8f, 0xd975cbd, 0xdccc5fc },
8365
        { 0xc88b38b, 0x03e1610, 0x52e0d8d, 0xeb9f9a1, 0xb646eb7, 0x6a57eca,
8366
          0xc76b6c1, 0x161641f, 0xbd2e12b, 0xf9025ad, 0x5c0e26d, 0x87c74db,
8367
          0xbfeca74, 0xed5cb51, 0xe34a08c, 0x603dfb6 }
8368
    },
8369
    {
8370
        { 0xcb03307, 0xc4be728, 0xc2741cc, 0xde34c0e, 0xa74eb17, 0xe01db05,
8371
          0x8905e4b, 0x1bfce0c, 0xd1b1826, 0xb18830a, 0xe87bbfb, 0xcacbb41,
8372
          0xd2f1a79, 0x8696842, 0x08c83ea, 0xa80e5fb },
8373
        { 0x3f1439c, 0xe48f163, 0xcd6987b, 0xc1d4108, 0xb751814, 0x05705c4,
8374
          0xc1c622d, 0xa9bffd0, 0x46cd053, 0x23de4af, 0x39457c3, 0xf782f5e,
8375
          0x5e5d243, 0x815276b, 0x6161ae3, 0x3132041 }
8376
    },
8377
},
8378
{
8379
    {
8380
        { 0x77f2542, 0x2459661, 0x8372b25, 0x203be7e, 0xee2007b, 0xc7c9426,
8381
          0x0621799, 0xc564138, 0xc28c3ce, 0xda56589, 0x7afc1e3, 0x13e8a7c,
8382
          0xe352082, 0xdba81e9, 0x04435c7, 0xf430549 },
8383
        { 0x691de4a, 0x4d26533, 0xfb777ab, 0x364408c, 0xeae7f88, 0xccdfb43,
8384
          0xa525b11, 0xbc40f44, 0x3c60627, 0x8e112a5, 0xe17e696, 0x7f7c581,
8385
          0x1ea774a, 0x0fd7878, 0x0b1f582, 0xd09e632 }
8386
    },
8387
    {
8388
        { 0x70aab15, 0x44390bd, 0x889c3f2, 0x41112bc, 0xd685349, 0x6b02894,
8389
          0x5584dfe, 0x7103001, 0x1ba7887, 0x373cb1b, 0x2a017c7, 0x53d286c,
8390
          0x3c81fdc, 0x2ed0388, 0xfbcc6fc, 0x3bfc5e3 },
8391
        { 0xfd6418d, 0xd38ac6f, 0xbfad89e, 0xc667e96, 0xeab4d66, 0x46f4f77,
8392
          0x0911293, 0x194c04f, 0x68c48d5, 0x0fd09cf, 0x63cf7f4, 0x6f5b055,
8393
          0xacd562f, 0x0c0a8c4, 0x36d965d, 0x94c1d83 }
8394
    },
8395
    {
8396
        { 0xcaa127a, 0x94fc8f0, 0xd803690, 0xc762d5d, 0x1ebf0d3, 0x8bfdfd1,
8397
          0x48eac50, 0xa98cdf2, 0x8b5ff10, 0x3d7365d, 0xc65b4de, 0x20dc29b,
8398
          0x8ec7c68, 0x62ac28e, 0x90372d2, 0x7f5a132 },
8399
        { 0x3246658, 0xf3d8a25, 0x9ac202a, 0xa4bebd3, 0x5cc1697, 0x078ede7,
8400
          0xc8fc022, 0x5525800, 0x5fae77b, 0x302a802, 0x57917b6, 0x0180139,
8401
          0x864bf55, 0x7c8806d, 0x12f06f1, 0x4e2d878 }
8402
    },
8403
    {
8404
        { 0x3d66e88, 0x8d35118, 0xa91d02a, 0xfb861a1, 0x7850e5f, 0x8c27c2a,
8405
          0xa5496f6, 0x9fd6399, 0x8080049, 0x52152ae, 0xfd1c2dc, 0x600e2ff,
8406
          0xffe8b2e, 0xc75902a, 0xe03b175, 0x5c4d2cc },
8407
        { 0x4f57e78, 0x8ad7c42, 0x1736f87, 0x77cf606, 0xf85038a, 0x2876012,
8408
          0x1b97b95, 0xff32845, 0x392dfc8, 0x3cc6dd5, 0xa6f5075, 0x72f1363,
8409
          0x71de894, 0x028ec44, 0x6f45a86, 0x7030f2f }
8410
    },
8411
    {
8412
        { 0x9695817, 0x66400f5, 0xf20ea36, 0xeda0a7d, 0xd394992, 0x855be51,
8413
          0x8336f62, 0x2d082c1, 0xf28c868, 0x30944dd, 0x0dc86d0, 0xfb5f853,
8414
          0x564a0bd, 0x9562ae5, 0xb6b9b51, 0x1f7ea12 },
8415
        { 0xd0a7148, 0x5bd74e0, 0xb91e572, 0x6c8247f, 0x47da498, 0x699aba5,
8416
          0x1f7c814, 0xed82581, 0x62057b9, 0x434674b, 0x15c15b4, 0x8b4df5e,
8417
          0xb110081, 0x2a97da1, 0x4c417fe, 0x2a96b0c }
8418
    },
8419
    {
8420
        { 0x237639d, 0x4f75dfc, 0x1db7029, 0xe5ad6bc, 0xb3d28f7, 0xd43e06e,
8421
          0xe447989, 0x89f3bb5, 0x01a1a6e, 0xc426a2c, 0x315878f, 0x33ea71c,
8422
          0xb1b5705, 0x8a7784a, 0x77ca811, 0xa59e86e },
8423
        { 0x36ae155, 0xddb133c, 0x0d51b42, 0x49f1d4c, 0x9d05519, 0x5508082,
8424
          0x5291816, 0x20e23be, 0x67181ec, 0x35047ec, 0x7aad091, 0x6237dc4,
8425
          0xe2e25a2, 0xa1d3ce1, 0x0d3db4c, 0x1de0522 }
8426
    },
8427
    {
8428
        { 0xd9fd423, 0xe9a5e19, 0x9801e43, 0x0c2c3d0, 0x28df2da, 0x043c2dd,
8429
          0xe1ad12a, 0x4eecab4, 0x9615aa5, 0x97e1797, 0xca7bb5e, 0xe57b879,
8430
          0xcc92619, 0xa2a903c, 0xaa56e93, 0x5cef370 },
8431
        { 0x7f3232c, 0xbef29fa, 0x2b7ad5c, 0x1cf35ed, 0x3b6077a, 0x35c4893,
8432
          0x7a1d47d, 0xe065148, 0xce14572, 0xedb4673, 0x0b17629, 0xdc9e98c,
8433
          0x9a02a5c, 0xef98ebe, 0x11d03c0, 0x1f772e3 }
8434
    },
8435
    {
8436
        { 0x4608f72, 0xcbdbdcd, 0x5a13c6f, 0xb435223, 0x4bb3c21, 0xa6497f6,
8437
          0x12c15c9, 0x3af2383, 0x6322d11, 0xfbbf4b3, 0xc641775, 0x520a5c6,
8438
          0xe81e0e1, 0x18cd967, 0x3de3871, 0x980b2c6 },
8439
        { 0x9ae44a2, 0xfa9db61, 0x176bc56, 0x0281dd2, 0x8a7f817, 0xfd03711,
8440
          0x4129b30, 0x9c48545, 0x039626d, 0xb439648, 0xe4ada6b, 0x355050e,
8441
          0x7f5d98c, 0xc9c16d6, 0x18c4d5e, 0xf53ccc3 }
8442
    },
8443
},
8444
{
8445
    {
8446
        { 0x3ffb20b, 0x50ae942, 0x6865eb4, 0xa6c0b42, 0x09930f1, 0x4677f7d,
8447
          0x4a16427, 0x742e0b6, 0xf976f9a, 0x521d18e, 0xa454749, 0x43ac9cf,
8448
          0xc51f50d, 0xda3a91d, 0xad6f954, 0xf657029 },
8449
        { 0x6b4f99a, 0xfe5f064, 0x63ad4ce, 0xd92a5d9, 0x2e0e081, 0xfcb5509,
8450
          0x8d8a858, 0xadc85ab, 0x0632f0f, 0x8e9b966, 0x8d7216d, 0xe7a4f16,
8451
          0x59c3b99, 0x00a4cc5, 0xba09dc1, 0xed6d0bd }
8452
    },
8453
    {
8454
        { 0x1621beb, 0x7236d14, 0xbc7ca95, 0x1751fd4, 0x2f5319c, 0xaa619d1,
8455
          0x4e9316f, 0xfc2b15b, 0x9fd4d33, 0x2d1a906, 0x8ced829, 0x28c3bac,
8456
          0x1dd998f, 0xf2efab5, 0x3b149ed, 0x2c13330 },
8457
        { 0xf601ac6, 0x65237c9, 0x07d6a45, 0xb54dd65, 0xfb1a4cf, 0xa1ce391,
8458
          0x115f67e, 0x2957533, 0x465279b, 0x6456da8, 0xa993e02, 0x02890aa,
8459
          0xb7175e4, 0x6891853, 0x0f3e59b, 0x3fda203 }
8460
    },
8461
    {
8462
        { 0xd8c6e0b, 0xe99fe12, 0x5341c56, 0x7cb07ff, 0xdf77b24, 0xc292c7b,
8463
          0xca29906, 0xf52dfd0, 0x772f02c, 0x4a6aa26, 0xe1bbd09, 0x26f7684,
8464
          0xee7c2a8, 0xec56b2b, 0xad4a312, 0x67709e6 },
8465
        { 0xc570263, 0x99c57b2, 0x2faafae, 0xeb0100b, 0xff25eca, 0x980d5d1,
8466
          0x82cf936, 0xace35e6, 0x44679ed, 0x5a82ce5, 0x074b81e, 0x5c76a41,
8467
          0xa00abb1, 0xf36fa43, 0x04ffb2d, 0x0642819 }
8468
    },
8469
    {
8470
        { 0x04bdd28, 0x68f6bc8, 0xb5dc7ad, 0xc311d96, 0xed32e45, 0xff0d646,
8471
          0xe0f712d, 0xaf3cdc6, 0xd483861, 0xd4508e9, 0x0e1c277, 0xb624be5,
8472
          0xc5dd841, 0xc510275, 0x298dc02, 0x451c5c3 },
8473
        { 0xdd34d6b, 0xf87d479, 0xdd06a38, 0xda7f293, 0xb699e9f, 0x575e129,
8474
          0x215b2cc, 0x79e5fb2, 0x657e690, 0xd280028, 0xe702a71, 0x7fecd09,
8475
          0xfa13677, 0x85160ab, 0xce65f64, 0x5de3427 }
8476
    },
8477
    {
8478
        { 0xe8fff38, 0x84e4bf6, 0xb358b1c, 0x16f3725, 0x3b472a5, 0x360371c,
8479
          0x52f217a, 0xe64c061, 0x0501241, 0x8e67379, 0xab2dd96, 0x88e81d6,
8480
          0x1385604, 0xf3e218a, 0xe84184d, 0x9736caf },
8481
        { 0xdbb93a3, 0xb55a043, 0x9301088, 0x335088f, 0xb2a4959, 0xcea7a2d,
8482
          0xb882c33, 0x48e5d4a, 0xad46179, 0x114f09b, 0xb446576, 0x4416467,
8483
          0x34c6c2f, 0x01cb23e, 0xa02db8a, 0xddebf04 }
8484
    },
8485
    {
8486
        { 0x9bde8a1, 0x36d60cc, 0x676e4ad, 0x20fd2f2, 0x8936581, 0xebdcfb7,
8487
          0xdbfc2c3, 0x245d0d5, 0xa9f82e5, 0x104c62c, 0xd654d9b, 0x7387457,
8488
          0xae7f10e, 0xe966777, 0x1d8e582, 0xefeb16f },
8489
        { 0x70364b5, 0x4faf4f1, 0xd612472, 0x0e1ab58, 0xfed6085, 0x11bbfe7,
8490
          0xa59a09a, 0xb360a14, 0x722fdb6, 0x61d96e9, 0x94068bd, 0x16a12f1,
8491
          0xf73c2be, 0x225bf07, 0xc8bd24e, 0x1e64665 }
8492
    },
8493
    {
8494
        { 0x3698c75, 0x27a478a, 0x6202aa2, 0x778ccd3, 0x8d87f1f, 0x0149c63,
8495
          0x784edae, 0xa660e5f, 0x82adfa8, 0xe0d4d2f, 0x1ba1f9d, 0xf512dd6,
8496
          0x6245c58, 0x90cfed9, 0x18b53dd, 0x6c3a548 },
8497
        { 0xbdc094f, 0x833f70c, 0xb1514e7, 0xa5f26f5, 0x1c8cf13, 0x93e7cf5,
8498
          0x186ec43, 0x1436601, 0xe78170a, 0x81924ac, 0x8694368, 0xcc880a0,
8499
          0x0b62cbb, 0x2dfa955, 0x96b4a2c, 0x0bc6aa4 }
8500
    },
8501
    {
8502
        { 0x3561aa2, 0x5157a7e, 0x8645c1e, 0x525c500, 0xce7cbb3, 0x22feb4e,
8503
          0xc89a58b, 0x36d0d25, 0xc9bde9c, 0x43131f7, 0x881f731, 0x74afdda,
8504
          0x7c8e36a, 0x99ab87c, 0xc1d4fb2, 0xf07a476 },
8505
        { 0xbebc606, 0x1b82056, 0xfcf089f, 0x95a1e5a, 0x2b55d5c, 0xc5bccfa,
8506
          0x00eb0b1, 0x8fbc18e, 0x9efb483, 0x93a06fe, 0x2d74c57, 0xcafd725,
8507
          0x3de4350, 0xc7518f0, 0xc6fd762, 0x9a719bf }
8508
    },
8509
},
8510
{
8511
    {
8512
        { 0x2362087, 0x5ee0d83, 0x0b167e8, 0x7f2c0d7, 0x5e0e865, 0xb732789,
8513
          0x98c4e65, 0xef5b2e8, 0x8fe9cc1, 0x222797d, 0x82d1e15, 0xfe6d73e,
8514
          0xf62dc4b, 0xc7c0e9c, 0x937ceda, 0x962acfe },
8515
        { 0xc1e85c7, 0xd763711, 0x2836978, 0x8f2dbbc, 0x8c44e98, 0xbadc055,
8516
          0xa3e93f8, 0xed63eab, 0x41b55c7, 0x807e857, 0x6d1207b, 0xd51ae5e,
8517
          0x39d541b, 0xa0ef9a6, 0xa0c56a5, 0x58855f9 }
8518
    },
8519
    {
8520
        { 0x213091d, 0x7d88eaa, 0x45b6a0d, 0xcbdfee7, 0x4f5e077, 0x826a012,
8521
          0x90f1e4c, 0xb04fc13, 0xaea69aa, 0x1961ac3, 0xd5bb63e, 0x3afb719,
8522
          0x4ac7e5c, 0x2a37837, 0xc50ca45, 0x78efcc1 },
8523
        { 0xb8abdef, 0x346e8f0, 0x88095d0, 0x27e3dbd, 0xffc6c22, 0x56d3379,
8524
          0xfa4b291, 0x67d416c, 0x3b1b373, 0xc3baaf6, 0xdf73bae, 0x0184e1f,
8525
          0x9167528, 0x38ae8f7, 0x35d6297, 0x7329d4c }
8526
    },
8527
    {
8528
        { 0xf568c52, 0x45d2ac9, 0x9808593, 0x5134814, 0x31b7ed8, 0x0c92d83,
8529
          0x0876ecd, 0x921327a, 0x052736a, 0xf752d75, 0xbc6b837, 0x7b56487,
8530
          0xa23b4cc, 0x6b1a320, 0xec0d665, 0x1983937 },
8531
        { 0x08554ab, 0x2c3017c, 0x366e87f, 0x40ad955, 0x8ed7f02, 0x88c4edf,
8532
          0x3cc5e6d, 0x64a7db1, 0x2dc978b, 0x5ac91fa, 0x925d2a2, 0x016a20d,
8533
          0xabb57b4, 0x3604dfe, 0xd7e2e85, 0xc3683ec }
8534
    },
8535
    {
8536
        { 0x4c0c6d0, 0xc47150a, 0xe22adcf, 0x30af45e, 0x022ea4b, 0x39b5acb,
8537
          0x77203b5, 0xfbe3185, 0x6fd9b59, 0xe5aaa34, 0xdd1c8dc, 0x0062c90,
8538
          0x54049ac, 0xcf113f3, 0x63a31b5, 0xd8fba4d },
8539
        { 0x1056a69, 0x73b5488, 0xd780bda, 0x3be6cbc, 0x30ba2b9, 0x5776ec2,
8540
          0x8e8d6f7, 0xbe883cf, 0x5c2be6f, 0x64efe94, 0xf1ade8d, 0x064f704,
8541
          0x743110e, 0x41cfd17, 0x4c20abe, 0xaac9411 }
8542
    },
8543
    {
8544
        { 0xf1c1468, 0x91f9192, 0x4563e13, 0x8176e74, 0x0bda15d, 0xa48b5f9,
8545
          0xda42af6, 0x2a085ae, 0x425c018, 0xfd38ab2, 0x08abafb, 0x2884ba4,
8546
          0xcbd091d, 0x356f318, 0x817871b, 0x454e450 },
8547
        { 0x8ada531, 0xe080e81, 0x3152ba8, 0xa40f1eb, 0x0c38eb1, 0x051049f,
8548
          0xbd45003, 0x37e4bb3, 0x54a01e5, 0x6d09804, 0xeeb824a, 0x6de932f,
8549
          0xdc93481, 0xccdef37, 0x93a05e8, 0x8633e07 }
8550
    },
8551
    {
8552
        { 0x034675c, 0xbe94256, 0x08db789, 0x376c01d, 0x9af1b6b, 0x8707ee7,
8553
          0x11bfbac, 0x633b3ef, 0xd06db60, 0x694f33f, 0xbb13407, 0x2a68bfc,
8554
          0xda27c3a, 0x1c860c9, 0xd701ac3, 0xbca16de },
8555
        { 0xc59ffd0, 0x2b76cfa, 0x54d718d, 0xf9a1165, 0x67f0878, 0xf86a1db,
8556
          0xaf34e85, 0xe313e05, 0x3343159, 0xa188811, 0x0bb7ed1, 0xdbe4c3f,
8557
          0x0c732bc, 0x73b67e8, 0xe74110e, 0xa4e1c87 }
8558
    },
8559
    {
8560
        { 0x5c6770c, 0xce1106b, 0x5c0bcb7, 0x422c70b, 0x8195e7f, 0x32a3990,
8561
          0x1ccd4aa, 0xa24968d, 0x720e557, 0x8f08ecf, 0x54bcc81, 0x5da10a4,
8562
          0x6cd846e, 0x9d3c73b, 0x368d065, 0xaeb12c7 },
8563
        { 0xcf9fd1b, 0x2110859, 0xee2bd6d, 0xd2a4801, 0xe9466ac, 0x376e556,
8564
          0x3b5aa35, 0x767803b, 0xb8a89ba, 0x343f842, 0x6726bbf, 0x3263cc1,
8565
          0x25871b0, 0x26caf17, 0x41b8578, 0xef66ad6 }
8566
    },
8567
    {
8568
        { 0x638068c, 0xc9f2249, 0x1ccf9af, 0x96d282c, 0x69b435a, 0x71df30c,
8569
          0xcb9d5c9, 0x88c943a, 0x2a8f378, 0xbf98ef1, 0x114c6ff, 0xffc1824,
8570
          0xd52e8c7, 0xda3ad2c, 0x1afcb59, 0xf1222bc },
8571
        { 0x0ee334a, 0x459e94b, 0x421933a, 0xd4477b8, 0xa1e401e, 0x60fb7b0,
8572
          0x0d1e330, 0xfde6e82, 0x3233fde, 0xcecfe9b, 0x2e93523, 0x09ec466,
8573
          0x30775b9, 0xa5ba649, 0xadf80f2, 0xcc397e5 }
8574
    },
8575
},
8576
{
8577
    {
8578
        { 0x4ddc8a8, 0x2fe182d, 0xac056bf, 0x88d6e79, 0x0e41e4e, 0xc3ff2d1,
8579
          0x2c3679f, 0x32ec7f9, 0x4e61051, 0x3561f09, 0x6c6250a, 0x4553f5a,
8580
          0xdd25c5b, 0x2b765ef, 0x6a1cd7f, 0xe3a40a2 },
8581
        { 0x5d821dd, 0xb27309b, 0xc2c17ca, 0x950fb8d, 0x8fb0d4c, 0xfeed015,
8582
          0xf550179, 0x762c479, 0xe095840, 0x306cf44, 0xd379e66, 0x84b413a,
8583
          0xbb2e4f1, 0xd6e5d5a, 0x94b085d, 0x8bc12b7 }
8584
    },
8585
    {
8586
        { 0x04b5532, 0xc0d4cb8, 0xb9940a6, 0x7a31525, 0x68c69d1, 0x010e7dd,
8587
          0x2a18c35, 0xd81f29d, 0x3f11e73, 0x08ae770, 0x6e55106, 0x5358f87,
8588
          0xc960ef5, 0x299e8ca, 0xacfc8dc, 0x89a6fb4 },
8589
        { 0x6dc7d4a, 0x5996a40, 0xe51b96e, 0x21e5112, 0x09a202b, 0x95b8c3d,
8590
          0xd441f1f, 0x306ab0f, 0x98d4245, 0x2834fed, 0xd0abbde, 0xc29c387,
8591
          0xb805c15, 0xf6a9bf1, 0xc4e458d, 0x602f4f8 }
8592
    },
8593
    {
8594
        { 0xe5a893a, 0xf041486, 0x8934327, 0x53b891d, 0x4000758, 0x11e000d,
8595
          0x662bad9, 0xa4ccde8, 0xb9a1b64, 0xe34d3ed, 0x84e7a6d, 0x72d9675,
8596
          0x6627be4, 0x773da2f, 0xe835ae3, 0xa11c946 },
8597
        { 0x650bc15, 0x02e8203, 0xe58b78d, 0x2d35936, 0xf21a3cc, 0xe9cfbe8,
8598
          0x1049222, 0x55ad831, 0x38fff47, 0xbf99de4, 0x3831db5, 0xebbfd80,
8599
          0xaf2af42, 0xe990636, 0xb7f5a0e, 0xc26ae52 }
8600
    },
8601
    {
8602
        { 0xfa8f846, 0xb5d85b1, 0xb3b1455, 0x4166489, 0xd36a305, 0x768260d,
8603
          0x4ff5645, 0xc6a8235, 0xd6e93e5, 0xd241cd8, 0xa406e74, 0xeed9aa1,
8604
          0x5f600d9, 0x9e96ab0, 0x6eca2a1, 0xa26b8b5 },
8605
        { 0xd705aef, 0x78321cf, 0xc0161ec, 0xc4fb6b3, 0x5199cf1, 0xdc32441,
8606
          0xd0a5067, 0x33627d0, 0x15143ee, 0x13490cb, 0x85b4f44, 0x77e0ede,
8607
          0x394b165, 0x904f12e, 0xefab32d, 0x90f50f5 }
8608
    },
8609
    {
8610
        { 0xbc2de96, 0x4aa0a16, 0xaa9c12b, 0x172596a, 0x60e8a29, 0xd512e1e,
8611
          0xf637e83, 0x77d35c1, 0xd2aae0b, 0xbb0d141, 0x8c03738, 0x8a878a5,
8612
          0xab0e525, 0x6d24c01, 0xf760887, 0xb7d3136 },
8613
        { 0x3f91b7c, 0xdbc3f8f, 0xa8722c0, 0xe7b4bca, 0xda0ae65, 0x3286a91,
8614
          0x225b084, 0x8372274, 0xae1886c, 0x5884cd5, 0x3a23cf7, 0xb4e63ef,
8615
          0xf2dd0da, 0xfe5f202, 0x653916c, 0x951fac9 }
8616
    },
8617
    {
8618
        { 0x854fa4e, 0x05e2e8f, 0x1edaf10, 0xf411f94, 0xa0a928d, 0x26cc562,
8619
          0x4abce65, 0x78fd34e, 0x98a32e2, 0x1d87609, 0x4c37518, 0x85dc76f,
8620
          0x00e8021, 0xdcaeef5, 0x4e9b2a5, 0x7fcb2f8 },
8621
        { 0xf382c06, 0x9eba91e, 0x24cae53, 0x2052e85, 0xf5c1519, 0x617336e,
8622
          0xb4e632b, 0xf1546d5, 0xd7b8ffd, 0xa9edc81, 0x29ab68c, 0xdb2914f,
8623
          0xdebbaba, 0xe805070, 0xc3b719e, 0x775e53b }
8624
    },
8625
    {
8626
        { 0x065256a, 0xa40e294, 0x8fb031a, 0x9f11386, 0x059667c, 0xac03af8,
8627
          0x0475f58, 0x432eb3a, 0x01faad0, 0x22332bf, 0xbc57a11, 0xc8132e9,
8628
          0x3bc3f8b, 0x27d5a17, 0x930bf3e, 0x5471fc6 },
8629
        { 0xe6bff40, 0xba28bc0, 0x555e564, 0x198d57e, 0x9c65b8f, 0x13ce831,
8630
          0x5681b51, 0xb0a5c9d, 0xdeb9e11, 0x467588b, 0xbb4250b, 0xf1891a7,
8631
          0xd12b433, 0x10b938b, 0x24dcda4, 0x0b8c802 }
8632
    },
8633
    {
8634
        { 0xcf332d3, 0xc428703, 0xf2a5b98, 0x9d0053c, 0x7838a15, 0x4e4c620,
8635
          0xfbf8a43, 0x2e92919, 0x21cd9a5, 0x39ad524, 0x1561588, 0x584ed6c,
8636
          0x17a95c8, 0x20af305, 0xb70e1c8, 0xa223077 },
8637
        { 0x2fa4871, 0x679cfea, 0xac633c7, 0x54f2a46, 0x4cdc5f1, 0x6030651,
8638
          0x75a1dc7, 0xc4facda, 0x2d07d19, 0x710a288, 0x6b44992, 0xd55864e,
8639
          0x454c5b2, 0x44d4b6c, 0x72f9981, 0x2855d28 }
8640
    },
8641
},
8642
{
8643
    {
8644
        { 0xc7b0674, 0x4071b3e, 0xf8794d5, 0x800eb14, 0xbe6783e, 0x70573af,
8645
          0x7785901, 0xafaa440, 0x405f32c, 0x112d2a1, 0x169b3e2, 0x3761a52,
8646
          0x842a366, 0xe168b31, 0x9bf4734, 0x5bc322f },
8647
        { 0x976c4a0, 0x36ef240, 0xfea4e64, 0x066f3d6, 0xa989e57, 0x0e954bd,
8648
          0xf9466e4, 0xe36ef5e, 0xbeb9226, 0x6bb615a, 0x3d5a2ca, 0x5571e5f,
8649
          0x4897a86, 0xa86efe2, 0x28a9f77, 0xed7e9cf }
8650
    },
8651
    {
8652
        { 0x1f82c68, 0xdf10c97, 0x3b597e6, 0x796ba1e, 0xe718cbf, 0x1ac77ec,
8653
          0x410eac8, 0xc8175bb, 0xbc555ef, 0x0cdf9a1, 0x7524e05, 0x6b889f1,
8654
          0xae26d82, 0x6bf1e61, 0xd2e97d9, 0xb3f6ad5 },
8655
        { 0xf226487, 0x94dcff9, 0xbe03dde, 0x60e6356, 0x6a3dd7d, 0xda1f93b,
8656
          0x79ca90c, 0xf1be721, 0x1e6bce5, 0x05ed313, 0xd48af3e, 0xcf50908,
8657
          0x61e554f, 0x3b0e85c, 0xa2778d3, 0xfe7e35b }
8658
    },
8659
    {
8660
        { 0x75ac5a9, 0x42c5032, 0xda062c2, 0xa66a66d, 0xcaa7023, 0xa4f4f82,
8661
          0x64b4f86, 0x489d476, 0x97311ad, 0x10b1088, 0x177b2ec, 0x55dd637,
8662
          0x9a267b1, 0xa5ccff0, 0xff327b0, 0xf07690b },
8663
        { 0x2250cd2, 0x39162ed, 0x8b255f1, 0x1426de0, 0x1bdd731, 0xf227afd,
8664
          0xfa4c844, 0x78f8a36, 0x157379c, 0x267a211, 0xcc04acb, 0x3f05f92,
8665
          0xfc69cae, 0x374496c, 0x16ebfec, 0xbf2c5d0 }
8666
    },
8667
    {
8668
        { 0xd0518d1, 0x605418b, 0x9e1cbc6, 0x3237f80, 0x286c019, 0x37a7005,
8669
          0xb15af0b, 0xf1fb0e0, 0xaa853c0, 0xfc3b97c, 0xe6beba2, 0x1f48bd0,
8670
          0xe6a72f1, 0x8e5d7c5, 0x26ebf0c, 0x575e66d },
8671
        { 0x62eae3d, 0x0994776, 0x96c9c65, 0x53f074f, 0xb81bade, 0x6cfbfdb,
8672
          0x3fed7d1, 0x98b4efe, 0x38c3382, 0xdaa1123, 0x47b8ec6, 0xdf88b73,
8673
          0x9504a4f, 0x9b0fe4b, 0xf30c1c3, 0x2e7df4c }
8674
    },
8675
    {
8676
        { 0x2fc1833, 0x25380cb, 0x18d62de, 0xb8e248c, 0xd82f9db, 0x91c8f59,
8677
          0x2444750, 0x5ec2b20, 0x66b6f74, 0x3f3a1f7, 0xdd7d14d, 0x0180aa9,
8678
          0x2956b9c, 0xd0a342d, 0x7139873, 0x26e910e },
8679
        { 0x139e23d, 0x2261dc4, 0xb8343dd, 0x7edb181, 0xb4038dd, 0xfcf1073,
8680
          0xa3bfea3, 0x88870ef, 0x64a263e, 0x4e98ba9, 0x70811f5, 0x3c6e5dc,
8681
          0xf86055d, 0x17d28f5, 0x66e4199, 0xca9c276 }
8682
    },
8683
    {
8684
        { 0x964ef8c, 0x0b2d8bd, 0x88e2ba6, 0x5a99b85, 0x04498ce, 0x9e927b2,
8685
          0x756eb25, 0x9ff20c5, 0x3f27736, 0x97cc27b, 0x4729583, 0xf32dd6d,
8686
          0x0381a94, 0xbdc2658, 0xef2c06f, 0x70fef15 },
8687
        { 0x49252cc, 0x50a6191, 0x236b4b9, 0x9eb4a14, 0x8e00f78, 0x9b1b215,
8688
          0x6ea9c23, 0x27add36, 0xc3a8e79, 0xef61763, 0xd82ce56, 0xed4542f,
8689
          0x0caed75, 0xa8737e7, 0xd452d76, 0xeca0ac2 }
8690
    },
8691
    {
8692
        { 0x3d082d0, 0x20c0779, 0xc9e9f3b, 0x6e3ce64, 0x75a195f, 0xb3a4dce,
8693
          0xbdd9f24, 0x3a3c305, 0x8688942, 0xe2545c8, 0x080f32b, 0xa463c82,
8694
          0x42686b8, 0x4429748, 0x7213866, 0xf50e20d },
8695
        { 0x3826e74, 0x265ac52, 0x228e8ec, 0x26fba57, 0xe6b3ed8, 0x8a1e1db,
8696
          0xf0fe65a, 0x7c7b278, 0xc395234, 0x9a6df23, 0x0b0f114, 0x9956206,
8697
          0xef90837, 0x440c8c4, 0x3645f65, 0x21ad22a }
8698
    },
8699
    {
8700
        { 0xedd31b2, 0x1e023a6, 0x9ff8668, 0xf76d145, 0x17b45c8, 0x9707056,
8701
          0x1e88e37, 0x0612078, 0x922faac, 0x85c51c8, 0x22756d9, 0x4df392e,
8702
          0xa03c98e, 0x8907fd0, 0x52ea51c, 0x626f46a },
8703
        { 0x486c8a2, 0xf8f766a, 0x88ed18c, 0x8c499a2, 0x3c4f0de, 0x44d2dc6,
8704
          0x6f2a0b6, 0x47dde68, 0x4a973fd, 0x9a655f8, 0x786ac80, 0x3e7124e,
8705
          0xe8a0574, 0x699e61c, 0x31cdd0d, 0xdf0ba9a }
8706
    },
8707
},
8708
{
8709
    {
8710
        { 0xd73e69b, 0x76270ad, 0xc67d38a, 0x991120f, 0x9469f0c, 0x7be5830,
8711
          0x7db40ac, 0x93aba59, 0x822fc08, 0x2b707bc, 0x69551cd, 0x4199fc0,
8712
          0xf367324, 0x38deed4, 0x2228787, 0xca518e1 },
8713
        { 0xd9a9277, 0x72f1bef, 0xe49ae90, 0x57d4aab, 0xdb23478, 0x13810d5,
8714
          0x9b4b77f, 0x2a8b780, 0x1b4e004, 0xb542f4e, 0x3ec77f0, 0x4080fd0,
8715
          0xcec6596, 0xb49e9fe, 0x3f16037, 0x20338d3 }
8716
    },
8717
    {
8718
        { 0x53554b0, 0x4adcdae, 0xe04c4db, 0xfea4906, 0x7748233, 0x0808bec,
8719
          0x47148d7, 0xde7477c, 0x03da38c, 0xdd9124c, 0x25ee8e9, 0x6b25031,
8720
          0xb0d6161, 0xae67399, 0x82203b6, 0x70c4acd },
8721
        { 0xd31dae8, 0x9683916, 0x1ac7f69, 0x3477503, 0x988e4ad, 0x9553153,
8722
          0x53a15e1, 0xb58f411, 0x92ba2dd, 0xb65a2d4, 0xa90169c, 0x7c3efb1,
8723
          0x6b1747d, 0x210f45e, 0xcff488d, 0x16e8d1b }
8724
    },
8725
    {
8726
        { 0x9d703db, 0x252adf8, 0xfdfeb39, 0x259ac1d, 0x115e806, 0x7faf6af,
8727
          0xc1aff21, 0x7aaefd6, 0x7c0113d, 0x8054210, 0xe19b4b1, 0x481f1a5,
8728
          0xfcc8c61, 0x7c17d43, 0xbb0bbbe, 0x8b04452 },
8729
        { 0x4cebae1, 0xe51e5f5, 0x56a414c, 0x05341ba, 0x7fb8a30, 0x0083a2c,
8730
          0x77f4952, 0xb4663f2, 0x4bb0074, 0xce72eec, 0xa3584d1, 0x74fdd66,
8731
          0xb02e076, 0x6b9e58e, 0x3b961f4, 0x5be45d5 }
8732
    },
8733
    {
8734
        { 0x1ab2e0b, 0xc7474f3, 0xf4bf454, 0x2838ccb, 0xf3c3eac, 0x634392e,
8735
          0x137602b, 0x440e40a, 0xd1ae8e3, 0xeea67e9, 0x77e221e, 0xafdf93a,
8736
          0x2719a10, 0x3c9f3da, 0x32c8256, 0x466ecef },
8737
        { 0xf9c432f, 0x1061c19, 0xb1c7d98, 0xa1332d9, 0xa425c2c, 0xbc735f2,
8738
          0x4b1bccb, 0x1429cdf, 0x6bbb5f9, 0x77b42a1, 0x5955ae4, 0x30078e3,
8739
          0x21cc315, 0x8acd777, 0xe86fa99, 0xaa90d5f }
8740
    },
8741
    {
8742
        { 0x721115a, 0xfcfd460, 0x08269b8, 0x6a7de3e, 0x96dd47e, 0xe5964a6,
8743
          0x8dca975, 0x6717cd5, 0x98b149e, 0x7ea4ebe, 0xb7b8057, 0x6f894d5,
8744
          0x7f30e31, 0xbd6f960, 0x23df092, 0x61ca453 },
8745
        { 0x9d782f3, 0x32241f9, 0x2abfae2, 0x55173b0, 0xd15bbbd, 0x0abe0ed,
8746
          0xb438abb, 0xb6d3c0a, 0x9ffa20b, 0x62fb467, 0xd31560a, 0x30926b5,
8747
          0x2a0aa6d, 0x44bf27c, 0x1a4cb97, 0xf747313 }
8748
    },
8749
    {
8750
        { 0xb0535de, 0xa2f6c0d, 0xc855166, 0xcb02ae1, 0xb3422f0, 0xc699e6b,
8751
          0x281ba8a, 0x774febe, 0xffabcc7, 0x1d9d24f, 0xfe12ba5, 0x0b31ba1,
8752
          0x13d0af7, 0x4c86803, 0x2f47160, 0x90640d3 },
8753
        { 0x5876603, 0xa0c4bf4, 0x950ab08, 0x717f6fa, 0xa710de8, 0xf12bb53,
8754
          0x6a88f50, 0xc500c61, 0x2645351, 0x0070f99, 0x2446893, 0x57aab5d,
8755
          0xb68f657, 0xd553fa8, 0x693c55d, 0xe8537c1 }
8756
    },
8757
    {
8758
        { 0x7fc7684, 0x58e86eb, 0xbfc73a9, 0xdf330f7, 0xcc11936, 0x41e337d,
8759
          0x6e35759, 0x36d9200, 0x3500d8b, 0x0132703, 0x9483354, 0xfa68405,
8760
          0x667851b, 0xc8f2980, 0x18296b0, 0x538ec89 },
8761
        { 0xcff55f9, 0xa2a2c4f, 0x60d20bd, 0xb260d4d, 0xd9cc59f, 0x3ed576f,
8762
          0xd514fcc, 0x4ed8c64, 0xc22b315, 0x37ebfb2, 0x94c212c, 0xca67a36,
8763
          0x3a1795e, 0x4f8e08c, 0x4e7261f, 0x498f926 }
8764
    },
8765
    {
8766
        { 0xc59b3d4, 0xfea7382, 0x3f2925f, 0xb9942ed, 0x8ea77e8, 0xe4b00dc,
8767
          0x3cab02e, 0x74a18ec, 0xef16d0b, 0xbbbb752, 0xffab032, 0x639da4f,
8768
          0x3aa30f0, 0xc371a4a, 0xcaa175b, 0x8e26b22 },
8769
        { 0x7e2b62e, 0x94e4156, 0x25a794c, 0x7cceea6, 0x479f015, 0x931d2f4,
8770
          0x90b25b2, 0x946183d, 0x68a2807, 0x1504e97, 0xfa49ddd, 0xa7577d3,
8771
          0xdd48699, 0x24fc87e, 0x3d7d99c, 0x9edefd6 }
8772
    },
8773
},
8774
{
8775
    {
8776
        { 0x0f0b450, 0x0508b34, 0xc36f7f4, 0xe0069a5, 0x2a5a761, 0x2655664,
8777
          0x848e04d, 0x0193fd8, 0x73fe2e7, 0xc108cf5, 0xfd787d4, 0x05eb0ec,
8778
          0xff28985, 0x1555ccb, 0x651b995, 0xb5af09f },
8779
        { 0xe1134be, 0x167d72c, 0x57c669a, 0xd6d98bf, 0x6dd76fa, 0x40fb716,
8780
          0x2a41b31, 0xeabbf20, 0x09b75b0, 0x300ff0e, 0xd9a0c1e, 0x32b6fad,
8781
          0x65a80e0, 0x8051883, 0x32110fe, 0x8bef693 }
8782
    },
8783
    {
8784
        { 0xbef47d4, 0x637802f, 0x2d16eaa, 0xfac114b, 0x0415644, 0x7b3f3ab,
8785
          0x2dd895b, 0x17ab8d1, 0x87195f3, 0x271b7fe, 0xa71f65f, 0xa3f867e,
8786
          0xc80583a, 0x39ba40c, 0x56e1fcc, 0x6db0672 },
8787
        { 0x06662a8, 0x4feab4e, 0xc74bd46, 0xc857415, 0x732b126, 0x18032ed,
8788
          0x7a099ea, 0x87c8aea, 0x36fe0a8, 0xb4a7535, 0x27673f6, 0x33a98da,
8789
          0x2b8e549, 0x3e40c02, 0x9a4c587, 0x2def1af }
8790
    },
8791
    {
8792
        { 0xa8c9ad9, 0x9618b68, 0x49defda, 0xd70b4aa, 0x5f788ef, 0xae8b138,
8793
          0xdd523f4, 0x87c3542, 0x5c5b004, 0xe42c705, 0xfa7df57, 0x6303360,
8794
          0x5f6d068, 0x33e27a7, 0x8ff331a, 0x9b3268e },
8795
        { 0x23ee0c3, 0x845cc96, 0xac80084, 0x003af70, 0x530c41d, 0x6a9f931,
8796
          0xbb127f0, 0xa1d7051, 0xca36245, 0x642ce05, 0x0323ee9, 0xc34205b,
8797
          0xb7b3513, 0x7cc8912, 0x076cbdb, 0x6252cc8 }
8798
    },
8799
    {
8800
        { 0x7089522, 0x10e68a0, 0x58fc658, 0x36c1361, 0x74723a4, 0x490397d,
8801
          0x519d56c, 0x42692c0, 0xf1ff235, 0x69d251b, 0xc2cbf37, 0xe689d03,
8802
          0x825b7f4, 0xf04ceba, 0x2281c2e, 0xd6b9bee },
8803
        { 0xe0043ab, 0xc52ef3f, 0xd1d1be8, 0x351bf28, 0x0f18a5a, 0x277615f,
8804
          0x5d6800f, 0x31f717f, 0xab922e2, 0xf5fb82d, 0x2d6ae43, 0x99aee2f,
8805
          0xc63b982, 0x42477fe, 0xa594a01, 0x904aeb1 }
8806
    },
8807
    {
8808
        { 0xeb39974, 0xaa82174, 0x95e6aa0, 0xbc38e61, 0x25c0675, 0x6a3df8a,
8809
          0xffbe739, 0xf324203, 0xa3f0649, 0xfa5a0b4, 0x7a7a6b8, 0x79c8732,
8810
          0x40ad3f5, 0xeb65ecd, 0xe4e45c5, 0x718d416 },
8811
        { 0xe2326fd, 0x029dbf4, 0xe7942f0, 0x0c63416, 0x6f4e678, 0x6d0c728,
8812
          0xa138601, 0x59f0b10, 0x8d92ea9, 0x8a1d978, 0xc22eca5, 0x9f8d712,
8813
          0x7b6b96b, 0x7397044, 0xe6fb955, 0xa2d49ee }
8814
    },
8815
    {
8816
        { 0xbf14a19, 0x249f900, 0x63a8cd2, 0xd3522da, 0x86964d2, 0x28a32f3,
8817
          0xc1fa743, 0xacf712b, 0x0bb94d3, 0x98a9bfc, 0xbc06824, 0x318ece1,
8818
          0x4fce7f0, 0xfc47675, 0xe4135b7, 0x19caec9 },
8819
        { 0xc6817bb, 0x6de68a8, 0xf3b6d89, 0x7121960, 0xf5a818e, 0xa7d4261,
8820
          0x9157455, 0x0c0ba51, 0x450d5ff, 0x78b6acf, 0x4e8649a, 0x198b493,
8821
          0xfd05da3, 0x0941a3c, 0xdb55951, 0x264ea4a }
8822
    },
8823
    {
8824
        { 0x46e5a31, 0xcfee91c, 0xfff7366, 0x47b6806, 0x5df849d, 0xdb14be4,
8825
          0xac66cc7, 0x3c5e22b, 0xa5f4769, 0x7f3f284, 0x383be36, 0x4e00815,
8826
          0x8072b0b, 0x39a9f0b, 0xc7eadd6, 0x9887cd5 },
8827
        { 0xb659511, 0x7dd8f05, 0xd2e1cb9, 0x15c796d, 0x0d31345, 0xe5edb0c,
8828
          0x6939c60, 0x2025df0, 0xbf15de1, 0x6314c08, 0x04c7fb5, 0x03c1548,
8829
          0xbb5d3ed, 0x413337f, 0x477e983, 0xfc20b40 }
8830
    },
8831
    {
8832
        { 0x5db0ef9, 0x7f96880, 0xe9c2a70, 0x05562de, 0x7dae133, 0x071e5bc,
8833
          0x237fc4a, 0xa8cdd12, 0x4ea492b, 0x6d565e7, 0x381ee52, 0xa17cf94,
8834
          0x9f5c546, 0x6ab8a4e, 0x40288ef, 0xbb642f3 },
8835
        { 0x5df5c2d, 0x64e5921, 0xbb906f4, 0x43696e3, 0x74ae46c, 0x73a841a,
8836
          0xc506b8a, 0xe264883, 0xa1be548, 0x9542e1a, 0x5e81b4a, 0x8938539,
8837
          0xeaca6ce, 0x5642cfa, 0x806e0f9, 0xed8077b }
8838
    },
8839
},
8840
{
8841
    {
8842
        { 0x7e13597, 0x1c776c4, 0x9e584fd, 0x0ec8b28, 0xb8b61e8, 0x0bb6043,
8843
          0x9cd835b, 0xdcc1748, 0x39fef9a, 0x493e6ac, 0xd133e17, 0xb44eb34,
8844
          0x71cb6f9, 0xfebcd00, 0xd20eff2, 0xe6cf543 },
8845
        { 0x0a004c7, 0xf265cad, 0xd35cc12, 0x9b06c9d, 0xcb4ea53, 0x769f985,
8846
          0x0993434, 0x29160a2, 0x8d939c4, 0xdf8dd10, 0x6711e2f, 0xefa177c,
8847
          0xcd7a2cd, 0x1695790, 0x77f6642, 0x38da3d7 }
8848
    },
8849
    {
8850
        { 0x6307b74, 0x9bfcfd9, 0xbfdabc3, 0xc26a36d, 0x4abe28e, 0x9341be0,
8851
          0x73d1387, 0xdb20b52, 0x3d1949c, 0xf8d229c, 0xb8b3a41, 0xf1e0afe,
8852
          0xed565d0, 0x29c60df, 0x8b43b2c, 0x6930bb5 },
8853
        { 0xfc0718f, 0x1d76527, 0x1f67189, 0xdb98143, 0x51f32cc, 0x0c62f64,
8854
          0x8bd35e5, 0x70a6626, 0xc1cece7, 0x1725641, 0xf96f4a4, 0x7f130a8,
8855
          0xf06ee98, 0x72319e9, 0x67bf9b2, 0x215b738 }
8856
    },
8857
    {
8858
        { 0x0aaddd7, 0x8d1bec2, 0xb8be4f9, 0xfb8b95b, 0xfde1026, 0xeac193e,
8859
          0x9d5860c, 0xa5edea7, 0x44280d3, 0x4adbaea, 0x38f4798, 0xce8b670,
8860
          0xec30dea, 0x914c107, 0x000776b, 0xbdc5cf7 },
8861
        { 0xa206a13, 0xb6fd7d1, 0xdae986e, 0x9941eba, 0x1f1caaa, 0x76c27a8,
8862
          0x3f108b4, 0x6967c12, 0x4aea2d0, 0x6f11528, 0x144ddac, 0x9bb4319,
8863
          0xc8ec6fc, 0x1a4d3ea, 0xbf37420, 0xfe4b0b8 }
8864
    },
8865
    {
8866
        { 0xec0ac6f, 0x5d9a4a1, 0xfc7c80d, 0x84b79f2, 0xc14fac3, 0x64222f7,
8867
          0xc23b3f2, 0xdd9e039, 0xea956bb, 0x4a84abd, 0xebe09dc, 0x370dcba,
8868
          0xe0eaf82, 0x79a9ea8, 0xaee375f, 0x4cfb60a },
8869
        { 0x9106827, 0x6a10dbf, 0x43f305b, 0xa3ba5cf, 0xc1bb083, 0x481b885,
8870
          0xb3117b1, 0x2f52380, 0xddd6791, 0x0066122, 0x63bace3, 0x4f8923e,
8871
          0xecb88d4, 0x5c5f499, 0x3bac146, 0xfdc780a }
8872
    },
8873
    {
8874
        { 0x7ba1f71, 0x34b70ae, 0x45bd184, 0x9091829, 0xe707313, 0x3b39778,
8875
          0x6164e91, 0xdeefc5e, 0x4971f39, 0xbb55bed, 0x8dafc8b, 0x7d52339,
8876
          0xa6adf0f, 0x82391bf, 0xe319522, 0xfd6f90a },
8877
        { 0xf29bbc9, 0x60fdf77, 0xaaa4030, 0xeff9ed8, 0xf8c0d3f, 0x978e045,
8878
          0xeed65cd, 0xe0502c3, 0x3cfd4c8, 0x3104d8f, 0xa639005, 0xab1be44,
8879
          0x9eeab3f, 0xe83f431, 0x451d797, 0x01970e8 }
8880
    },
8881
    {
8882
        { 0x3180f4b, 0xbc972f8, 0x617779d, 0xac053c0, 0x7fa149f, 0x89392c5,
8883
          0xbcb6263, 0xdc4699b, 0xce12882, 0x0ae8b28, 0xaf1a4dc, 0xdca19a7,
8884
          0x64e1a74, 0xd3d719f, 0xaffdd5d, 0xbb50201 },
8885
        { 0x7ac30e9, 0x56f7310, 0x1878900, 0x65cc9c7, 0x27338a3, 0x83f5866,
8886
          0xac5bb13, 0x122adef, 0x1bcd4d5, 0x97de200, 0xb8aa3a0, 0x6ed3985,
8887
          0x6821f9b, 0x8680f1d, 0xdda9f98, 0xcb42028 }
8888
    },
8889
    {
8890
        { 0x0ec2db3, 0xcdb0708, 0x3dad1a1, 0xe28c833, 0xde2da07, 0x2093e32,
8891
          0x83b8987, 0x7317073, 0xf552b8d, 0xad17871, 0x51cf70a, 0x846da98,
8892
          0x5c4f5e1, 0xf94a16e, 0x0f8348a, 0x8429996 },
8893
        { 0x98db78a, 0x4bf3f68, 0x3d19b52, 0xad77fa8, 0x8b972dc, 0x6976772,
8894
          0x5321be0, 0x7dfa35a, 0xdd344a6, 0x9881846, 0xad4e2a8, 0xe550292,
8895
          0xbc68bf1, 0x8075217, 0x893be15, 0xdd837c4 }
8896
    },
8897
    {
8898
        { 0xd4fab5b, 0x09c931e, 0xb77a0f1, 0xb2dcf08, 0xe0d38a6, 0x7dac5c0,
8899
          0x0ae73af, 0xa5570b0, 0xf5aed28, 0xc7c19d3, 0x5251e92, 0x575fa6f,
8900
          0xcdf7275, 0xb843cd6, 0x9a01287, 0xd9d3d8e },
8901
        { 0xb3c370b, 0xf94e356, 0xfe464b0, 0xc62b99f, 0xa986057, 0x7792650,
8902
          0xc4b1874, 0xeaa67d5, 0x0b07078, 0xba1ba4d, 0x7a03699, 0xdbf636d,
8903
          0xedd32a3, 0x1a16c34, 0xa45cb5d, 0x6ce2495 }
8904
    },
8905
},
8906
{
8907
    {
8908
        { 0xa684441, 0xd7c4d9a, 0x30cd42a, 0xce62af6, 0x43014c4, 0xcd2669b,
8909
          0x6f65b24, 0xce7e711, 0x576fa19, 0x1847ce9, 0x9dd8ca6, 0x82585ac,
8910
          0xb42e1db, 0x3009096, 0x384ab8b, 0x2b2c83e },
8911
        { 0xb4e9a6e, 0xe171ffc, 0x7374b40, 0x9de4218, 0xdb1d616, 0x5701f9f,
8912
          0xa3e8cbc, 0x211e122, 0x1e400bf, 0x04e8c1a, 0x0f37159, 0x0297470,
8913
          0x3df8c28, 0x41775d1, 0x61ac2db, 0xcfaad4a }
8914
    },
8915
    {
8916
        { 0x7dc0f49, 0x6341b4d, 0xf471a53, 0xaff6c2d, 0xfb8e91e, 0x20ec795,
8917
          0xc3b7b62, 0x4c7a4df, 0xd374938, 0x9f33ff2, 0x3a60f2e, 0x38f8c65,
8918
          0x2efef73, 0xc1168ac, 0xce408ee, 0x046146f },
8919
        { 0x308b0c3, 0x9b39ac0, 0x36b8570, 0xe032d61, 0xfc4aacf, 0xee07d8d,
8920
          0xd5a41dd, 0x0a82acb, 0x7c3d726, 0xbe0ded2, 0xb926ce9, 0xce51d60,
8921
          0x5806c1e, 0xfa2f7f4, 0x1dec59c, 0xe367c6d }
8922
    },
8923
    {
8924
        { 0xda2547b, 0x64511b6, 0x0761405, 0x76a349c, 0x01223ab, 0x37d6626,
8925
          0xf4d7c48, 0x0e243c1, 0xda756a0, 0xdc9c8b4, 0xd72e7e9, 0xc7430df,
8926
          0x27b4210, 0x0eb1308, 0xcf11cbd, 0x7a9c044 },
8927
        { 0xe8dd150, 0x2c08ff6, 0x2932fc6, 0x18b738c, 0x04513e8, 0x07d5651,
8928
          0xaa40a17, 0x0ca5cff, 0x01baa8f, 0xd486341, 0xb72b79e, 0xfb20faf,
8929
          0x654020f, 0x1a051e5, 0x4e17f23, 0xe3b3317 }
8930
    },
8931
    {
8932
        { 0x4de9428, 0x0591048, 0x5abdf97, 0x620542a, 0xa16a4d1, 0xaa0eded,
8933
          0x6d65bb9, 0xa93f71c, 0xb8dfaf9, 0x88be135, 0x57ca8ee, 0x1d9f4e5,
8934
          0x26781ad, 0x4c896aa, 0x6c6c49f, 0xd3fbe31 },
8935
        { 0x2c34c3d, 0x088d852, 0xbadff1e, 0xbb6d645, 0x385450d, 0xe3080b8,
8936
          0x50ab1f3, 0x5ccc54c, 0xac0657d, 0x4e07e6e, 0xb7ef2c0, 0xa7ba596,
8937
          0x73a81e9, 0xcceca8a, 0x8284c35, 0xa0b804c }
8938
    },
8939
    {
8940
        { 0xf17a6a2, 0x7c55956, 0x789cfa8, 0xb451d81, 0x2506eaa, 0xdf414e8,
8941
          0xae96562, 0x6ef40fb, 0x0e0297e, 0x63ea283, 0x73c46fa, 0xf5df26e,
8942
          0xaac8bce, 0xe00641c, 0x64371f3, 0xc89ed8f },
8943
        { 0x793202e, 0xd22b08e, 0x875cb50, 0x39a9033, 0xf85ddb4, 0xe64eec0,
8944
          0x7acf7b5, 0xdce45a7, 0xb9b802d, 0x39d1e71, 0xbd559ac, 0xafdfe7c,
8945
          0x809eeb5, 0x17ec1f8, 0x4889b8c, 0x8c0e38a }
8946
    },
8947
    {
8948
        { 0x17089da, 0x47eabfe, 0xec90c50, 0x2d18466, 0x5861531, 0xa511aa4,
8949
          0x8c39b39, 0xebb3d34, 0xf1b5282, 0xa0ac4da, 0xa9dadba, 0xea26be7,
8950
          0x554d86e, 0x8992ba8, 0xd5f2ef5, 0x7fcbdb6 },
8951
        { 0x56863e7, 0x320e79b, 0xa7dce2d, 0xeb9d0c0, 0x784cbc6, 0xb9f4031,
8952
          0x7ac1f81, 0x68823ee, 0x9d87497, 0xa6b6f4f, 0x57f9b6e, 0x83c67b6,
8953
          0x0fef2a7, 0x3735747, 0x59596e2, 0xf38028f }
8954
    },
8955
    {
8956
        { 0x7e82886, 0x9ea57ab, 0x48c44d5, 0x18221c5, 0x314a24f, 0xbf8e6cf,
8957
          0xfd025e5, 0x70ff18e, 0x5334468, 0x08d03de, 0x7404fb7, 0x2b206d5,
8958
          0x55e36b0, 0xb923271, 0xb88ddd9, 0xcc7604a },
8959
        { 0x4a746f0, 0x3df5152, 0x168e3fc, 0x8fdebd8, 0x7f8c32c, 0xffc550c,
8960
          0x148743e, 0x1dbbc17, 0xb88e18b, 0xd48af29, 0x750027c, 0x8dca11c,
8961
          0x1832be3, 0x717f9db, 0x2b06019, 0x22923e0 }
8962
    },
8963
    {
8964
        { 0xc1cc4d3, 0xd4e06f5, 0x2b4f03a, 0x0fa32e3, 0xc4628d0, 0x956b9af,
8965
          0x939dad1, 0x95c39ce, 0x8a00416, 0x39d41e0, 0x6fb01aa, 0xfd7ff26,
8966
          0x45af340, 0xc6033d5, 0x8e36584, 0x2f65542 },
8967
        { 0x8dff960, 0x14cfb1f, 0xda81474, 0x7236ffc, 0xd452d0f, 0xc6a6788,
8968
          0x77f6094, 0x2ad4a52, 0x07eea74, 0x369d65a, 0xd6229aa, 0x27c6c38,
8969
          0x8863976, 0xe590e09, 0xb38b142, 0x361ca6e }
8970
    },
8971
},
8972
{
8973
    {
8974
        { 0xdfeb7ef, 0x6803413, 0xd3f4fad, 0xb669d71, 0xc941606, 0x5df402a,
8975
          0x8e6c5b7, 0xe5d1776, 0x92ab236, 0x131bcb3, 0xce2e0e0, 0x7f1fb31,
8976
          0x9e98c35, 0xa2c020d, 0xf28657b, 0x33b23c0 },
8977
        { 0x9cf7879, 0xed14e73, 0xb4357b3, 0x10d4867, 0x31e4e04, 0x127cea3,
8978
          0xaa5f8a7, 0xc60d25f, 0x025b987, 0xfef840a, 0x66f2a0a, 0x78081d6,
8979
          0xac36198, 0x0fa0b97, 0x134dc9f, 0xe0bb919 }
8980
    },
8981
    {
8982
        { 0xcc32eae, 0xc1d2461, 0x0f79a37, 0x0fdbfdf, 0x1c95f02, 0x70f2bc2,
8983
          0x372cddf, 0x7d68bec, 0x8439342, 0x44f7817, 0x4843a6c, 0xa3d5678,
8984
          0x07f8959, 0xbadf77a, 0x73db4ca, 0xf458198 },
8985
        { 0xd54f805, 0xe8eaaf3, 0xb84c1e7, 0x2f529d1, 0x21e535c, 0x404e32e,
8986
          0x159b5f5, 0xabac85c, 0xb00466f, 0x4e8e594, 0xc941873, 0x40fcaab,
8987
          0xbe407c6, 0x3b4e370, 0x5b2e58d, 0xccd5788 }
8988
    },
8989
    {
8990
        { 0x88b74a8, 0x3ee615e, 0xeab4e69, 0xd7d6608, 0xe4ace36, 0x27cf9f1,
8991
          0x7aebabb, 0x282359e, 0xf6d162f, 0x96e509b, 0xf1a290a, 0xad906f3,
8992
          0x1314a58, 0xe7d6c4f, 0x218431d, 0xeecffe4 },
8993
        { 0xe2cfed9, 0xa66e0e9, 0x71f0544, 0xb0887ec, 0xa04c5d7, 0xd34e36b,
8994
          0xed4392d, 0x094daa5, 0xc8aa925, 0xcda83ad, 0xb979786, 0x1adef91,
8995
          0xfddc5d6, 0x3124dcb, 0x0b70c14, 0x5cc27ed }
8996
    },
8997
    {
8998
        { 0x0eac2d8, 0x386dbc0, 0xc50ca30, 0xa716ecb, 0x80d9f04, 0x9e3fc05,
8999
          0xcfeaceb, 0x37dde44, 0xa3522d5, 0xd88d74d, 0x2cf239a, 0x6bb9e9f,
9000
          0xa7cbfec, 0x9e7fb49, 0x0a5c0ef, 0xe1a75f0 },
9001
        { 0xfb9229d, 0x6e434e7, 0xc8a79b3, 0x0ec6df5, 0xd3fb311, 0x7046380,
9002
          0x52e20fa, 0xe957ef0, 0x9ef4614, 0x0f4fe9a, 0x54d8f2b, 0x1b37d9c,
9003
          0x39d84a2, 0x23b2dc1, 0x724e713, 0xf62c4f6 }
9004
    },
9005
    {
9006
        { 0x747e219, 0xbd6922c, 0x3869b7b, 0x34d1438, 0x96f2272, 0x8c875a5,
9007
          0x3fe361e, 0xd9602c0, 0x744839f, 0x081348f, 0x61ac1f1, 0x61bd16c,
9008
          0xd8da4e1, 0x993b727, 0x7741271, 0xbb40ba8 },
9009
        { 0x81dcfff, 0xe6dcc98, 0x93ce616, 0x9f513f5, 0x618cd8f, 0xdc09683,
9010
          0x26639be, 0xc3b1d10, 0xc762ee2, 0xe8f149f, 0xb244aae, 0x59f26ef,
9011
          0x693dd96, 0x3f2de27, 0x9c3a7de, 0xd8b68f7 }
9012
    },
9013
    {
9014
        { 0x970bd5b, 0x6fa20b9, 0x75f6179, 0x87242d7, 0x72d9308, 0xa95a6c6,
9015
          0x37a8a58, 0x6eb2518, 0xc59562c, 0xfdea12a, 0x20f1fc3, 0x4419c1e,
9016
          0x9d66788, 0x0c1bd99, 0x32c0547, 0x4b74288 },
9017
        { 0xdf479ab, 0x4f38acc, 0xc52a942, 0x01f6271, 0x02ca9a7, 0xe3298f4,
9018
          0xb718fc8, 0x533daca, 0xb093ca8, 0x133602a, 0x8f98104, 0xc04da80,
9019
          0xaf08620, 0xd0f2e23, 0x178b164, 0x882c817 }
9020
    },
9021
    {
9022
        { 0xec30a71, 0x28e6678, 0xf78aca1, 0xe646879, 0x88fa078, 0x868a64b,
9023
          0xfee3433, 0x671030a, 0x87c0211, 0xb2a06bb, 0x46c406a, 0x202eca9,
9024
          0xe4f0f59, 0x64d6284, 0x3c9f907, 0x56ae4a2 },
9025
        { 0x1dcc100, 0x5abbb56, 0x07c7784, 0x6fef6cf, 0xdb7302d, 0xb6e25cd,
9026
          0x42980e8, 0xa26785b, 0xfb96801, 0xe7d4043, 0x8e4282b, 0x46df55d,
9027
          0xc602d6e, 0x9c0a5f5, 0x75dfe29, 0xf065604 }
9028
    },
9029
    {
9030
        { 0x3dcbc90, 0x0e82a1a, 0x656feac, 0xb1ee285, 0x0d3d3b2, 0xfa4353b,
9031
          0xdd5c5df, 0xc2e7a6e, 0x416ce53, 0x13707e1, 0x87ebc07, 0xc84ce07,
9032
          0x8a9a834, 0xdd273ce, 0x5e8e1e7, 0x432a617 },
9033
        { 0xbd0064a, 0xa359670, 0x6534516, 0xc899dd5, 0xdb27169, 0x666560e,
9034
          0xa19a068, 0x1537b22, 0xeac7527, 0x3420507, 0x6fc13a7, 0x479f25e,
9035
          0x1bc19b3, 0xc847acc, 0x0b20d45, 0xecdecf0 }
9036
    },
9037
},
9038
{
9039
    {
9040
        { 0x4acea57, 0x6f24100, 0xda68597, 0xdace1c6, 0x50ce77f, 0xea7dd41,
9041
          0x1585884, 0x1aecb84, 0xea4a85c, 0x92ff208, 0x88eebd2, 0xde9433c,
9042
          0x3f4d289, 0x53cd318, 0x26539af, 0x3970858 },
9043
        { 0xb827d87, 0x4b57599, 0x3d77638, 0xdc82ac0, 0x52f6e61, 0x6943366,
9044
          0xad5e8a6, 0xb8fc4b0, 0xf388642, 0x1b6f7dc, 0xa74dd57, 0x6f24533,
9045
          0x41750cf, 0xc669378, 0x28a37af, 0x06757eb }
9046
    },
9047
    {
9048
        { 0xc133995, 0x0e70d53, 0x7c8c97d, 0x88a5e0c, 0x85f3be3, 0x4e59dbf,
9049
          0x0e92698, 0x0f364ac, 0xef6940f, 0x3a1e79b, 0xd85d23a, 0xc8a3941,
9050
          0x9a00e58, 0x143bb99, 0xc6f2f10, 0x61cf7d6 },
9051
        { 0x85150fe, 0x979c994, 0x59d773f, 0xcfd0df2, 0xaab7bcd, 0xce97b9d,
9052
          0x6afd8fc, 0xc9fff8e, 0x89a4628, 0x246befd, 0x1567090, 0xf630282,
9053
          0x6749c58, 0x1539342, 0xa0f3fd3, 0xff47d0e }
9054
    },
9055
    {
9056
        { 0x35f6706, 0x09b0bfd, 0x2c82e69, 0x7464581, 0x50d5fe9, 0xb60729f,
9057
          0x95c74f1, 0xf133245, 0xbb76c89, 0x33647e3, 0x5a9afcc, 0x0126404,
9058
          0x0f154ab, 0x46d57ee, 0x25680a4, 0x2efa555 },
9059
        { 0x5329d90, 0x12ebfc6, 0x79800af, 0xcb37ae5, 0x6f8e310, 0x5bb5349,
9060
          0xf1bb936, 0x9b59c63, 0xf4610e9, 0x5b49baa, 0x4f2d6ac, 0x2bbeeef,
9061
          0x0badc67, 0x87ee21e, 0xf1ddfa0, 0x12e2aad }
9062
    },
9063
    {
9064
        { 0xa9109ee, 0x5b4668f, 0x8a6cea2, 0xfa95133, 0x4068e16, 0xe45e6fc,
9065
          0x0205ed8, 0x8ae9a0c, 0x679b79b, 0x2993b96, 0xed604d3, 0xc6b878f,
9066
          0x32c77f3, 0x01d0208, 0x495a1ab, 0xd45d890 },
9067
        { 0x29d2030, 0x99348fa, 0x61f8f7a, 0x961f9a6, 0x674f74b, 0xfd53212,
9068
          0xb3e72bc, 0x45cee23, 0xb77e2d5, 0x3fccb86, 0x4219cb7, 0xdff0310,
9069
          0xc056871, 0x233771d, 0x7d2c521, 0x1214e32 }
9070
    },
9071
    {
9072
        { 0xff2a8e1, 0x9f51e15, 0x138bc70, 0x86571c5, 0x0c09d46, 0xbfc4caf,
9073
          0xc2a0c18, 0x65e33fe, 0x426867d, 0x8214392, 0x80ae4ed, 0x51ce6c0,
9074
          0xb110de6, 0x6cbe8d7, 0xfd22ea4, 0x7f6e947 },
9075
        { 0xcadefc4, 0x7373a75, 0xb0c682f, 0x6fca1d2, 0xf3c7c1e, 0xcd2140d,
9076
          0x558b7a5, 0x8653a37, 0x55eb321, 0x653e74e, 0xc31af73, 0xbe0c6b3,
9077
          0xf4fc365, 0x3376379, 0x71add4d, 0x3570b37 }
9078
    },
9079
    {
9080
        { 0x83c3494, 0x9061ec1, 0x677bc95, 0xaf2f28d, 0x3bf8768, 0x6fe7279,
9081
          0x0fa86d8, 0xc5f50e3, 0xa3293ce, 0x6c03060, 0xe2355a6, 0x4d53357,
9082
          0xe4df931, 0x43a59ea, 0x13b79c6, 0x6f48f5d },
9083
        { 0xddc5192, 0xa4d073d, 0xa65773f, 0x6d0e318, 0x765de9e, 0x1008792,
9084
          0x39a0375, 0xa724ed2, 0x97d7c9e, 0x510ff14, 0x5baa863, 0x251f622,
9085
          0x648a351, 0x86464fe, 0xd50fd91, 0xf85e98f }
9086
    },
9087
    {
9088
        { 0x86ee987, 0x29c9634, 0x10dcc9f, 0x93e8e52, 0xc910b1f, 0xa1fc4d1,
9089
          0xfeb603e, 0x015acac, 0x0844a5f, 0xc9f25f8, 0x73f4dac, 0x50de93c,
9090
          0x310a4aa, 0x1758783, 0x358f106, 0x544d570 },
9091
        { 0x1dc68ca, 0x4eeec7b, 0xe00fbcb, 0x6238e6f, 0xb4e83c9, 0x34d394c,
9092
          0x2292656, 0x764ffa2, 0xf641f2e, 0x5614cd1, 0x9e07234, 0x4252eb6,
9093
          0x68d2ba4, 0xcbaef45, 0x8a98b17, 0x8c9c550 }
9094
    },
9095
    {
9096
        { 0x4106140, 0xf235d9d, 0x9eb601e, 0x1bf2fc3, 0x375e0c3, 0x6fb6ca9,
9097
          0xc0024d2, 0x4bf5492, 0xeb54cc6, 0x3d97093, 0x5c90cb5, 0xc60931f,
9098
          0xfbe0f1a, 0xfa88808, 0xd33e7d4, 0xc22b83d },
9099
        { 0xc0abbf5, 0x9cfec53, 0x93723df, 0x52c3f0a, 0x39b96b6, 0x0622b7e,
9100
          0x1667270, 0x300de28, 0x9ef426a, 0x50b66c7, 0xc6eb295, 0x8849189,
9101
          0x8914a7e, 0xeaec3a9, 0xc4c99e0, 0x7ed56b0 }
9102
    },
9103
},
9104
{
9105
    {
9106
        { 0x687e557, 0x7926403, 0x5310017, 0xa349816, 0xd43a8fd, 0x1b06e91,
9107
          0x6ac23cb, 0xf201db4, 0x4f48750, 0x6f172ad, 0xe74bd3e, 0x5ed8c8c,
9108
          0xdaba648, 0x492a654, 0xa9b64ff, 0x123010b },
9109
        { 0x6e89f93, 0xa83125b, 0x398378a, 0x3a3b0b0, 0x0aebe7c, 0x9622e0b,
9110
          0x49512a4, 0xb9cbfdc, 0x6aaf12a, 0x13edffd, 0x9f5eafd, 0x555dff5,
9111
          0x1212efa, 0x3cba6fe, 0xd9bb0f8, 0xd07b744 }
9112
    },
9113
    {
9114
        { 0x9a48920, 0x45732b0, 0x13ff36d, 0xf3080fc, 0xde8f950, 0x9347395,
9115
          0x382b897, 0x14d025a, 0x04d72ad, 0x60c5a74, 0x11a9c71, 0x30be7e5,
9116
          0x31ac33a, 0x43ffabd, 0x35cbb14, 0x97b06f3 },
9117
        { 0x7740de9, 0xe4ff5c5, 0xaacf81e, 0x5fed090, 0xe8b7c9d, 0x97196ee,
9118
          0x045910b, 0x316dcd1, 0x5ad8c63, 0x7a2b2f5, 0xc5b03bb, 0x674fffd,
9119
          0xe65953c, 0xc1cd133, 0x0a83556, 0x3c06052 }
9120
    },
9121
    {
9122
        { 0x091c23d, 0x797c3f6, 0x39c9c05, 0x2ea2de3, 0xa31f67c, 0x5d958b4,
9123
          0xd5f088c, 0xf97afe5, 0x0b37243, 0xbcfbd2a, 0xeca630c, 0xc43ad3e,
9124
          0x42845e0, 0xb92a337, 0xa9a0f16, 0x970bff7 },
9125
        { 0x5970a79, 0x8635511, 0xf205928, 0xcee332e, 0xc04c208, 0x2c58d70,
9126
          0x3f5e5bf, 0xdbfe19a, 0x8e51c56, 0x8f8f2c8, 0x8e2da75, 0xb61f58e,
9127
          0x624d93f, 0x4046a19, 0xe1f9538, 0x7de64db }
9128
    },
9129
    {
9130
        { 0xc2d850e, 0xd018e1c, 0x63a723c, 0x8cdb643, 0x90a42af, 0x9a65abe,
9131
          0x16f20cc, 0xfeece96, 0xd5cff56, 0xc906800, 0x3f0deed, 0x0acf23a,
9132
          0x728dd3a, 0x2143061, 0xb8ce34c, 0x66276e2 },
9133
        { 0x73cc9c7, 0x23700dc, 0x5b1778b, 0xdb44851, 0x4aab669, 0x330f41e,
9134
          0xf5282a4, 0x2f5aabc, 0x30f9e01, 0xff837a9, 0x901cc98, 0x1a1eb2f,
9135
          0xe69bd7f, 0xd3f4ed9, 0x8a72a7d, 0xa6b1141 }
9136
    },
9137
    {
9138
        { 0x9ea3b43, 0x34bde80, 0x5ced6ae, 0x5ddcb70, 0x95a6cb8, 0x8257f5b,
9139
          0xc77dcb8, 0xaac205d, 0x035b397, 0x77d740d, 0xcf7e0a6, 0xca7847f,
9140
          0x085601b, 0x9404dd6, 0x457e4f9, 0x0a5046c },
9141
        { 0xbc11470, 0xcaee868, 0x005c5f6, 0xb118796, 0xec79173, 0xcc04976,
9142
          0x21f6827, 0x7f51ba7, 0x486ff7e, 0xa8e3f0c, 0xf87838c, 0x327163a,
9143
          0x6d039fd, 0xcf2883e, 0xdb8b0e2, 0x6fb7ab6 }
9144
    },
9145
    {
9146
        { 0x620d669, 0x8ca5bac, 0xed7caa9, 0xff707c8, 0x927909b, 0xdaefa2b,
9147
          0x7029da3, 0x1d2f955, 0x6d131a0, 0x52a3ba4, 0x3ab1041, 0xe5a94fd,
9148
          0x99bc0ae, 0x5089177, 0xfa1bd16, 0xf750354 },
9149
        { 0x6cd31fd, 0xdd4e83a, 0x92fac84, 0xd335053, 0x1691382, 0xf914cbc,
9150
          0xda6ade6, 0x669683f, 0x8878513, 0x6944643, 0x4b1a72d, 0x429d3cc,
9151
          0x61eec36, 0x655c46a, 0x4bc4970, 0x881eded }
9152
    },
9153
    {
9154
        { 0x7ca647f, 0x5b39d37, 0xe917b34, 0x41533c1, 0x7daf734, 0xea2aeb5,
9155
          0x1286560, 0xf1ef1eb, 0x08e0473, 0x582f2e0, 0x5edc74a, 0x5913d7d,
9156
          0x3c1e754, 0x588c7ec, 0x7146fe1, 0xbd6db05 },
9157
        { 0x7634907, 0x3b0d49e, 0xe43b9cc, 0x4c65ce4, 0x2d92d5b, 0xb87e958,
9158
          0x7ab1519, 0x0513572, 0x8c3aed0, 0x03ec084, 0x561a641, 0x4d7aa21,
9159
          0x99e92ad, 0xe5f8211, 0x48a457c, 0x379b55f }
9160
    },
9161
    {
9162
        { 0xd6a8442, 0x8317c34, 0xae499da, 0xb0ab4a5, 0x720e8eb, 0xebcb16e,
9163
          0x9a96908, 0xfd5c563, 0xad23acf, 0xcab4d67, 0xbcdf748, 0xa600a79,
9164
          0xa2a6a51, 0x18a6340, 0x3aabd69, 0xf2f415c },
9165
        { 0x747258a, 0xdb38a4f, 0x2e24415, 0xb6ea560, 0xf1f7655, 0xfad1ea9,
9166
          0xc957684, 0x4e27eb5, 0xb2e1cfc, 0xf8283e1, 0xaa6291c, 0x8f83bd6,
9167
          0x5619e84, 0x28d23b5, 0x93770a4, 0xb9f34e8 }
9168
    },
9169
},
9170
{
9171
    {
9172
        { 0x7515fb1, 0x1bb8437, 0x7b860a6, 0xac73f2a, 0x22b390f, 0x78afdfa,
9173
          0x66048aa, 0x815502b, 0x85bf620, 0xf513b97, 0x3fc5d7c, 0x2524e65,
9174
          0x178c969, 0xa10adc0, 0x5391c8d, 0xa1d5396 },
9175
        { 0xa8bcc45, 0x09fccc5, 0x7710e1e, 0xa1f97d6, 0x897d0a1, 0xd694442,
9176
          0x5f42400, 0x7030beb, 0x7127908, 0xdebe08c, 0x2187637, 0x96b715c,
9177
          0xb528129, 0xc598250, 0xa1ccb07, 0x0f62f45 }
9178
    },
9179
    {
9180
        { 0xb765479, 0x8404941, 0x5837dc4, 0xfdecff4, 0xadbd465, 0x1796372,
9181
          0x3159806, 0x5f84c79, 0x6aaad34, 0x6d2e46b, 0x384b375, 0xd303b4a,
9182
          0xb392002, 0x440acd5, 0xc475e87, 0x4f2a4a7 },
9183
        { 0x5606fc2, 0x038e1da, 0x9c2f050, 0x2d821c2, 0xf139db4, 0xc074cb3,
9184
          0x4ec59be, 0xde2fee7, 0xa84ed59, 0x5a819ee, 0x3e98711, 0xd65c62c,
9185
          0xb9723c1, 0x72eb440, 0x01be611, 0xb927754 }
9186
    },
9187
    {
9188
        { 0xab9e9fc, 0x929fe64, 0x0bf1e85, 0x04379fd, 0xbc28ee3, 0xb322093,
9189
          0xe4555e1, 0x78ac4e2, 0xabc5588, 0xdb42b58, 0x77c8b12, 0x1c1b5e1,
9190
          0x40366c4, 0xf6d78dd, 0xbdae22e, 0xc21ff75 },
9191
        { 0xa211df2, 0x1e3d28e, 0x3617c0a, 0xc5a65a1, 0x58140d5, 0x3fa02c0,
9192
          0xb62d10c, 0x155c346, 0xe48268f, 0xc9cf142, 0x1993bc3, 0xdc14083,
9193
          0x0ee69dc, 0x07c44d4, 0x5e2ac46, 0x6169950 }
9194
    },
9195
    {
9196
        { 0xd0fb585, 0x44e4a51, 0xf1f3ce8, 0x00846be, 0x8e2de1e, 0xedef39a,
9197
          0x33b3934, 0x430afe3, 0x4337188, 0xac78b05, 0xc9a3f24, 0x0f39de4,
9198
          0xc9ae6a4, 0x039eddd, 0x8eacd51, 0xf470157 },
9199
        { 0x9a2f31a, 0x1e39694, 0xb19a8b1, 0xc8a40f4, 0x9d239d8, 0xdddd10c,
9200
          0x887e066, 0xf974245, 0x3ea28c6, 0xfdb5111, 0xe1122a9, 0xb5af0fb,
9201
          0x36e0267, 0xd30c89f, 0x74f024c, 0x7b1c0f7 }
9202
    },
9203
    {
9204
        { 0x07a39bf, 0x1ec9956, 0x3a68d15, 0x1c3ecf2, 0x4f59fe9, 0xd8a5c4e,
9205
          0x271abc3, 0xacb2032, 0x71ef239, 0xbc6bdf0, 0xb39b391, 0x660d7ab,
9206
          0xb627a0e, 0x2e73bb2, 0x248fc7e, 0x3464d7e },
9207
        { 0x1666760, 0xaa49249, 0x8582659, 0xa257b6a, 0x5593089, 0xf572cef,
9208
          0x73ca6bf, 0x2f51bde, 0x764cff5, 0x234b63f, 0xd411a35, 0x29f48ea,
9209
          0xafe1db1, 0xd837840, 0xd9f4c4b, 0x58ec0b1 }
9210
    },
9211
    {
9212
        { 0x5e6f3dc, 0x8e1deba, 0x06a5ff7, 0xc636cf4, 0xc80ca0f, 0xe172b06,
9213
          0x5ffb90a, 0x56dc098, 0x9a05e83, 0x895c218, 0x7561ac2, 0x6ddfaec,
9214
          0x96283a0, 0xaa35749, 0x7e7cd43, 0x6dfb262 },
9215
        { 0x2c8ca27, 0x6576de5, 0x49018eb, 0x6a4a872, 0x5c34342, 0x00c275c,
9216
          0xd2d90c4, 0xe34805a, 0xd8743c4, 0x651b161, 0x7312bf3, 0xb3b9d9b,
9217
          0x0bf7e00, 0x5d4b8e2, 0x78d3d7e, 0x8899bdf }
9218
    },
9219
    {
9220
        { 0xfaa9cd1, 0x9644ad8, 0x6e0e58e, 0x34c98bf, 0x404c637, 0x6022aad,
9221
          0x7ac013b, 0x2a11a73, 0x5540899, 0x5bdd103, 0x1e022a4, 0x2e67572,
9222
          0xb834c33, 0xe32045d, 0x2f2d01c, 0x74a260c },
9223
        { 0xc48841c, 0x20d59e9, 0xe560359, 0x05045dd, 0xac998ac, 0xeba779c,
9224
          0x00a6218, 0x5bed10c, 0x5327ef4, 0x25d4f8e, 0x4597794, 0xa278474,
9225
          0x831d11e, 0xefd68ca, 0x934446a, 0x9ad370d }
9226
    },
9227
    {
9228
        { 0x73c92ac, 0x3089b3e, 0x957a75c, 0x0ff3f27, 0xd676f50, 0x843d3d9,
9229
          0xd496d43, 0xe547a19, 0x8e924a4, 0x68911c9, 0x85b5522, 0xfab38f8,
9230
          0x83e0ac5, 0x1048811, 0xdc788c4, 0xcaccea9 },
9231
        { 0xe3c6aad, 0xfbe2e95, 0xb3a6cf1, 0xa7b3992, 0x87d78b1, 0x5302ec5,
9232
          0x1826100, 0xf589a0e, 0x8610632, 0x2acdb97, 0x9232b26, 0x1e4ea8f,
9233
          0x9c09a15, 0xb21194e, 0x849b909, 0xab13645 }
9234
    },
9235
},
9236
{
9237
    {
9238
        { 0xf3a71c1, 0x92e5d6d, 0x297d661, 0x349ed29, 0x1713fc9, 0xe58bd52,
9239
          0xb9ddfb5, 0xad999a7, 0x3c28ce0, 0x271c30f, 0x2a9d460, 0xf6cd7dc,
9240
          0x207dec7, 0xaf728e9, 0xfcb8bf0, 0x9c2a532 },
9241
        { 0x68bf486, 0xd702184, 0x7ab8ea8, 0x73b45be, 0x1795c93, 0xddfc658,
9242
          0x6bb8da2, 0x7941660, 0x88e07a2, 0x658f197, 0x26d3d12, 0xa9d5b08,
9243
          0x9535b52, 0x4d7c95f, 0x268ef8a, 0xad55e25 }
9244
    },
9245
    {
9246
        { 0xa2bc326, 0x94a9b0b, 0x167e5f3, 0x485ecc5, 0xc97fc74, 0x8340bc7,
9247
          0x07aaa5c, 0x06f882b, 0x849698a, 0x4b57455, 0xb36a0ba, 0xd9281eb,
9248
          0x8b8108f, 0x8918c6c, 0x5b50d1d, 0xedd1eea },
9249
        { 0x2a25f50, 0x94d737d, 0x2446ad0, 0x0e5a823, 0x7ced3e2, 0x02a5435,
9250
          0x4af8ced, 0xb09a92a, 0xeeecef2, 0x85fc498, 0xe71e3d4, 0x06a02b9,
9251
          0x84bb49a, 0x00ad307, 0x64a5b4a, 0xf61585e }
9252
    },
9253
    {
9254
        { 0xb86a4c9, 0x915f6d8, 0xa861e1f, 0x944bc6b, 0x54465ef, 0x3091ca7,
9255
          0xeb53a38, 0x11df859, 0x0144679, 0xd44dde5, 0x0994edd, 0x6c8da9a,
9256
          0x91241ef, 0xeebcebf, 0xc2f6859, 0xc419354 },
9257
        { 0x49581b6, 0x1f49693, 0xbb26cb4, 0x5712b10, 0xb09fd59, 0x8fcaa41,
9258
          0x72e22e3, 0xbd39aad, 0xb1199b0, 0xf70e794, 0xc6f863d, 0xdf63c0c,
9259
          0xee9df4f, 0xd58166f, 0xc45e70b, 0xb9224ea }
9260
    },
9261
    {
9262
        { 0xce525f4, 0x80072fa, 0x66a5502, 0x8597bd6, 0xdbc9725, 0xf65e203,
9263
          0xf2222a4, 0xeccfbe3, 0x2339834, 0x490aa42, 0x62489e8, 0x1348891,
9264
          0xa735084, 0xaff3f80, 0xf3f1bd6, 0x69d53d2 },
9265
        { 0x813341a, 0xb123ffc, 0x1173848, 0x359084c, 0xd29b08d, 0x751425e,
9266
          0x3890ad4, 0x1edda52, 0x607cf20, 0xb64974c, 0xb42ac7c, 0xa8c8cb8,
9267
          0xedd42e5, 0xd5cb305, 0x44c090a, 0xf3034dc }
9268
    },
9269
    {
9270
        { 0xbb18e19, 0x428921d, 0xfed2127, 0x4cfd680, 0x92ac8c3, 0x671144d,
9271
          0x132c894, 0x2121901, 0x7604cd9, 0x25d0e56, 0xafbc2a0, 0xa372223,
9272
          0x56c16f7, 0xcf98a52, 0xb5459e1, 0x71f129a },
9273
        { 0xb668b2e, 0xf4afdc5, 0x0c2d410, 0xc5d937a, 0x285d54a, 0xe2cc4af,
9274
          0x8c53e18, 0x1c82777, 0x69a92f6, 0x270f2c3, 0x616327a, 0x799f9ac,
9275
          0xd4246f2, 0xce658d9, 0xfb12e36, 0x0fb681f }
9276
    },
9277
    {
9278
        { 0xe0690fe, 0xc5ab11e, 0x3f74249, 0x80261e3, 0x58c1cf2, 0x8eb4b47,
9279
          0x184ae9b, 0x4895a80, 0xd3e27eb, 0x4a4bdb6, 0xbfd251c, 0xa7a1638,
9280
          0x417a7e3, 0x29ec144, 0x3f1b960, 0xd073609 },
9281
        { 0x49c73d1, 0xcb1ed83, 0x8d1945a, 0x33fc84a, 0xe965118, 0x9f668db,
9282
          0xa82811f, 0x3331743, 0x28ba540, 0xf394dec, 0x654a454, 0x44ce601,
9283
          0x3623645, 0x240dbb6, 0x2e61048, 0xf07e7f2 }
9284
    },
9285
    {
9286
        { 0x3d45213, 0x7c9f176, 0x9c1f77f, 0x3eefa70, 0x1b48350, 0xde3c3c5,
9287
          0x9d481a7, 0x4a2bc64, 0x7874f3d, 0xfd4a58a, 0x037b302, 0x96655d4,
9288
          0x68bf5ab, 0x9452528, 0x75177f6, 0x1b6d46a },
9289
        { 0xefb8d00, 0x7de6763, 0xa741b7b, 0xb2c1ba7, 0x7bae6ed, 0xcca6af4,
9290
          0x5b68b3f, 0xe4378ca, 0xaf71948, 0xfb757de, 0xbc6ac99, 0x7f07b5e,
9291
          0x27d636d, 0x752a568, 0x4b8a34f, 0xc8b7d1d }
9292
    },
9293
    {
9294
        { 0x325331b, 0x76cb78e, 0xadd2eed, 0x41f41c9, 0x5c5f623, 0x03db238,
9295
          0x7102fa2, 0xbbc1d17, 0x60182ec, 0x80f137a, 0x55adf15, 0xfdd8569,
9296
          0xe3373dc, 0x4f53f5e, 0x21b669b, 0xec6faf0 },
9297
        { 0x0b86081, 0x7d4e983, 0xf2d979c, 0x10d3cd9, 0x24a22c8, 0x0f48f58,
9298
          0x02f99ee, 0x86c540c, 0x5e6c5fc, 0xf4c6654, 0xbc404c8, 0xaf0c588,
9299
          0x423118a, 0x2e6edbd, 0x0690eab, 0x86e32e9 }
9300
    },
9301
},
9302
{
9303
    {
9304
        { 0xdfbfa6f, 0x1d12656, 0x7646018, 0xa498095, 0xc3597d0, 0x2f1071b,
9305
          0x1dda80a, 0x3df83f9, 0xf3ae449, 0x5853e28, 0x9e19aad, 0xb853d31,
9306
          0xa0d8a46, 0x863f01b, 0x2fef108, 0xa84fca6 },
9307
        { 0xfb84de9, 0xbe4c0b7, 0xc0727bf, 0x40a03dc, 0xb18575c, 0x781f841,
9308
          0x466cddb, 0x6a63045, 0x05dc7a2, 0x6be7582, 0x07ae811, 0x420f87f,
9309
          0x3bf96c8, 0x2808242, 0x51c6821, 0x723998c }
9310
    },
9311
    {
9312
        { 0x81f5863, 0x38ab641, 0x05ff9e1, 0xd82ecbd, 0xa065856, 0x339c94e,
9313
          0xa45156d, 0x143054a, 0x065628c, 0xe6d64bf, 0xa938589, 0xe530086,
9314
          0x385d79b, 0x22d3a49, 0x0ab8245, 0x0b10790 },
9315
        { 0xca387b5, 0xb0d80fb, 0x35551d7, 0x698206e, 0xa10bb73, 0x199685d,
9316
          0x9107378, 0xa8e5fa8, 0xd99dbbf, 0x36e5724, 0xd581b03, 0xd67f476,
9317
          0x88dd1e6, 0x7a15be7, 0xe5baa31, 0x8dac8e4 }
9318
    },
9319
    {
9320
        { 0xe170ef8, 0x4d5d88f, 0x1e9e600, 0xb6ba5de, 0xedeabc5, 0x4a89d41,
9321
          0x8fac936, 0x737c66b, 0x65c3125, 0x8d05b23, 0xb61b68e, 0x85a5cbc,
9322
          0x20a6af9, 0x8fea626, 0xd8b50ec, 0x85115de },
9323
        { 0x6a6f30b, 0x5430c8d, 0x8474295, 0x8bef9cf, 0xbe77f38, 0x0648f5b,
9324
          0x9e47bd7, 0xfe2b72f, 0x93106e2, 0xad6c5da, 0xfa7a6c3, 0x4fa6f3d,
9325
          0xb396650, 0xdcd2ed8, 0x1157ef9, 0x7de1cce }
9326
    },
9327
    {
9328
        { 0x1f241d1, 0x70a5f6c, 0x798cd5c, 0x6c354d8, 0x1a729fb, 0x23c7838,
9329
          0x523cbda, 0xcff8f15, 0x3493697, 0x5683ff4, 0x7534f53, 0xef7dbab,
9330
          0x2243d53, 0xd7bd08e, 0xf8072a9, 0x6f644cb },
9331
        { 0xb22db63, 0xac960f9, 0x23af04d, 0xa97f417, 0xd9798af, 0x692b652,
9332
          0xfedb156, 0x0e35967, 0xdfe6ee8, 0x14b5e50, 0xb411070, 0x7597ede,
9333
          0x442b3f9, 0x116f3ce, 0x1b2b6db, 0xe9b5ae8 }
9334
    },
9335
    {
9336
        { 0x2315930, 0xf4385ee, 0x27a8740, 0xc8d0298, 0xd934a43, 0x7907a8d,
9337
          0xc582191, 0x20bc946, 0x6a405e7, 0xa4acb3e, 0x43df2f5, 0x8c1d6c8,
9338
          0x991f0b5, 0x9df1593, 0x4d9be9d, 0xbb9df98 },
9339
        { 0x8e4b190, 0x6362008, 0xada3a88, 0xee1421e, 0xf93b027, 0xb84f0cc,
9340
          0x8e95091, 0x7a5d667, 0xf3e3704, 0x3974462, 0xc593e98, 0xfa6fb5e,
9341
          0xa6477d2, 0x44b6cf7, 0xb09a562, 0xe885b57 }
9342
    },
9343
    {
9344
        { 0x09a0c02, 0x6e339e9, 0x0e75f29, 0x57afff0, 0xfb7db03, 0x797d8d6,
9345
          0xd25a236, 0xc6e11a3, 0x0107260, 0x643ce1c, 0x62eae1c, 0xe644ec4,
9346
          0x3f5a3f5, 0x821d5b8, 0xc0579d6, 0xa8ad453 },
9347
        { 0x17d43a4, 0x6518ed4, 0x3f87ccd, 0x46e76a5, 0xf9bef95, 0xd6cbaab,
9348
          0x4f7cbcf, 0x2568832, 0x08476b4, 0x367159a, 0xbe6d324, 0x1d1b401,
9349
          0xa605026, 0x348cb98, 0x43b6b1e, 0x144f3fe }
9350
    },
9351
    {
9352
        { 0x7b1822c, 0xbabbd78, 0x2aa51f8, 0xd34ba7e, 0x41fbea4, 0x086f1cc,
9353
          0x746f3d9, 0x96f7eac, 0x281ecaf, 0xad97f26, 0xa14ee2c, 0x751a905,
9354
          0x0d7335f, 0xb4e7fe9, 0x4892ff0, 0x0d97b8f },
9355
        { 0x5a5c40e, 0xdb8a315, 0x7ba567b, 0x64e5de7, 0x1eefe88, 0x4f155f7,
9356
          0xfb6fbf4, 0xe2297e9, 0x6c16be5, 0xfe24bf9, 0xcdd83e2, 0x2251847,
9357
          0x5eda444, 0x13ac2c8, 0x283275f, 0x49d1b85 }
9358
    },
9359
    {
9360
        { 0x423e08f, 0xca08731, 0x87d2f14, 0x7046bb0, 0x3bc846c, 0x876f10c,
9361
          0x358fbe3, 0x2202b76, 0x0e26ac6, 0x0d4fc1c, 0xb986881, 0x1fc748b,
9362
          0x8384a18, 0x609e61c, 0x0d88e00, 0x28a72d6 },
9363
        { 0x78c6e2f, 0x1332a31, 0xb3526a4, 0x0367919, 0x698fe3e, 0x53989e4,
9364
          0xb16a99b, 0x14b1145, 0xddbb75f, 0xef9ec80, 0x0e53955, 0x7625624,
9365
          0x8744ae1, 0x54e087a, 0x672b875, 0xce50e8a }
9366
    },
9367
},
9368
{
9369
    {
9370
        { 0xa29629c, 0x4c88b2b, 0x7b2642f, 0x946559c, 0xf7ebe4c, 0x933d432,
9371
          0x63632c9, 0x97109b6, 0xe53184d, 0x799b3fb, 0x0f069a6, 0xd462871,
9372
          0x3a68351, 0x0c182a1, 0x9a2437a, 0x974a839 },
9373
        { 0x2a70278, 0x29f1997, 0xd9c424b, 0x01b98b6, 0x08f4c37, 0xd85a60b,
9374
          0x2b1da15, 0xcc3523f, 0xddffb0f, 0xf922115, 0xde84ae2, 0xee0fe4d,
9375
          0x55365be, 0x810440c, 0x1a457e8, 0xd2f6639 }
9376
    },
9377
    {
9378
        { 0xe2ddd05, 0x5e6879f, 0xabdfc61, 0x92a7545, 0xa5cede8, 0x7dedd63,
9379
          0x70df4bd, 0x8a03b3f, 0x91f6cbb, 0xa5d1f65, 0x10f3fb2, 0x372fde6,
9380
          0xa9dee05, 0x4537f9e, 0xdf7aa50, 0x7eb85bb },
9381
        { 0xe8c504d, 0x963edf8, 0xe7bdb6b, 0x53c8dca, 0x6fedf2d, 0xa246e4c,
9382
          0x0c55bde, 0x7553340, 0x0270a54, 0x2aa748d, 0x05860dd, 0xadb6cf0,
9383
          0x9b84763, 0x8d31450, 0xeb405ef, 0x626720d }
9384
    },
9385
    {
9386
        { 0x6601328, 0xa3709ae, 0x2ac2478, 0x68e94fd, 0x9d5d247, 0x3879343,
9387
          0x392c198, 0xfa467af, 0x15df607, 0x49e7b0d, 0x61792a8, 0x8c58122,
9388
          0x1d3762f, 0x79f7658, 0x244a39d, 0xaa38895 },
9389
        { 0xc5cd0bc, 0xef60af9, 0xa33b3bb, 0x2b0db53, 0x251015d, 0xe3e0b1f,
9390
          0xe64489e, 0xc608afc, 0x03651aa, 0xe52b057, 0x1c6f7b9, 0x1dda8b9,
9391
          0xff41893, 0x833f022, 0x192818c, 0x58eb0a0 }
9392
    },
9393
    {
9394
        { 0xfc7b5a7, 0x6c1300c, 0xa83ab33, 0x6d2ffe1, 0x9c02eef, 0x7b3cd01,
9395
          0xba60d55, 0x6c64559, 0x19e2f73, 0x2e9c16c, 0xdbe47b1, 0x11b24ae,
9396
          0x1b8153b, 0xc10a2ee, 0x1e02e1a, 0x35c0e08 },
9397
        { 0x1dd6f16, 0xa9f470c, 0xf41a290, 0x4ea93b6, 0x25ee03f, 0xac240f8,
9398
          0xb85aabd, 0x6cd88ad, 0x1be2f8f, 0x378a64a, 0x417bac1, 0xbf254da,
9399
          0x9231142, 0x7e4e5a5, 0x3b8c057, 0x057aadc }
9400
    },
9401
    {
9402
        { 0x80af479, 0x607c77a, 0x5ccdf74, 0xd3e01ff, 0x101b4c7, 0x9680aaf,
9403
          0x2fc50a6, 0xd2a7be1, 0xb72d782, 0x92a788d, 0x4640b52, 0x35daf2e,
9404
          0x39e601c, 0xc170d69, 0x7b25c2f, 0x16e05f5 },
9405
        { 0x6fe37f8, 0x47a42a6, 0xbeca298, 0xeb74271, 0x179da16, 0x401e11e,
9406
          0xaa53873, 0xfb8da82, 0x5bb4783, 0xd657d63, 0xfcea0b1, 0x6847758,
9407
          0x0993154, 0x2f261fb, 0x592853a, 0x868abe3 }
9408
    },
9409
    {
9410
        { 0x35766ab, 0x1a4c543, 0x6f4e4ea, 0xa1c84d6, 0x60ba199, 0x5d737a6,
9411
          0x98b15a2, 0x4a7b1e2, 0xfd967d3, 0x207877f, 0xc262b4d, 0xcaec82d,
9412
          0x4f2a37d, 0x0b27849, 0x6ac1711, 0x3478141 },
9413
        { 0x8fc6856, 0x28e3df1, 0x16d003f, 0xbec03f8, 0xff39ebd, 0x2bd705b,
9414
          0x2d776d3, 0x1dcb53b, 0x5c0e7ce, 0xabafa7d, 0x4a53332, 0x5b9c8c2,
9415
          0x9d90214, 0xe9f90d9, 0xc129690, 0x789747e }
9416
    },
9417
    {
9418
        { 0x54e2dfa, 0x94d3c39, 0xafb2a8f, 0x919f406, 0x34e3927, 0x159ef05,
9419
          0xa165c37, 0xcdb4d14, 0x288f337, 0xa23e5e8, 0x0f90242, 0x95867c0,
9420
          0xe34e781, 0x2528150, 0x6657b95, 0x104e501 },
9421
        { 0xbcdda24, 0x695a6c9, 0x23eb5fa, 0x609b995, 0x16a60f8, 0xcbce4f5,
9422
          0xf084a29, 0xec63f7d, 0x20c811f, 0x3075ada, 0x8c716a1, 0x129a192,
9423
          0xcd4cd4a, 0xd65f4d4, 0x62188be, 0xe18fa9c }
9424
    },
9425
    {
9426
        { 0xbac60e3, 0x1672757, 0x577144b, 0x525b3b9, 0x887055b, 0x38fc997,
9427
          0x31e4408, 0x7a77126, 0xcba2fcf, 0x884f173, 0x5962ac0, 0x783cbdc,
9428
          0x22287dc, 0x4f3ed0a, 0x50e20e6, 0x8a73e34 },
9429
        { 0xd764583, 0xe7a1cd0, 0x0d58ee6, 0x8997d8d, 0xaa13ed6, 0x0ea08e9,
9430
          0xcf363cb, 0xed478d0, 0x5b37bf4, 0x068523d, 0x783f13c, 0x8b5a9e8,
9431
          0x87528a9, 0xde47bbd, 0xcaec313, 0xd6499cc }
9432
    },
9433
},
9434
{
9435
    {
9436
        { 0xe09859d, 0x54781bb, 0x7f5e648, 0x89b6e06, 0x7075824, 0xb006dfe,
9437
          0x0717f68, 0x1731660, 0x0b4efe2, 0x9c86554, 0x5e30d8e, 0xdbdb257,
9438
          0x3b4d50f, 0xa6a5db1, 0xfa47beb, 0x3b5662c },
9439
        { 0x89d4a59, 0x9d4091f, 0x550a7dc, 0x790517b, 0xc52965e, 0x19eae96,
9440
          0xb5ed7a4, 0x1a7b3c5, 0xeb16541, 0x19e9ac6, 0xef66852, 0x5f6262f,
9441
          0xc4cda27, 0x1b83091, 0x3bf742b, 0xa4adf6f }
9442
    },
9443
    {
9444
        { 0xa5100e7, 0x8cc2365, 0x8592422, 0x3026f50, 0x3d714d0, 0xa4de79a,
9445
          0x90fcb30, 0xefa0d3f, 0x474ada0, 0x126d559, 0xc94350a, 0xd68fa77,
9446
          0x0c7cb45, 0xfa80e57, 0x3985fbf, 0xe042bb8 },
9447
        { 0xfe13dba, 0x51c80f1, 0xcf055d7, 0xeace234, 0x73f95f7, 0x6b8197b,
9448
          0xdcdbe89, 0x9ca5a89, 0xdfd9896, 0x2124d5f, 0x9e7ca37, 0x7c69556,
9449
          0x8babb37, 0x58e806a, 0xbaf99ce, 0x91b4cc7 }
9450
    },
9451
    {
9452
        { 0x197e968, 0x874e253, 0x3160668, 0x36277f5, 0x8b95dbe, 0x0b65dda,
9453
          0xf0872a1, 0x477a792, 0x314268d, 0x03a7e3a, 0x0c805c7, 0xa96c842,
9454
          0xb7bc4a8, 0xb941968, 0x75db390, 0x79dce30 },
9455
        { 0x6f4cc14, 0x577d4ef, 0xb5d1107, 0x5b0d205, 0x9f93624, 0x64ff20f,
9456
          0x5034a2f, 0x0b15e31, 0x8b6f35c, 0x3a0f6bb, 0xe0d0ec5, 0x0399a84,
9457
          0x0d5d521, 0xd0e5823, 0xcb1dd54, 0xdeb3da1 }
9458
    },
9459
    {
9460
        { 0x182401a, 0x24684ae, 0x21a706f, 0x0b79c1c, 0xd8998af, 0xe1d81f8,
9461
          0x4bb069f, 0xadf870f, 0xf3dd7aa, 0xd57f85c, 0xe4a40f8, 0x62d8e06,
9462
          0x8b55aa1, 0x0c5228c, 0xa9c0a1a, 0xc34244a },
9463
        { 0x68f544e, 0xb5c6cf9, 0xde23ab7, 0xa560533, 0x47c690c, 0xaa55120,
9464
          0x12aaaa6, 0x20eda5b, 0x751a6a0, 0xea0a49a, 0x2baa272, 0x6d6cfff,
9465
          0xbf4c28a, 0x95b756e, 0xe6178a4, 0xd747074 }
9466
    },
9467
    {
9468
        { 0x221a94b, 0xa27b453, 0xe635f20, 0xd56ad13, 0x8c95117, 0x03574b0,
9469
          0xed30b70, 0xf0ee953, 0x957796f, 0xb48d733, 0x58c336b, 0xf5d9583,
9470
          0x82db529, 0x6170cd8, 0xec9d1ea, 0xcd3ef00 },
9471
        { 0xe4d105f, 0xd1bea0d, 0xad6a559, 0xd2d670f, 0x52f9690, 0x652d012,
9472
          0xc2529b0, 0x5f51fb2, 0xe89df2a, 0x5e88bf0, 0xcd686e4, 0x9a90684,
9473
          0x882c7a1, 0xf519ccd, 0xc2f4d37, 0x933a0df }
9474
    },
9475
    {
9476
        { 0x3f66938, 0x0720a9f, 0xd8149df, 0x99356b6, 0xa3d7f61, 0xb89c419,
9477
          0x4ba6e31, 0xe658134, 0xab936c8, 0xd130561, 0x40dbef1, 0x0625f6c,
9478
          0xb6bb847, 0x7b2d6a2, 0x84d506b, 0x3ca8b29 },
9479
        { 0xfb011b0, 0x6bf729a, 0x33448c9, 0x01c3078, 0x0837420, 0x6ae9508,
9480
          0xa207fb8, 0xf781a8d, 0x57562a9, 0xcc54d58, 0x858c5ab, 0xc9b7364,
9481
          0x359908f, 0xdfb5035, 0x9631138, 0x8bf77fd }
9482
    },
9483
    {
9484
        { 0xc13fbb1, 0xf523365, 0x9993ed5, 0x88532ea, 0x5a73492, 0x5318b02,
9485
          0xe5a8f3c, 0x94bff5c, 0x306c2a0, 0x73f9e61, 0xf2668a3, 0x00abbac,
9486
          0x076237d, 0x23ce332, 0x34c0f9b, 0xc867f17 },
9487
        { 0xcfd2136, 0x1e50995, 0xb2b70f8, 0x0026a6e, 0x5077a7d, 0x66cb184,
9488
          0xa3b498e, 0xc31b2b8, 0x260ec86, 0xc12035b, 0xe1b3df0, 0x1cbee81,
9489
          0x8d55a42, 0xfd7b804, 0xf47a8c8, 0x912a41c }
9490
    },
9491
    {
9492
        { 0x9e157e3, 0xab9ffe7, 0x44dc158, 0x9cfe46d, 0x8a4a3ef, 0x435551c,
9493
          0x3b7e3a8, 0x638acc0, 0x49954a7, 0x08a4ebd, 0x13194f7, 0x295390c,
9494
          0x253892a, 0x3a2b68b, 0x25d5b11, 0xc1662c2 },
9495
        { 0x3a5d2bb, 0xcfba072, 0xcc327c9, 0xffaf6d3, 0xc67e254, 0x6c6314b,
9496
          0x2f32208, 0x6661631, 0xbea72e1, 0xf780f97, 0x002122f, 0x495af40,
9497
          0x7578a99, 0x3562f24, 0x77ce51e, 0x5f479a3 }
9498
    },
9499
},
9500
{
9501
    {
9502
        { 0x1a82a12, 0x91a5884, 0x80f3a62, 0xa754175, 0xf73417a, 0x399009f,
9503
          0x0a8c5cd, 0x2db1fb9, 0xc046d51, 0x82c8912, 0x8f18274, 0x0a3f577,
9504
          0x26ccae2, 0x2ad0ede, 0x8a4e9c2, 0x7d6bd8b },
9505
        { 0x4b3de44, 0xaa0d797, 0x96ac9bb, 0xf8658b9, 0x5f6c334, 0x31e7be2,
9506
          0x4df12c9, 0x23836ce, 0x59eb5c9, 0x029027b, 0x5b8649d, 0x2f22531,
9507
          0xd907162, 0xa0fdf03, 0x9e80226, 0x101d9df }
9508
    },
9509
    {
9510
        { 0x9a90835, 0xf12037a, 0xf0222a7, 0xd2d0882, 0xc3814e2, 0xeaf8d40,
9511
          0x8b8146b, 0xa986dc6, 0x8504653, 0x147a331, 0x2feaf67, 0x734e003,
9512
          0x602bec5, 0x6f27bbf, 0x6a688f3, 0xa1e21f1 },
9513
        { 0x73c4ae5, 0x5a8eeab, 0xe70b412, 0x4dbaddb, 0xcfd2af1, 0x871ceba,
9514
          0x7d7a286, 0x1860382, 0xb5bb401, 0x024059d, 0x3c39b73, 0x2557c09,
9515
          0x6681697, 0xfc5a711, 0x891b57c, 0xf881c0f }
9516
    },
9517
    {
9518
        { 0x8ea191a, 0x3c443f1, 0xd700ad0, 0x76faa58, 0xbe7fcbf, 0x6fe6cfa,
9519
          0x8990ef7, 0xaefc528, 0x80004cc, 0x44e30fa, 0x6d8ef85, 0xc744adc,
9520
          0x912df70, 0xafcd931, 0x572a6d8, 0xf62a9d1 },
9521
        { 0x3219f27, 0x47158a0, 0xad73136, 0x76fb27e, 0xcc2d614, 0x41bb2ad,
9522
          0xde1ec21, 0x8858cb9, 0x5f15866, 0xab402c4, 0xbc82bbf, 0x6675d5b,
9523
          0xf1b28d3, 0x4ee9dd6, 0xe373c17, 0x875884f }
9524
    },
9525
    {
9526
        { 0x2a67d36, 0x17806dd, 0x32c9ec1, 0xaa23a86, 0xfc1ee55, 0xd914126,
9527
          0x653701b, 0xbf8f7bd, 0xea71367, 0x9b0111a, 0xa98e417, 0x61fd4ab,
9528
          0x561c5a5, 0xeb45298, 0xe7af394, 0x2187b0a },
9529
        { 0x1616dde, 0x71f12db, 0x07da7b4, 0x0617609, 0x02ddb04, 0x414d376,
9530
          0x286fb58, 0x1100be7, 0x6f0d95b, 0xd7cf88d, 0x746d703, 0x8539d23,
9531
          0x4e23d73, 0xdccc9d6, 0xec89680, 0xaeef1d2 }
9532
    },
9533
    {
9534
        { 0x336508d, 0x82ccf1a, 0x5bad150, 0xa128c1f, 0x29a188d, 0x551d8c0,
9535
          0x771404f, 0xef13dd4, 0xc37b993, 0xdd67696, 0x0dddad2, 0x428c0e2,
9536
          0x038c94c, 0x222278d, 0x078e3f2, 0x1a24a51 },
9537
        { 0xedb0db9, 0xd297fe6, 0x8251a87, 0x00988d2, 0xbfaa0d7, 0xbb946f8,
9538
          0xdf45ea0, 0x380f7b9, 0xafccf5e, 0x8526415, 0xe9ec7bc, 0x909bfbf,
9539
          0x124755c, 0x2ed7093, 0x89404e2, 0x4368028 }
9540
    },
9541
    {
9542
        { 0x36d9ef1, 0x21b9fa0, 0xe433526, 0xfd64b7c, 0x6544849, 0xd9d7eb7,
9543
          0xd5b54b3, 0x201620c, 0xbb61159, 0x25fab3d, 0xc53e0d3, 0x90d4eb0,
9544
          0x9e74772, 0xba09831, 0xec1681c, 0x8749658 },
9545
        { 0xfec316b, 0xa354349, 0xa743ea2, 0x639a9b1, 0x37c50e6, 0x2e514ca,
9546
          0xdbaf6c5, 0x9f4a4fd, 0x6f511c9, 0x0df87ef, 0x0c00d95, 0xadd4cef,
9547
          0xaa1433f, 0x401c0eb, 0xbb38af9, 0x3c3a59e }
9548
    },
9549
    {
9550
        { 0xf0e7dca, 0x8706245, 0x3fb29ca, 0xad238cd, 0x9b7d8f0, 0x0330443,
9551
          0x154f495, 0xfdcd6e6, 0x7d4ad09, 0xc67e24a, 0x5438390, 0x1b209e8,
9552
          0xb0c211e, 0xf893b81, 0x7e11e36, 0x1aa86f0 },
9553
        { 0xedea8b1, 0x2cca3ff, 0x3b306cd, 0x7eedd07, 0x12ee222, 0x78e37bc,
9554
          0xbc42a1d, 0x257870b, 0x1fbd397, 0x5fb2bb9, 0x09d6c60, 0x4702470,
9555
          0x20bdc36, 0x11748a3, 0x04280e8, 0x3ff24dc }
9556
    },
9557
    {
9558
        { 0x9839b52, 0x0eb1c67, 0xacfbd32, 0x5bcca27, 0x74898e3, 0xb506c16,
9559
          0x2489e5e, 0x37d662e, 0xf694887, 0x8dc0731, 0xf43f1dc, 0x571149e,
9560
          0x66d63dc, 0x6430a37, 0xb50dd70, 0x0d2640e },
9561
        { 0x3b2675b, 0x2b56149, 0x88c604f, 0x1b48065, 0xaafbabc, 0x55c86a8,
9562
          0x608aaba, 0xa7b9447, 0x04cad8c, 0xa42f635, 0xcee7788, 0x0f72b1d,
9563
          0x755d99a, 0x1d68374, 0x5be2531, 0xd7cdd8f }
9564
    },
9565
},
9566
{
9567
    {
9568
        { 0xbcdfee1, 0x67873bd, 0xfcd0a3f, 0xa5a0c0a, 0x3cfa3d4, 0x59389f9,
9569
          0xe1c865c, 0x14e945c, 0x1d588cc, 0x62d2f8e, 0x8e228b4, 0xfd02f8a,
9570
          0xb42b649, 0x208f791, 0xab397ad, 0x0e0dff1 },
9571
        { 0x0bc6eb1, 0x30ac3d9, 0x5f313bb, 0xf14f16a, 0xe2a0ad2, 0x70fa447,
9572
          0x5a0db84, 0x6e40685, 0xe32e1e7, 0xd52282b, 0x15ca330, 0x315a02a,
9573
          0x867c2fe, 0x9a57a70, 0x0054923, 0x55f0765 }
9574
    },
9575
    {
9576
        { 0xc0cf08f, 0x2d729f6, 0xebaf57f, 0x6b80138, 0x0200c25, 0x6285bcc,
9577
          0x2cd2ac7, 0xee84519, 0x922778a, 0x28fce4d, 0xcd1011c, 0x761325c,
9578
          0x5100e47, 0xd01f247, 0xc60d8e1, 0xc7a1665 },
9579
        { 0x7ceb064, 0x950966d, 0x78420db, 0x0a88e85, 0xe096f29, 0x44f2cfc,
9580
          0x640f1d2, 0x9d9325f, 0xd2426f1, 0x6a4a81f, 0x9c905ac, 0x3ed6b18,
9581
          0x008854d, 0xba3c0e2, 0xa0d321b, 0x1df0bd6 }
9582
    },
9583
    {
9584
        { 0x3feb1e7, 0x0117ad6, 0xf1ae02f, 0xa058ba2, 0x31b3f06, 0x5eee5aa,
9585
          0xafacd4d, 0x540d9d4, 0x1571d91, 0x38992f4, 0xbf2c7de, 0xef2738e,
9586
          0x92a798d, 0x28bfcab, 0x2286733, 0x37c7c5d },
9587
        { 0x6470df0, 0xb99936e, 0x8af6a42, 0x3d762d5, 0xc74eec5, 0xa8c357a,
9588
          0xf13afbc, 0x9917beb, 0xf2dc073, 0x28f0941, 0x6ce7df7, 0x306abf3,
9589
          0xd6973c8, 0xa3c5f6f, 0x3677632, 0x640209b }
9590
    },
9591
    {
9592
        { 0xe23aef7, 0xee872a2, 0xeb9b08e, 0xb497b6f, 0x3f33c63, 0xfb94d97,
9593
          0x2b32315, 0x9ea1ff4, 0x49a4166, 0x537b492, 0xab4f8be, 0x89c7fe6,
9594
          0xdad8f0f, 0xf68007f, 0x71b8474, 0xe56ef0b },
9595
        { 0x3f333f9, 0x478b2e8, 0xb2607f5, 0x144e718, 0xa4c7ab5, 0x13aa605,
9596
          0x1d0730d, 0xfc1fc99, 0x5ab3ea1, 0xe7a0437, 0x306d8d3, 0xc59986a,
9597
          0x702a8b1, 0x24f6111, 0xe040ad2, 0x7741394 }
9598
    },
9599
    {
9600
        { 0x60723a7, 0x34c6a25, 0xf4ea691, 0x8aabd0d, 0x5d7497f, 0x9d676a5,
9601
          0x7d91fa4, 0x12c0957, 0x6479284, 0x581c7a8, 0xf4fd449, 0xa54f3da,
9602
          0x4ef44cf, 0x2f89f3c, 0xc9ec97c, 0xfc266b5 },
9603
        { 0x88b142a, 0xfcd3fbe, 0x4bd69c1, 0x9f3109f, 0xb5f5a6a, 0x08839c0,
9604
          0x2e68303, 0x63ca850, 0xbba0a74, 0x2f0628d, 0x5d56b54, 0x743cccf,
9605
          0x13e09fd, 0xbd4b066, 0xde2ba3e, 0x7a8415b }
9606
    },
9607
    {
9608
        { 0xc076ab2, 0x2234a3b, 0x4977a98, 0xd6953e5, 0x31ebe2e, 0xc122158,
9609
          0xbad78e2, 0x632145f, 0xa5c4b08, 0xd7ba78a, 0x998e32a, 0x6f4ea71,
9610
          0x3485a63, 0x25900d2, 0x6a5176f, 0x97ac628 },
9611
        { 0x1093f7b, 0x5df9118, 0xc844563, 0x2bf9829, 0x6272449, 0x525d99d,
9612
          0xb5c8a18, 0x4281cb5, 0x0544a08, 0x35df278, 0xbaeb8f4, 0xf4c3d2d,
9613
          0x5230447, 0xc7ff317, 0x5d2fbff, 0x6b4d764 }
9614
    },
9615
    {
9616
        { 0x2b0c9cb, 0x4837f80, 0x8ce8418, 0xb65f816, 0x9fc1428, 0xdf66ea9,
9617
          0x04ea7e8, 0x9788ee8, 0x8334e3c, 0x9eae900, 0xd6ba1b6, 0xbc91058,
9618
          0xd7064b6, 0x634aba1, 0x397b368, 0x12d9bb3 },
9619
        { 0xc413aa8, 0x0645c85, 0xac6b5e3, 0xb09dea6, 0x289a50b, 0x29a620d,
9620
          0xbbcceb1, 0x104db3b, 0x87b3309, 0x42e4792, 0xec97f01, 0xdfc373e,
9621
          0xb93f84e, 0xe953f94, 0x052dfbf, 0x3274b7f }
9622
    },
9623
    {
9624
        { 0x1bd6fa9, 0x9d5670a, 0xdb6c4d4, 0xec42fc9, 0x1b42845, 0xaecd4ed,
9625
          0x1b03549, 0x4eed90e, 0xbbab1fa, 0xeb3225c, 0x28a2816, 0x5345e1d,
9626
          0x0b77d2a, 0x3741cfa, 0x7ea8caa, 0x712b19f },
9627
        { 0x661853e, 0x42e6844, 0xe4a6e5d, 0x4cf4126, 0xc3649f6, 0x196a9cf,
9628
          0xf21b6b1, 0x06621bc, 0x32e29ea, 0x887021c, 0x8c5680f, 0x5703aeb,
9629
          0x660f6d7, 0x974be24, 0xc71864e, 0xaf09bad }
9630
    },
9631
},
9632
{
9633
    {
9634
        { 0xa81b6d3, 0x3483535, 0xca037dc, 0x19e7301, 0x63ddfeb, 0x748cab7,
9635
          0x6f01a38, 0xe5d87f6, 0x2795cd6, 0xbba4a5c, 0x615c36c, 0x411c5d4,
9636
          0x706f412, 0xff48efc, 0x4b519df, 0x205bafc },
9637
        { 0x5227110, 0xfcaa5be, 0x3ad0af0, 0x7832f46, 0x2642b1b, 0x34ef2c4,
9638
          0x072f822, 0x7bbef7b, 0x923a616, 0x93cb0a8, 0x6d91ba7, 0x5df0236,
9639
          0x42f7d21, 0x5da94f1, 0xa14e891, 0x3478298 }
9640
    },
9641
    {
9642
        { 0xc831d39, 0xad79a0f, 0x4803c44, 0x24d1948, 0x86aeeb2, 0x4f8a864,
9643
          0x926f6b9, 0x0ca284b, 0x1acd7cd, 0x501829c, 0x3d12c52, 0x9f6038b,
9644
          0xf371ef5, 0x77223ab, 0x13bf4de, 0x2e03516 },
9645
        { 0xb4468cc, 0x7a5a4f2, 0x470ae46, 0xdcea921, 0x11be696, 0xf23b7e8,
9646
          0x720d6fb, 0xe59ad0d, 0x2983469, 0x9eacac2, 0xc4397ee, 0x4dd4110,
9647
          0xcbe2675, 0x4ef85bd, 0xaa7c74b, 0xe4999f7 }
9648
    },
9649
    {
9650
        { 0x8ea1e98, 0x031838c, 0x04d96a2, 0x539b383, 0x163956e, 0x5fbdef0,
9651
          0xce3f52a, 0x6bd4d35, 0x55e897f, 0xe538c23, 0x472dd3f, 0x6078d3a,
9652
          0xca9f452, 0x590241e, 0xfd7fc07, 0x2bc8495 },
9653
        { 0xead4c8c, 0x23d0c89, 0x601c66e, 0x1ea55a9, 0x4f5b833, 0x41493c9,
9654
          0xaa5a978, 0xc49a300, 0x0c69594, 0xc98bdc9, 0xccbdc8c, 0x4e44ced,
9655
          0x6adccbf, 0xb0d4e91, 0x32c37ae, 0xd56e36b }
9656
    },
9657
    {
9658
        { 0x5b93152, 0x052bd40, 0x4f1dbfa, 0x688b1d4, 0xbe5cc5f, 0xe77ba1a,
9659
          0xa6ac543, 0x11f8a38, 0xe4bb988, 0x3355fd6, 0xf8dffb4, 0xdf29c5a,
9660
          0x81f20ee, 0x751f589, 0xda9b7fb, 0x22a0f74 },
9661
        { 0x6397b49, 0xec8f2bc, 0x3639201, 0xff59fc9, 0xa048264, 0xb7f130a,
9662
          0xafdc4cc, 0xe156a63, 0xb13acaf, 0x0fd7c34, 0x0cb4999, 0x87698d4,
9663
          0x7f26f24, 0x6d6ecae, 0x0f296e2, 0xae51fad }
9664
    },
9665
    {
9666
        { 0xdd0f58d, 0xd0ad5eb, 0x5c67880, 0x6ec6a2c, 0x9af1e0f, 0xe1ce034,
9667
          0x3996d32, 0x0801485, 0x5e69d20, 0x59af51e, 0xaa48ecf, 0x0ef743a,
9668
          0x7dafcb0, 0x8d3d2ea, 0x89189b6, 0x4ac4fad },
9669
        { 0xeae97f1, 0x92d91c2, 0x62b4662, 0xef5eca2, 0xb38b10a, 0x440b213,
9670
          0xfc661da, 0xec90187, 0xf64cf8d, 0x85f3f25, 0x457ad1b, 0xcee53ca,
9671
          0xf517672, 0x8deed4b, 0x4761828, 0x7706fb3 }
9672
    },
9673
    {
9674
        { 0x17494fe, 0x1577d91, 0x2fd7239, 0x52d29be, 0x0186d37, 0x9a0eef0,
9675
          0x27fe108, 0x241d0f5, 0xe6fb59f, 0x42824ba, 0x0d48c25, 0xb8d33df,
9676
          0x47af4b0, 0xfffdb0a, 0x073b0b6, 0x534c601 },
9677
        { 0x51c033b, 0xe6df359, 0x86c0f94, 0x3e1002b, 0x48fb9b6, 0xa7cb555,
9678
          0xa7bbff8, 0x999818b, 0x84d8bf2, 0xe4ba3d6, 0x6358f0a, 0x53dbb32,
9679
          0xf2568e8, 0xeebc1e2, 0xb3e0f68, 0xc6917eb }
9680
    },
9681
    {
9682
        { 0x19f8d13, 0xbe1bbfc, 0x2d4795c, 0xc3951b6, 0xed535a9, 0x9371c49,
9683
          0x68cebea, 0x77c389f, 0xa141d0e, 0xfc1a947, 0xde44f8b, 0x4b48d7a,
9684
          0x8580a26, 0x3db1f05, 0x258b5fc, 0xeed1466 },
9685
        { 0x9854b21, 0x5daa4a1, 0x1ab1ead, 0x5bfa46f, 0x59957eb, 0xc152e35,
9686
          0xea48ada, 0xdc84277, 0xfc169b5, 0x68709cf, 0x720e617, 0xde50ce3,
9687
          0xdd9a832, 0xe42f262, 0x2d6ce29, 0xddffd4d }
9688
    },
9689
    {
9690
        { 0x8fa0a56, 0xd5ba557, 0xfafaf4c, 0x0d7d0f1, 0x38b63ed, 0x7666e41,
9691
          0x5d87f02, 0x04e6513, 0xc958f32, 0xdca8866, 0x3ce2686, 0xaa8486d,
9692
          0xf1cbcd3, 0xe3785ca, 0x03c8335, 0x8a9b114 },
9693
        { 0x2e0ef60, 0x5c1dca2, 0x7d3fb20, 0x775af5b, 0x2b373a8, 0xe690ffc,
9694
          0x28330e6, 0x30fe15d, 0xdd0f393, 0x8a1022b, 0x966a828, 0x6bd7364,
9695
          0x949208a, 0x8d4b154, 0xb9d9828, 0xfb38c6b }
9696
    },
9697
},
9698
{
9699
    {
9700
        { 0x0340ac2, 0x6d19764, 0xecab5ff, 0x969f473, 0xc458e42, 0xead46f7,
9701
          0x1d00eed, 0x168646a, 0xe0ce0cf, 0xf70c878, 0x8d8d15a, 0xa7291d3,
9702
          0xfdd10cc, 0x92cf916, 0x24f86d5, 0x6d36134 },
9703
        { 0x2d5c4b4, 0xba50d17, 0x4626f15, 0xe0af502, 0xd76098a, 0x76f3809,
9704
          0xd6caaa8, 0x433dc27, 0x70d97a7, 0x72dc67a, 0xf5c7355, 0x935b360,
9705
          0x179bb31, 0xdbaac93, 0x7ed1a33, 0x7673848 }
9706
    },
9707
    {
9708
        { 0x8f9fa0d, 0x8d1ca66, 0xa02f2bf, 0x4ed95d8, 0xf630d7b, 0xd19fc79,
9709
          0xf46fa51, 0x0448ec4, 0x623bf3f, 0xb371dd8, 0xd650e94, 0xe94fabc,
9710
          0xcd90a70, 0x3af3fca, 0x03ce3b7, 0x0f720c4 },
9711
        { 0xd636c3b, 0x590814c, 0x4469945, 0xcf6928d, 0x484a4c6, 0x5843aaf,
9712
          0xf9b4722, 0xb5a4c1a, 0x6cfb2f9, 0x25116b3, 0x32c2640, 0xf248cf0,
9713
          0x27412a1, 0x8cd059e, 0x862fc5d, 0x866d536 }
9714
    },
9715
    {
9716
        { 0x6de4a2e, 0x156e62f, 0xaafcc78, 0x0365af7, 0x19e925e, 0x65c8618,
9717
          0xf8b2191, 0x4db5c01, 0xad564fa, 0x1fd26d1, 0x19c8610, 0x16bbc53,
9718
          0x815f262, 0x0718eef, 0x27f83d1, 0x8684f47 },
9719
        { 0xb0f48db, 0xa30fd28, 0x6ab8278, 0x6fef506, 0x1a652df, 0xd164e77,
9720
          0xc6ebc8c, 0x5a486f3, 0xdc3132b, 0xb68b498, 0xd73323f, 0x264b6ef,
9721
          0x69b2262, 0xc261eb6, 0x2a35748, 0xd17015f }
9722
    },
9723
    {
9724
        { 0x7c4bb1d, 0x4241f65, 0xf5187c4, 0x5671702, 0x3973753, 0x8a9449f,
9725
          0xcc0c0cd, 0x272f772, 0x58e280c, 0x1b7efee, 0x4b5ee9c, 0x7b32349,
9726
          0x31142a5, 0xf23af47, 0xd62cc9e, 0x80c0e1d },
9727
        { 0x675ffe3, 0xcbc05bf, 0x258ce3c, 0x66215cf, 0x28c9110, 0xc5d2239,
9728
          0x2a69bc2, 0x30e12a3, 0x76a9f48, 0x5ef5e80, 0x2329d5f, 0x77964ed,
9729
          0x8a72cf2, 0xdf81ba5, 0x6e1b365, 0x38ea70d }
9730
    },
9731
    {
9732
        { 0x2f75c80, 0x1b18680, 0x698665a, 0x0c153a0, 0x522e8dd, 0x6f5a7fe,
9733
          0x8ddfc27, 0x9673866, 0x0d3bdce, 0x7e421d5, 0x25001b2, 0x2d737cf,
9734
          0x0e8490c, 0x568840f, 0xe30c8da, 0xea2610b },
9735
        { 0x9561fd4, 0xe7b1bc0, 0x26decb0, 0xeda786c, 0x6a76160, 0x2236990,
9736
          0x78a3da3, 0x371c714, 0x2a2d9bf, 0x1db8fce, 0x3292f92, 0x59d7b84,
9737
          0x5a665f9, 0x8097af9, 0x542b7a9, 0x7cb4662 }
9738
    },
9739
    {
9740
        { 0xc6b0c2f, 0xa5c53ae, 0x7312d84, 0xc4b8732, 0xc732736, 0xfc374cb,
9741
          0x9310cc0, 0xa8d78fe, 0x65d1752, 0xd980e86, 0x6004727, 0xa62692d,
9742
          0x0146220, 0x5d07928, 0x860fea5, 0xbd1fedb },
9743
        { 0xb35d111, 0xcbc4f8a, 0x3e32f77, 0x5ba8cdf, 0xb614b93, 0xd5b71ad,
9744
          0x2f8808d, 0x7b3a2df, 0x6ef2721, 0x09b89c2, 0x47c3030, 0x55a5054,
9745
          0x2986ae6, 0x2104431, 0x2367d4c, 0x427a011 }
9746
    },
9747
    {
9748
        { 0xc1942d8, 0xe9fe256, 0x96e3546, 0x9e7377d, 0xb0c1744, 0x43e734c,
9749
          0x211fbca, 0x5f46821, 0x32b6203, 0x44f83dc, 0x6ad1d96, 0x8451308,
9750
          0x2fbb455, 0x54dd519, 0x2f10089, 0xc2a1822 },
9751
        { 0x1855bfa, 0x01055a2, 0x77078b4, 0x9e6d7b4, 0x30cea0e, 0x3f8df6d,
9752
          0x32973f7, 0x81c2150, 0xc0b3d40, 0x17dd761, 0x50d0abe, 0x040424c,
9753
          0x783deab, 0x5599413, 0x8f3146f, 0xde9271e }
9754
    },
9755
    {
9756
        { 0xaf4a11d, 0x5edfd25, 0x7846783, 0x3a3c530, 0x73edd31, 0xb200868,
9757
          0xfe0eef8, 0x74e00ec, 0x3dd78c7, 0xba65d2f, 0x71999f1, 0xab13643,
9758
          0xde9a7e8, 0xfa9be5d, 0x87a8609, 0xeb146ce },
9759
        { 0x65353e9, 0x76afd65, 0xd51ba1c, 0xfa7023d, 0x37ede4f, 0x7a09f22,
9760
          0x0ba7a1b, 0xca08576, 0xb99950a, 0xd973882, 0xea5057a, 0xe894266,
9761
          0x7f55e49, 0xd01c421, 0x5555679, 0x69cfb9c }
9762
    },
9763
},
9764
{
9765
    {
9766
        { 0xc5d631a, 0x67867e7, 0x5bcf47b, 0x1de88c5, 0xafd1352, 0x8366d06,
9767
          0x6e20337, 0xd7dbdef, 0x1253ec7, 0xb0f9e2f, 0x10ad240, 0x1be9845,
9768
          0xf4a6118, 0x63ec533, 0x96ce633, 0xd5e4c5b },
9769
        { 0x4df4a25, 0x1d0b6c3, 0x5a1b554, 0xef9486a, 0x47b6ef3, 0x2f0e59e,
9770
          0x2ff84d7, 0x4d8042f, 0xda359c9, 0x3e74aa3, 0xd21c160, 0x1baa16f,
9771
          0x0191cba, 0xb4cff21, 0xebc6472, 0x50032d8 }
9772
    },
9773
    {
9774
        { 0x1fc1b13, 0xb6833e0, 0x1a5ad8f, 0x8a8b7ba, 0x622b820, 0xc0cafa2,
9775
          0x738ed20, 0xc6663af, 0x8b18f97, 0xd894486, 0x774fbe4, 0xcf0c1f9,
9776
          0x5be814f, 0xeedd435, 0xb57e543, 0xd81c02d },
9777
        { 0x310bad8, 0x5e32afc, 0x9b813d1, 0x065bc81, 0x3142795, 0x8efc5fc,
9778
          0x732d59c, 0x5006514, 0x2b5a3ce, 0x91e39df, 0xfaf4204, 0x2ad4477,
9779
          0x4d9bd4f, 0x1a96b18, 0xa4d9c07, 0xc3fee95 }
9780
    },
9781
    {
9782
        { 0x6b4ba61, 0xfac7df0, 0x061aaef, 0xa6ed551, 0x133f609, 0x35aa2d6,
9783
          0x20ed13d, 0x420cfba, 0xea03d0c, 0x861c63e, 0xf936d6e, 0x75f0c56,
9784
          0x3d9a3d5, 0xa25f68f, 0xcd9f66e, 0xba0b7fe },
9785
        { 0x4680772, 0x292e135, 0xa73f405, 0x6f6a2db, 0x24ea9e4, 0xca6add9,
9786
          0x268daaa, 0x81cfd61, 0xe6f147a, 0x7a4cb6c, 0xbded8f5, 0x8ec3454,
9787
          0x11d61cb, 0xc8a893b, 0x7656022, 0x2256ffc }
9788
    },
9789
    {
9790
        { 0x575cb78, 0x6b33271, 0xadcd23e, 0x560d305, 0xd6d834b, 0xeedbd3a,
9791
          0x5a31e27, 0x614a64a, 0x47ee0c8, 0xe40b476, 0x8bd7c2c, 0x8ef4ff6,
9792
          0x0b77727, 0xa5297fc, 0xbaf88ad, 0x8759208 },
9793
        { 0x918df68, 0x86cfe64, 0xcdd882e, 0x9d60a73, 0xb953014, 0x546b642,
9794
          0x8bbef55, 0xbaceae3, 0xf1c3467, 0xdf58e43, 0xe9f9bab, 0x99a83fe,
9795
          0x57a4a8b, 0xcd52cbf, 0x8ae36ec, 0xf744e96 }
9796
    },
9797
    {
9798
        { 0xa607124, 0xb945869, 0x440e6f6, 0x810dbe9, 0x738e381, 0x9911e60,
9799
          0x343b80b, 0x51df68c, 0xf7a3f39, 0xe424336, 0x989015c, 0x2d32acb,
9800
          0x31019e8, 0xa69b149, 0xec12f93, 0x8a31a38 },
9801
        { 0x97c916a, 0x0d0d369, 0x8885372, 0xdc95f3b, 0x3549040, 0xcf1a261,
9802
          0xabe95a2, 0x60f6f5e, 0xe141325, 0xa909e9f, 0x355c865, 0x7d598f2,
9803
          0x931a9c9, 0x70c6442, 0xb423850, 0x2354a85 }
9804
    },
9805
    {
9806
        { 0x97f9619, 0x4cdd224, 0xc22162e, 0x4776fff, 0x0cd31c2, 0xee5ec33,
9807
          0xf209bb8, 0x7c04c10, 0x579e211, 0x35bbfde, 0x15cdfc2, 0x0e38325,
9808
          0xe26ffa7, 0x657e6d3, 0xc65c604, 0xc66a7c3 },
9809
        { 0xb45e567, 0x322acd7, 0x296db9b, 0x1589cf0, 0xba1db73, 0x1fd0bd3,
9810
          0x9337a40, 0xe882610, 0xb3035c7, 0xf505a50, 0x6ed08d7, 0x4d5af06,
9811
          0x5eda400, 0xb3c376b, 0x1944748, 0x9c7b700 }
9812
    },
9813
    {
9814
        { 0x70c3716, 0xd768325, 0xdd540e0, 0xda62af0, 0x6580fea, 0x76b155d,
9815
          0x32b5464, 0x4f42acc, 0x3f5b72b, 0x881bb60, 0xe68b9ba, 0x09c130e,
9816
          0x5c50342, 0x37ede3b, 0xfd15e7d, 0xce61a9c },
9817
        { 0x72605d0, 0xfff1d85, 0x062abc2, 0x62ac2d3, 0xfbe43dd, 0xa85e02e,
9818
          0xa947020, 0x859d2ba, 0x111c20b, 0x2ebc8a9, 0xa656f66, 0x7f590a7,
9819
          0x16b21a6, 0x0e13843, 0x00c7db6, 0x29b30c5 }
9820
    },
9821
    {
9822
        { 0x906b8de, 0x61e55e2, 0x949974d, 0x6a97e96, 0x26eef67, 0x24b52b5,
9823
          0x1aa595a, 0x512f536, 0x3c48fcb, 0x81cc7b8, 0x28115ad, 0xa64af23,
9824
          0x3d44b8e, 0x9edf6f9, 0x1fe22e3, 0x68d7f7c },
9825
        { 0x520d151, 0x2b2116a, 0x6aa3efb, 0x66a0b7d, 0x9b0f791, 0x48ae70a,
9826
          0x037db88, 0xcf12174, 0x317d9f3, 0x36868cd, 0x22fc344, 0xb573059,
9827
          0x46a5d23, 0xbaa8526, 0x37fc10d, 0xad65691 }
9828
    },
9829
},
9830
{
9831
    {
9832
        { 0x12c78d5, 0xcf8e5f5, 0x805cdbd, 0xeb94d98, 0x2ab50b5, 0xad1dcdf,
9833
          0xf33cd31, 0xf33c136, 0x10aeff5, 0x0d6226b, 0xf2f8fc5, 0xf7ff493,
9834
          0xdf57165, 0x7e520d4, 0x05271a7, 0x41fbae5 },
9835
        { 0x76480ba, 0x72c8987, 0x25f4523, 0x2608359, 0x49f5f01, 0xed36b8d,
9836
          0xf3d49eb, 0x3bc1dce, 0x4940322, 0x30c1c1a, 0x7e0f731, 0x78c1cda,
9837
          0x6d05a31, 0x51f2dc8, 0x07f3522, 0x57b0aa8 }
9838
    },
9839
    {
9840
        { 0x71f88bc, 0x7ab628e, 0x8018f21, 0xcf585f3, 0x13d64f6, 0xdbbe3a4,
9841
          0xec493a5, 0x0f86df1, 0x7725de9, 0x8355e6c, 0xe00fe1e, 0x3954ffe,
9842
          0x9924e32, 0xbb8978f, 0x7812714, 0x1c19298 },
9843
        { 0xaabca8b, 0x7c4ce3e, 0x9bf7019, 0xf861eb5, 0x682e541, 0x31a84fc,
9844
          0xacd1b92, 0x2307ca9, 0x4bf2842, 0x6f8b6ce, 0xcb9f9a9, 0xde252ac,
9845
          0x93c46d1, 0x7f0611d, 0x751dc98, 0x8e2bd80 }
9846
    },
9847
    {
9848
        { 0xe27d54b, 0xf2fd8fb, 0xc248071, 0x2a1e37e, 0xab8f49a, 0x2fcc888,
9849
          0xc18a9e5, 0x42c62a3, 0x70b2446, 0xe302908, 0xc5ac55d, 0x90277fa,
9850
          0xd6dde41, 0x8d97d56, 0x5db04fe, 0xf4cf8a9 },
9851
        { 0xd30d077, 0x3e280f5, 0x3cb3293, 0x2c90307, 0x24eb0dd, 0xe0be2ac,
9852
          0x8bcb4f0, 0xa2d1a49, 0xcd0cd45, 0x16db466, 0x9a80232, 0x3b28aa7,
9853
          0x17b008e, 0xdd7e52f, 0x868e4da, 0x20685f2 }
9854
    },
9855
    {
9856
        { 0x7c7a486, 0x0a68c14, 0xc429633, 0xd8ef234, 0xffe7506, 0x470667b,
9857
          0x8828d51, 0x55a13c8, 0x2e44bef, 0x5f32741, 0x5929f92, 0x537d92a,
9858
          0x31c5cd5, 0x0a01d5b, 0x67eb3d7, 0xb77aa78 },
9859
        { 0x8b82e4d, 0x36ec45f, 0xb37b199, 0x6821da0, 0xd7fa94e, 0x8af37aa,
9860
          0x1085010, 0xf020642, 0x7e56851, 0x9b88678, 0x52948ce, 0x35f3944,
9861
          0xafc1361, 0x125c2ba, 0x453e332, 0x8a57d0e }
9862
    },
9863
    {
9864
        { 0x8043664, 0xefe9948, 0xdb1aa55, 0xb8b8509, 0x332523f, 0x1a2e5a9,
9865
          0x1045c0f, 0x5e255dd, 0x7ae7180, 0xe68dd8a, 0x45bf532, 0x55f1cf3,
9866
          0xe63a716, 0xe00722e, 0x6116bac, 0xd1c2138 },
9867
        { 0x1c6d1f4, 0x626221f, 0x3773278, 0x240b830, 0x88def16, 0xe393a0d,
9868
          0xca0495c, 0x229266e, 0xd3e4608, 0x7b5c6c9, 0x7927190, 0xdc559cb,
9869
          0xc7b3c57, 0x06afe42, 0xb439c9b, 0x8a2ad0b }
9870
    },
9871
    {
9872
        { 0xffc3e2f, 0xd7360fb, 0xfbd2e95, 0xf721317, 0x5748e69, 0x8cacbab,
9873
          0x9054bb9, 0x7c89f27, 0xaa86881, 0xcbe50fa, 0x75206e4, 0x7aa05d3,
9874
          0xc752c66, 0x1ea01bc, 0x1f2c2bc, 0x5968cde },
9875
        { 0x09a853e, 0x487c55f, 0xe09204b, 0x82cbef1, 0xabd8670, 0xad5c492,
9876
          0xf12dcb3, 0x7175963, 0xbf6aa06, 0x7a85762, 0xf8d5237, 0x02e5697,
9877
          0x37c6157, 0xccf7d19, 0xc2fd59c, 0x3b14ca6 }
9878
    },
9879
    {
9880
        { 0x1b9f77f, 0x5e610d8, 0x051b02f, 0x85876d0, 0xb8020dd, 0x5d81c63,
9881
          0xd6ce614, 0xd0b4116, 0xaa8bf0c, 0x91810e5, 0xcbf8c66, 0xf27f91f,
9882
          0x38480ae, 0x2e5dc5f, 0xbec7633, 0x0a13ffe },
9883
        { 0x2bf6af8, 0x61ff649, 0x641f827, 0xe6aef2d, 0x5de5f04, 0xad5708a,
9884
          0xcdfee20, 0xe5c3a80, 0x68fcfa2, 0x88466e2, 0xd6e1d7b, 0x8e5bb3a,
9885
          0xed236b8, 0xa514f06, 0xa5f5274, 0x51c9c7b }
9886
    },
9887
    {
9888
        { 0xf9bc3d8, 0xa19d228, 0x3381069, 0xf89c3f0, 0x5c3f379, 0xfee890e,
9889
          0x32fb857, 0x3d3ef3d, 0x5b418dd, 0x3998849, 0xc46e89a, 0x6786f73,
9890
          0x9e0f12f, 0x79691a5, 0x3bc022b, 0x76916bf },
9891
        { 0x2cd8a0a, 0xea073b6, 0x102fdbc, 0x1fbedd4, 0xcb9d015, 0x1888b14,
9892
          0x76655f7, 0x98f2cfd, 0x59f0494, 0xb9b5910, 0xe6986a3, 0xa3dbbe1,
9893
          0xeaf2b04, 0xef016a5, 0xcd2d876, 0xf671ba7 }
9894
    },
9895
},
9896
{
9897
    {
9898
        { 0x1ae05e9, 0x1dae3bf, 0x1f21fef, 0x6a02996, 0x7aec3c6, 0x95df2b9,
9899
          0xd83189b, 0x9abbc5a, 0x2d13140, 0xaf994af, 0x86aa406, 0xc3f8846,
9900
          0x75284c5, 0xcd77e50, 0x2a9a4d7, 0x1c1e13d },
9901
        { 0x744b89d, 0x7f8815d, 0x2ba673e, 0xb189133, 0xd594570, 0x55ea93c,
9902
          0xd61b041, 0x19c8a18, 0x8d2c580, 0x938ebaa, 0x05ba078, 0x9b4344d,
9903
          0x8eaf9b7, 0x622da43, 0x9fea368, 0x809b807 }
9904
    },
9905
    {
9906
        { 0xc33b7a2, 0x3780e51, 0x387b1c8, 0xd7a205c, 0x4be60e4, 0x79515f8,
9907
          0x1e18277, 0xde02a8b, 0xf0d9150, 0x4645c96, 0xe0b3fd1, 0x45f8acb,
9908
          0x9b53ac3, 0x5d532ba, 0xb0557c9, 0x7984dcd },
9909
        { 0x8a92f01, 0x5ae5ca6, 0x9d569ca, 0xd2fbb3c, 0x0c297c1, 0x668cc57,
9910
          0x6295e89, 0xa482943, 0xa33ad40, 0xf646bc1, 0xc3f425d, 0x066aaa4,
9911
          0xd005de2, 0x23434cd, 0xdb35af4, 0x5aca9e9 }
9912
    },
9913
    {
9914
        { 0x6877c56, 0x2bca35c, 0xf0ddd7d, 0xab864b4, 0x404f46c, 0x5f6aa74,
9915
          0x539c279, 0x72be164, 0xe0283cf, 0x1b1d73e, 0xad583d9, 0xe550f46,
9916
          0xe739ad1, 0x4ac6518, 0x8d42100, 0x6b6def7 },
9917
        { 0xfa8468d, 0x4d36b8c, 0x5a3d7b8, 0x2cb3773, 0x5016281, 0x577f86f,
9918
          0x9124733, 0xdb6fe5f, 0xe29e039, 0xacb6d2a, 0x580b8a1, 0x2ab8330,
9919
          0x643b2d0, 0x130a4ac, 0x5e6884e, 0xa7996e3 }
9920
    },
9921
    {
9922
        { 0x60a0aa8, 0x6fb6277, 0xcbe04f0, 0xe046843, 0xe6ad443, 0xc01d120,
9923
          0xabef2fc, 0xa42a05c, 0x12ff09c, 0x6b793f1, 0xa3e5854, 0x5734ea8,
9924
          0x775f0ad, 0xe482b36, 0xf864a34, 0x2f4f60d },
9925
        { 0x84f2449, 0xf521c58, 0x9186a71, 0x58734a9, 0xac5eacc, 0x157f5d5,
9926
          0x248ee61, 0x858d9a4, 0x48149c3, 0x0727e6d, 0xac9ec50, 0xd5c3eaa,
9927
          0x20ee9b5, 0xa63a64a, 0x87be9de, 0x3f0dfc4 }
9928
    },
9929
    {
9930
        { 0xb13e3f4, 0x836349d, 0x3e9316d, 0xebdd026, 0x324fd6c, 0x3fd61e8,
9931
          0x0964f41, 0x85dddfa, 0x52add1b, 0x06e72de, 0x8c4a9e2, 0xb752cff,
9932
          0xfdf09f7, 0x53b0894, 0x0bc24fd, 0xd5220ab },
9933
        { 0xfb1981a, 0x8442b35, 0x3edd701, 0xa733a37, 0xd0ef089, 0x42b60c3,
9934
          0x46e7bca, 0xa1b16ec, 0xa09aaf4, 0xc0df179, 0x638f3a1, 0xcd4f187,
9935
          0x9eab1c2, 0x9af64f7, 0xd1d78e3, 0x86fed79 }
9936
    },
9937
    {
9938
        { 0xfe29980, 0x42c8d86, 0x6575660, 0x6657b81, 0x80f92ca, 0x82d52c6,
9939
          0x02d42be, 0x8587af1, 0x6e8bdf0, 0xb515131, 0xc333495, 0x706e2d9,
9940
          0x9673064, 0xd53601a, 0x8219099, 0x27b1fbb },
9941
        { 0x705f7c8, 0x3f0929d, 0xf3d6e6f, 0xff40b10, 0x026af5c, 0x673c703,
9942
          0xe25a422, 0x2c1dce4, 0x3dad8b6, 0x5348bd7, 0xbe2c329, 0xc39b6b6,
9943
          0xb921084, 0x47854ff, 0xb391f20, 0xb347b8b }
9944
    },
9945
    {
9946
        { 0xeb9b774, 0x79fc841, 0xb4b6c1d, 0xf32da25, 0xfe492cb, 0xcbba76b,
9947
          0xd623903, 0x76c51fc, 0xcf0705a, 0x114cf6f, 0x7815daf, 0x6b72049,
9948
          0x473382e, 0x630b362, 0x9704db5, 0xbf40c3a },
9949
        { 0xc5456eb, 0xa8a9ddc, 0x72f2dc1, 0x2b4472a, 0xd6d6ef3, 0x9874444,
9950
          0xa0ba5ed, 0x27e8d85, 0x194849f, 0x5d225b4, 0xebaa40d, 0xe852cd6,
9951
          0x8d4bf3f, 0xb669c24, 0x2343991, 0xa8601eb }
9952
    },
9953
    {
9954
        { 0x59502d3, 0x8a04854, 0xe269a7b, 0xcab27ee, 0x4875ada, 0x4179307,
9955
          0xe2405f9, 0x179e685, 0x7b28963, 0x0d7b698, 0x422a43e, 0x80c9db8,
9956
          0xa0f43ee, 0xf5ff318, 0x4ba7aa7, 0x7a92805 },
9957
        { 0x0c0834e, 0xa5c79fe, 0x1f849ec, 0x837ca0d, 0x628ab7b, 0xfe0d7fa,
9958
          0x6edd19a, 0x94bcb95, 0x2226fbf, 0xa18bc93, 0xaad54a3, 0x2795379,
9959
          0x371129e, 0xceeacf8, 0xa588be5, 0x65ca57f }
9960
    },
9961
},
9962
{
9963
    {
9964
        { 0x2caa330, 0x7a578b5, 0xd8ca34a, 0x7c21944, 0x6447282, 0x6c0fbbb,
9965
          0xf90b2e5, 0xa8a9957, 0x6586b71, 0xbbe1066, 0x49138a2, 0x716a902,
9966
          0xe7ed66d, 0x2fa6034, 0x2b9916a, 0x56f77ed },
9967
        { 0xbddefb3, 0x69f1e26, 0x8c08420, 0xa497809, 0x09bc184, 0xc3377eb,
9968
          0xbe6dade, 0x796ce0c, 0xd103bbb, 0x3be0625, 0x992685c, 0x01be27c,
9969
          0x7755f9f, 0xc0e2559, 0x1c0dbfa, 0x165c40d }
9970
    },
9971
    {
9972
        { 0x659c761, 0xc63a397, 0x630fbad, 0x10a0e5b, 0x655ac56, 0xf21e8a6,
9973
          0xc1181e2, 0xe8580fa, 0x0a84b5c, 0xbfc2d9c, 0x7afd5d1, 0x2cdbaff,
9974
          0xf61e85a, 0x95f1182, 0x719eaf4, 0x1173e96 },
9975
        { 0xc6de8b9, 0xc06d55e, 0xafcbcaa, 0x1b4c8eb, 0xbc2bbcd, 0x52af5cb,
9976
          0x77bcd10, 0x564fab8, 0xae85a6e, 0xfd53a18, 0x94c712f, 0x2257859,
9977
          0x1352121, 0x29b11d7, 0xc40491a, 0xab1cb76 }
9978
    },
9979
    {
9980
        { 0xce32eb4, 0xb4e8ca8, 0xb250b49, 0x7e484ac, 0xa3e31a2, 0x062c6f7,
9981
          0x625d1fc, 0x497fd83, 0x362dda7, 0x98f821c, 0x6be3111, 0xcae1f8f,
9982
          0x5d4fa42, 0x9077e95, 0xa65855a, 0xa589971 },
9983
        { 0x28832a9, 0xda6321d, 0x3936e9e, 0xf9ef5dc, 0xc9797ef, 0xa37f117,
9984
          0xdb581be, 0x0eb3c80, 0xbaa0002, 0x207c5c4, 0xf38faa0, 0xc0401b5,
9985
          0xd0f1e6e, 0xceee523, 0xd1f0045, 0x8d27a5f }
9986
    },
9987
    {
9988
        { 0xcf0af29, 0x9411063, 0x89a6693, 0x3043857, 0x640145e, 0x9a9fb8f,
9989
          0x54832eb, 0x7d82fe9, 0x898c520, 0xf2789e1, 0xf948dc0, 0x448b402,
9990
          0x68996dd, 0xeca8fdf, 0xa149b2f, 0x22227e9 },
9991
        { 0x8e62d6a, 0x63509ff, 0x8c9c57f, 0xe98d81c, 0x1fe3bed, 0xd387407,
9992
          0x539538f, 0xf1db013, 0x48418ce, 0xb04092e, 0xd6d9d4d, 0xbbf8e76,
9993
          0x2cec5ae, 0x2ea9cda, 0x5078fa9, 0x8414b3e }
9994
    },
9995
    {
9996
        { 0xd68a073, 0x5ad1cdb, 0xc18b591, 0xd4cedaf, 0x8e4c1c9, 0x7826707,
9997
          0x9ca302a, 0x9b8d920, 0x326115b, 0x3101bd2, 0x4c2717a, 0x6f154b5,
9998
          0x263e84b, 0x618c31b, 0xbbd6942, 0x12c4138 },
9999
        { 0x80da426, 0xf9ead25, 0x47d9680, 0xe748e99, 0x8a4210e, 0x9b396a3,
10000
          0xf4b8f72, 0xfaf03dd, 0x66159e7, 0xbd94a52, 0x1d4c7cb, 0x5e73049,
10001
          0x7910f38, 0x31d1f9a, 0x08d6dd1, 0x4fd10ca }
10002
    },
10003
    {
10004
        { 0x9f2331e, 0x4f510ac, 0x7e3dcc2, 0xee872dc, 0xa0a0c73, 0x4a11a32,
10005
          0xaa5a630, 0x27e5803, 0x7af4a8a, 0xe5ae503, 0x9fffeb0, 0x2dcdeba,
10006
          0x719d91f, 0x8c27748, 0xb9cc61c, 0xd3b5b62 },
10007
        { 0xcca7939, 0x998ac90, 0x64514e5, 0xc22b598, 0xb35738a, 0x950aaa1,
10008
          0xdab0264, 0x4b208bb, 0xa557d2e, 0x6677931, 0xf7c17d3, 0x2c696d8,
10009
          0x3e15c51, 0x1672d4a, 0x3db0e82, 0x95fab66 }
10010
    },
10011
    {
10012
        { 0x6ff205e, 0x3d42734, 0x0ea9fbe, 0x7f187d9, 0x466b2af, 0xbd9367f,
10013
          0x03daf2f, 0x188e532, 0x27b54d8, 0xefe1329, 0xef70435, 0x14faf85,
10014
          0x1ec95c4, 0xa506128, 0xc22cba7, 0xad01705 },
10015
        { 0x6197333, 0x7d2dfa6, 0x8b4f6ed, 0xedd7f07, 0x75df105, 0xe0cb685,
10016
          0x80f76bc, 0x47c9ddb, 0x9073c54, 0x49ab531, 0xe607f44, 0x845255a,
10017
          0xcc74b7c, 0x0b4ed9f, 0x0f5c3a6, 0xcfb52d5 }
10018
    },
10019
    {
10020
        { 0xc278776, 0x545c7c6, 0x98c30f0, 0x92a39ae, 0xd2f4680, 0x8aa8c01,
10021
          0x6b7f840, 0xa5409ed, 0xdcb24e7, 0x0c450ac, 0xc5770d9, 0x5da6fb2,
10022
          0x8658333, 0x5b8e8be, 0x67ea4ad, 0xb26bf4a },
10023
        { 0xc7d91fa, 0x2e30c81, 0x0eeb69f, 0x6e50a49, 0xee4bc26, 0x9458c2b,
10024
          0x33be250, 0x419acf2, 0x87881ab, 0x79d6f81, 0x403b1be, 0x694565d,
10025
          0x234fe1d, 0x34b3990, 0x2132b38, 0x60997d7 }
10026
    },
10027
},
10028
{
10029
    {
10030
        { 0x26975dc, 0x00a9741, 0x6cf94e7, 0x42161c4, 0xc64ed99, 0xcc9fe4b,
10031
          0x4680570, 0x020019a, 0x698da0d, 0x885595a, 0x77dd962, 0x008444b,
10032
          0xa4fea0e, 0xbf3c22d, 0x2c81245, 0xc463048 },
10033
        { 0x793ab18, 0xcb248c5, 0xeb4320b, 0x4dc7a20, 0x1572b7d, 0x9a0906f,
10034
          0xf9ac20f, 0xd5b3019, 0x34520a3, 0x79b1bf5, 0x69b5322, 0x788dfe8,
10035
          0x455b7e2, 0x9a05298, 0x016bca9, 0x2f4aecb }
10036
    },
10037
    {
10038
        { 0x8745618, 0x414d379, 0xb7c983c, 0x64ba22e, 0x9f9d532, 0x9a5d19f,
10039
          0x44a80c8, 0x81a00d8, 0xcae98d6, 0xb9e24f5, 0xaca965a, 0x6c3769c,
10040
          0xf6e4e6d, 0x50d6081, 0x54422a6, 0x0d96980 },
10041
        { 0x5cdd790, 0xbd7e792, 0x6a35219, 0xcff65da, 0x8b60ebe, 0x40dc363,
10042
          0x92a50dc, 0x84bee74, 0x15ad65e, 0x57d4be4, 0x1a6d1d3, 0xc54256b,
10043
          0x45717cc, 0x141c649, 0xcd1c736, 0x05eb609 }
10044
    },
10045
    {
10046
        { 0x1e3c7ec, 0xfd52eab, 0x9f24895, 0xa4a5eca, 0x79fdb83, 0xaaa2a8d,
10047
          0x72bdfda, 0xd105e60, 0x681d97e, 0x59e6ae2, 0x8e8077f, 0xfedf8e0,
10048
          0x629e462, 0xb06d0ad, 0x96fa863, 0x8c7c2d0 },
10049
        { 0xee8fc91, 0x5eecc4c, 0x9e61174, 0x5e83ab2, 0xb28c02d, 0x1fd8925,
10050
          0x2072864, 0x93be538, 0x24c984e, 0xda0c886, 0xa008286, 0xdcf9f0c,
10051
          0xa58ba75, 0x1ecb5a6, 0xc2e3c83, 0x1d9b890 }
10052
    },
10053
    {
10054
        { 0xeeee062, 0x19e866e, 0x4f7b387, 0x31c1c7f, 0x1c06652, 0x9be6018,
10055
          0x2b68bbb, 0xc00a93a, 0x9d52b2b, 0x54c65d6, 0xe8b744a, 0x4591416,
10056
          0x9a64ab6, 0x641bcca, 0xab08098, 0xf22bcb1 },
10057
        { 0xf1f726c, 0x3c0db8f, 0x9d2e6a6, 0x4f5739e, 0x45c9530, 0x5cb669b,
10058
          0x7b472d0, 0x861b04e, 0x894da77, 0x3e30515, 0xc9ac39b, 0x3344685,
10059
          0x73bdd29, 0x9e17305, 0x808dc85, 0x9cac12c }
10060
    },
10061
    {
10062
        { 0x5e27087, 0xf152b86, 0x90a580e, 0x267bd85, 0x8baafc1, 0xba79cec,
10063
          0x9442686, 0x6140ab1, 0x5b31693, 0xa67090c, 0x28b4117, 0x50a103a,
10064
          0x0ddc08f, 0x7722e61, 0xe6569b2, 0x5d19d43 },
10065
        { 0x5962bf6, 0x70e0c52, 0xfb5fb02, 0x808e316, 0x5b667be, 0x3fb80da,
10066
          0xfcfacec, 0x8aa366e, 0x134280e, 0xcb0b3e7, 0xcd7d944, 0x0bf1de4,
10067
          0xd092df5, 0x0cd23be, 0xa153a0c, 0xc9a6a79 }
10068
    },
10069
    {
10070
        { 0x2d5a4b7, 0x1c69ad0, 0xd9e6f4a, 0x4bb28d0, 0xa984fc6, 0x815308c,
10071
          0x9037ca5, 0x40929c7, 0x1bd0357, 0x0ea2b49, 0x42aad4e, 0xec17e5b,
10072
          0x18e7235, 0x1f32ade, 0xa96a9d3, 0xbc60b05 },
10073
        { 0xe20f707, 0x3b0229a, 0x56bdfad, 0xd635050, 0xd8b2e1e, 0xac2d922,
10074
          0x235c748, 0x92b2998, 0xd766f97, 0x6002c3a, 0x1a2a862, 0x9919800,
10075
          0xb58b684, 0x2af7567, 0xaaafce5, 0xd8fe707 }
10076
    },
10077
    {
10078
        { 0x5df7a4b, 0x54487ab, 0xc57ccc2, 0x51cccde, 0x7510b53, 0x2394327,
10079
          0xf555de3, 0x3a09f02, 0x1be484d, 0xa696aec, 0x37817a2, 0x56f459f,
10080
          0x623dcb4, 0x8d8f61c, 0x5335656, 0xc52223c },
10081
        { 0xb49914a, 0xf634111, 0x8e4f9bb, 0xbf8e1ab, 0xf4dba02, 0x2f59578,
10082
          0xe004319, 0x2a94199, 0x654d005, 0x87931f0, 0x6fa0814, 0x7df57d9,
10083
          0xa154031, 0xc8da316, 0x41f658b, 0x2a44ac0 }
10084
    },
10085
    {
10086
        { 0x9e34ac6, 0xfb5f4f8, 0x97790f2, 0x0a1b10b, 0x4b8a06c, 0x58fe4e7,
10087
          0x955f27c, 0x10c1710, 0xd5ebe19, 0x77b798a, 0x1f1c2dc, 0xaf1c35b,
10088
          0xa1f8d69, 0xc25b8e6, 0xf76bf23, 0x49cf751 },
10089
        { 0x436f7b7, 0x15cb2db, 0x7e74d1a, 0x186d7c2, 0xc00a415, 0x60731de,
10090
          0x15f0772, 0xea1e156, 0x714463f, 0xf02d591, 0x51adeb1, 0x26a0c64,
10091
          0xcc5229e, 0x20174cd, 0xefd512a, 0xb817e50 }
10092
    },
10093
},
10094
};
10095
10096
static const ge448_precomp base_i[16] = {
10097
    {
10098
        { 0x70cc05e, 0x26a82bc, 0x0938e26, 0x80e18b0, 0x511433b, 0xf72ab66,
10099
          0x412ae1a, 0xa3d3a46, 0xa6de324, 0x0f1767e, 0x4657047, 0x36da9e1,
10100
          0x5a622bf, 0xed221d1, 0x66bed0d, 0x4f1970c },
10101
        { 0x230fa14, 0x08795bf, 0x7c8ad98, 0x132c4ed, 0x9c4fdbd, 0x1ce67c3,
10102
          0x73ad3ff, 0x05a0c2d, 0x7789c1e, 0xa398408, 0xa73736c, 0xc7624be,
10103
          0x03756c9, 0x2488762, 0x16eb6bc, 0x693f467 }
10104
    },
10105
    {
10106
        { 0x6ff2f8f, 0x2817328, 0xda85757, 0xb769465, 0xfd6e862, 0xf7f6271,
10107
          0x8daa9cb, 0x4a3fcfe, 0x2ba077a, 0xda82c7e, 0x41b8b8c, 0x9433322,
10108
          0x4316cb6, 0x6455bd6, 0xb9108af, 0x0865886 },
10109
        { 0x88ed6fc, 0x22ac135, 0x02dafb8, 0x9a68fed, 0x7f0bffa, 0x1bdb676,
10110
          0x8bb3a33, 0xec4e1d5, 0xce43c82, 0x56c3b9f, 0xa8d9523, 0xa6449a4,
10111
          0xa7ad43a, 0xf706cbd, 0xbd5125c, 0xe005a8d }
10112
    },
10113
    {
10114
        { 0x2030034, 0xa99d109, 0x6f950d0, 0x2d8cefc, 0xc96f07b, 0x7a920c3,
10115
          0x08bc0d5, 0x9588128, 0x6d761e8, 0x62ada75, 0xbcf7285, 0x0def80c,
10116
          0x01eedb5, 0x0e2ba76, 0x5a48dcb, 0x7a9f933 },
10117
        { 0x2f435eb, 0xb473147, 0xf225443, 0x5512881, 0x33c5840, 0xee59d2b,
10118
          0x127d7a4, 0xb698017, 0x86551f7, 0xb18fced, 0xca1823a, 0x0ade260,
10119
          0xce4fd58, 0xd3b9109, 0xa2517ed, 0xadfd751 }
10120
    },
10121
    {
10122
        { 0xeb5eaf7, 0xdf9567c, 0x78ac7d7, 0x110a6b4, 0x4706e0b, 0x2d33501,
10123
          0x0b5a209, 0x0df9c7b, 0x568e684, 0xba4223d, 0x8c3719b, 0xd78af2d,
10124
          0xa5291b6, 0x77467b9, 0x5c89bef, 0x079748e },
10125
        { 0xdac377f, 0xe20d3fa, 0x72b5c09, 0x34e8669, 0xc40bbb7, 0xd8687a3,
10126
          0xd2f84c9, 0x7b3946f, 0xa78f50e, 0xd00e40c, 0x17e7179, 0xb875944,
10127
          0xcb23583, 0x9c7373b, 0xc90fd69, 0x7ddeda3 }
10128
    },
10129
    {
10130
        { 0x6ab686b, 0x3d0def7, 0x49f7c79, 0x1a467ec, 0xc8989ed, 0x3e53f4f,
10131
          0x430a0d9, 0x101e344, 0x8ad44ee, 0xa3ae731, 0xae1d134, 0xaefa6cd,
10132
          0x824ad4d, 0xaa8cd7d, 0xed584fc, 0xef1650c },
10133
        { 0x4f4754f, 0xa74df67, 0xef3fb8b, 0xf52cea8, 0x2971140, 0x47c32d4,
10134
          0xa256fbb, 0x391c15d, 0xa605671, 0xc165fab, 0x87993b9, 0xf2518c6,
10135
          0xbd5a84d, 0x2daf7ac, 0x98f12ae, 0x1560b62 }
10136
    },
10137
    {
10138
        { 0x54dc10a, 0xef4da02, 0x5940db8, 0x6311865, 0x82f2948, 0xe20b149,
10139
          0x5581dba, 0x67b9377, 0x04f5029, 0x422ee71, 0x5122d34, 0x5d440db,
10140
          0x1a4c640, 0xb1e56d7, 0xc2408ee, 0xbf12abb },
10141
        { 0x016af01, 0x0cc9f86, 0xf3d8cab, 0x88366ab, 0xa2efe12, 0x85dda13,
10142
          0x5d00674, 0x390df60, 0x6d187f7, 0xf18f580, 0xf0c5d20, 0x28c900f,
10143
          0x3e01733, 0xad30812, 0x54bf2fd, 0x42d35b5 }
10144
    },
10145
    {
10146
        { 0x2ffb1f1, 0x009135f, 0x8f9c605, 0x099fc7e, 0x26bfa5a, 0xcc67da6,
10147
          0x344552b, 0xc186d12, 0x1b339e1, 0xb523250, 0xc9708c5, 0x70a544f,
10148
          0x1e928e7, 0x06baaec, 0xef0f50f, 0x0baedd2 },
10149
        { 0xbf479e5, 0x535d6d8, 0xe4ec3e9, 0x156e536, 0xddb9be2, 0x3165741,
10150
          0x59fd736, 0x988af71, 0x2e33ddd, 0x13d8a78, 0x4e69002, 0x5460421,
10151
          0x804a268, 0x34d56e0, 0x0e52a4c, 0xc59b84f }
10152
    },
10153
    {
10154
        { 0x24729d9, 0x525d45f, 0x8712327, 0x5768aba, 0x43035db, 0xa25e43b,
10155
          0x927ef21, 0x15a1ee8, 0x6056112, 0xa785d21, 0xd508af9, 0x45e2fbf,
10156
          0x37ba969, 0xb6f721a, 0x216d8d3, 0x30d6d8c },
10157
        { 0x52074c3, 0x3065e08, 0x2a0684e, 0xfa40b4a, 0x763f955, 0x851325a,
10158
          0x9f25900, 0xd4ef19c, 0xf665756, 0x799c869, 0x3312990, 0x7b05222,
10159
          0x28db802, 0xc986c2b, 0x28ade0a, 0xf48fb8f }
10160
    },
10161
    {
10162
        { 0x1649b68, 0x1e46173, 0x5beb9dc, 0xa96e5d6, 0x481935d, 0x765ddff,
10163
          0x9f3bf2a, 0x6cf132c, 0x7c35658, 0x9f6c5c9, 0x4696e60, 0x99cd139,
10164
          0x9c0d5e4, 0x99fa924, 0x8845a95, 0x1acd063 },
10165
        { 0x3636087, 0x0b06541, 0xea17b7f, 0xea20e78, 0x6161967, 0x20afc5f,
10166
          0xdc81028, 0xfd6c8a2, 0xe32c8fd, 0x4ef1357, 0x00e4a88, 0x8aa4004,
10167
          0x48cb82f, 0xd6fcaef, 0xb3cd4fa, 0x7ba7c6d }
10168
    },
10169
    {
10170
        { 0xd19c7ab, 0xf843473, 0xc655c4d, 0x968e76d, 0xc4b9c2f, 0x52c87d9,
10171
          0xe4aa082, 0x65f641a, 0x33c3603, 0x491a397, 0x5810098, 0xa606ffe,
10172
          0x8bf8ad4, 0x09920e6, 0x6db7882, 0x691a0c8 },
10173
        { 0xa4d3ef5, 0x5205883, 0xacf2efe, 0xee839b7, 0xc00ca66, 0x4b78e2a,
10174
          0xf9fcb91, 0xbe3f071, 0xbf6943a, 0x61e66c9, 0x061b79d, 0xe9b4e57,
10175
          0x56c06bd, 0x8d1b01b, 0xdf76ae5, 0x0dfa315 }
10176
    },
10177
    {
10178
        { 0xf1fd093, 0x803df65, 0x489b77e, 0x1cd6523, 0xc20e295, 0x2cd2e15,
10179
          0x9b912d1, 0xcd490be, 0x2e886d2, 0xdd9a2ff, 0xfe9d72a, 0xa3c836d,
10180
          0x298e0c1, 0xfcad5f2, 0x4bcf067, 0xed126e2 },
10181
        { 0x3dc81bc, 0x1e33953, 0xece6a08, 0xbea4d76, 0x991b252, 0x1d15de3,
10182
          0xe6daf97, 0x74cc5cf, 0x0826493, 0x5ad343f, 0x1064049, 0x2d38a47,
10183
          0xffcfa4d, 0xf7f47b9, 0x418066c, 0xef14490 }
10184
    },
10185
    {
10186
        { 0x9bb55ab, 0x4e7f86b, 0x3f496a3, 0x310d785, 0x0dec42c, 0xbd682fc,
10187
          0x411d32a, 0xbde047a, 0xc5a5ea2, 0xea639b4, 0xba08fa1, 0x5052078,
10188
          0x07729f2, 0xc968b23, 0x23d3e28, 0x567b5a6 },
10189
        { 0x977fbf7, 0x171e825, 0xbe990aa, 0x0319c70, 0xe12cd69, 0x8f65023,
10190
          0xf5015e6, 0x1fb9b19, 0x3568a7c, 0x0083f60, 0x1f3c5ac, 0xba3d30b,
10191
          0x3d7a988, 0xe7b509d, 0xcd0f6b6, 0x2318b99 }
10192
    },
10193
    {
10194
        { 0x93ab2cf, 0x54d3b87, 0xd2d8306, 0x366abea, 0xd7a4977, 0x66e8eb6,
10195
          0xae0072e, 0xa61888c, 0xdbc3315, 0x9eeeef5, 0x163e7f5, 0x93f09db,
10196
          0x59ade9a, 0xee90959, 0xce59be0, 0xaf7f578 },
10197
        { 0x5ece59e, 0x24bfd8d, 0x3689523, 0x8aa698b, 0x2de92cf, 0xa9a65de,
10198
          0xa6ad300, 0xec11dbc, 0x09f88ca, 0x217f3fa, 0xb4d6af7, 0xf6c33e3,
10199
          0x1d86d2d, 0xcd3bfa2, 0x5f13f25, 0x1497f83 }
10200
    },
10201
    {
10202
        { 0xcd03d1d, 0xa579568, 0xe158af6, 0xd717cda, 0x389a19f, 0x59eda97,
10203
          0x099e99c, 0xb32c370, 0xdabb591, 0xa2dba91, 0x77c2c97, 0x6d697d5,
10204
          0xd43fa6d, 0x5423fc2, 0x0b382bf, 0x56ea8a5 },
10205
        { 0xd80c11a, 0x4a987ba, 0x7d590a5, 0xe4cde21, 0xf97e559, 0x3dd8860,
10206
          0x43b593c, 0xff45e25, 0x5343cb5, 0x00eb453, 0x7bbfbdd, 0x06b9b99,
10207
          0x16aea24, 0x4da36b7, 0x57a624e, 0x2476517 }
10208
    },
10209
    {
10210
        { 0x3474e0d, 0x32207d0, 0xb41cc73, 0x3ffbf04, 0x319eb39, 0x5c4dc45,
10211
          0x758b463, 0xfee29be, 0xc30c7a7, 0xcc8a381, 0x9fe0e53, 0x147f4e4,
10212
          0xe35a2de, 0x05b2e26, 0x92f3666, 0x4362f02 },
10213
        { 0x8474b85, 0x0476d0c, 0xccaf108, 0x9d8c65f, 0x1d54b6a, 0xf58d404,
10214
          0xf38e4b0, 0x3ee6862, 0x3b44f54, 0x7c7c9d5, 0x0fb0db5, 0x36a3fd8,
10215
          0x18a8ac8, 0xfcd94ba, 0x8f35c05, 0xc1b1d56 }
10216
    },
10217
    {
10218
        { 0x1bdd30d, 0x16539fc, 0x8df4afb, 0x1356e53, 0x5a1aedb, 0xc0545d8,
10219
          0x489396b, 0xeb2037a, 0x5660894, 0x897fcbd, 0xb7d104a, 0x02a58a9,
10220
          0xc96b980, 0x57fa24c, 0x5bd8946, 0xf6448e3 },
10221
        { 0x8805c83, 0xee72741, 0x992cfc6, 0x10fa274, 0x9e66b21, 0x9514193,
10222
          0xbd08009, 0xe0ffa44, 0x20da22b, 0x1743322, 0x59e6831, 0x4891ff3,
10223
          0xa7d687b, 0x407ed73, 0x51d99cf, 0x2fb4e07 }
10224
    },
10225
};
10226
#endif
10227
10228
/* Set the 0 point.
10229
 *
10230
 * p  [in]  Point to set to 0.
10231
 */
10232
static WC_INLINE void ge448_0(ge448_p2 *p)
10233
351
{
10234
351
    fe448_0(p->X);
10235
351
    fe448_1(p->Y);
10236
351
    fe448_1(p->Z);
10237
351
}
10238
10239
/* Set the precompute point to 0.
10240
 *
10241
 * p  [in]  Precompute point to set.
10242
 */
10243
static void ge448_precomp_0(ge448_precomp *p)
10244
172k
{
10245
172k
    fe448_0(p->x);
10246
172k
    fe448_1(p->y);
10247
172k
}
10248
10249
/* Double the point on the Twisted Edwards curve. r = 2.p
10250
 *
10251
 * r  [in]  Point to hold result.
10252
 * p  [in]  Point to double.
10253
 */
10254
static WC_INLINE void ge448_dbl(ge448_p2 *r,const ge448_p2 *p)
10255
162k
{
10256
162k
    ge448 t0[GE448_WORDS];
10257
162k
    ge448 t1[GE448_WORDS];
10258
10259
162k
    fe448_add(t0, p->X, p->Y);    /* t0 = B1 = X1+Y1     */
10260
162k
    fe448_reduce(t0);
10261
162k
    fe448_sqr(t0, t0);            /* t0 = B = (X1+Y1)^2  */
10262
162k
    fe448_sqr(r->X, p->X);        /* r->X = C = X1^2     */
10263
162k
    fe448_sqr(r->Y, p->Y);        /* r->Y = D = Y1^2     */
10264
162k
    fe448_add(t1, r->X, r->Y);    /* t1 = E = C+D        */
10265
162k
    fe448_reduce(t1);
10266
162k
    fe448_sub(r->Y, r->X, r->Y);  /* r->Y = Y31 = C-D    */
10267
162k
    fe448_sqr(r->Z, p->Z);        /* r->Z = H = Z1^2     */
10268
162k
    fe448_add(r->Z, r->Z, r->Z);  /* r->Z = J1 = 2*H     */
10269
162k
    fe448_sub(r->Z, t1, r->Z);    /* r->Z = J = E-2*H    */
10270
162k
    fe448_reduce(r->Z);
10271
162k
    fe448_sub(r->X, t0, t1);      /* r->X = X31 = B-E    */
10272
162k
    fe448_mul(r->X, r->X, r->Z);  /* r->X = X3 = (B-E)*J */
10273
162k
    fe448_mul(r->Y, r->Y, t1);    /* r->Y = Y3 = E*(C-D) */
10274
162k
    fe448_mul(r->Z, t1, r->Z);    /* r->Z = Z3 = E*J     */
10275
162k
}
10276
10277
/* Add two point on the Twisted Edwards curve. r = p + q
10278
 * Second point has z-ordinate of 1.
10279
 *
10280
 * r  [in]  Point to hold result.
10281
 * p  [in]  Point to add.
10282
 * q  [in]  Point to add.
10283
 */
10284
static WC_INLINE void ge448_madd(ge448_p2 *r, const ge448_p2 *p,
10285
                                 const ge448_precomp *q)
10286
180k
{
10287
180k
    ge448 t0[GE448_WORDS];
10288
180k
    ge448 t1[GE448_WORDS];
10289
180k
    ge448 t2[GE448_WORDS];
10290
180k
    ge448 t3[GE448_WORDS];
10291
180k
    ge448 t4[GE448_WORDS];
10292
10293
                                    /* p->Z = A                   */
10294
180k
    fe448_mul(t1, p->X, q->x);      /* t1 = C = X1*X2             */
10295
180k
    fe448_mul(t2, p->Y, q->y);      /* t2 = D = Y1*Y2             */
10296
180k
    fe448_mul(t3, t1, t2);          /* t3 = E1 = C*D              */
10297
180k
    fe448_mul39081(t3, t3);         /* t3 = E = d*C*D             */
10298
180k
    fe448_sqr(t0, p->Z);            /* t0 = B = A^2               */
10299
180k
    fe448_add(t4, t0, t3);          /* t4 = F = B-(-E)            */
10300
180k
    fe448_sub(t0, t0, t3);          /* t0 = G = B+(-E)            */
10301
180k
    fe448_reduce(t0);
10302
180k
    fe448_add(r->X, p->X, p->Y);    /* r->X = H1 = X1+Y1          */
10303
180k
    fe448_reduce(r->X);
10304
180k
    fe448_add(r->Y, q->x, q->y);    /* r->Y = H2 = X2+Y2          */
10305
180k
    fe448_reduce(r->Y);
10306
180k
    fe448_mul(r->X, r->X, r->Y);    /* r->X = H = (X1+Y1)*(X2+Y2) */
10307
180k
    fe448_sub(r->X, r->X, t1);      /* r->X = X31 = H-C           */
10308
180k
    fe448_sub(r->X, r->X, t2);      /* r->X = X32 = H-C-D         */
10309
180k
    fe448_reduce(r->X);
10310
180k
    fe448_mul(r->X, r->X, t4);      /* r->X = X33 = F*(H-C-D)     */
10311
180k
    fe448_mul(r->X, r->X, p->Z);    /* r->X = X3 = A*F*(H-C-D)    */
10312
180k
    fe448_sub(r->Y, t2, t1);        /* r->Y = Y31 = D-C           */
10313
180k
    fe448_reduce(r->Y);
10314
180k
    fe448_mul(r->Y, r->Y, t0);      /* r->Y = Y32 = G*(D-C)       */
10315
180k
    fe448_mul(r->Y, r->Y, p->Z);    /* r->Y = Y3 = A*F*(D-C)      */
10316
180k
    fe448_mul(r->Z, t4, t0);        /* r->Z = Z3 = F*G            */
10317
180k
}
10318
10319
/* Subtract one point from another on the Twisted Edwards curve. r = p - q
10320
 * Second point has z-ordinate of 1.
10321
 *
10322
 * r  [in]  Point to hold result.
10323
 * p  [in]  Point to subtract from.
10324
 * q  [in]  Point to subtract.
10325
 */
10326
static WC_INLINE void ge448_msub(ge448_p2 *r, const ge448_p2 *p,
10327
                                 const ge448_precomp *q)
10328
10.0k
{
10329
10.0k
    ge448 t0[GE448_WORDS];
10330
10.0k
    ge448 t1[GE448_WORDS];
10331
10.0k
    ge448 t2[GE448_WORDS];
10332
10.0k
    ge448 t3[GE448_WORDS];
10333
10.0k
    ge448 t4[GE448_WORDS];
10334
10335
                                    /* p->Z = A                   */
10336
10.0k
    fe448_sqr(t0, p->Z);            /* t0 = B = A^2               */
10337
10.0k
    fe448_mul(t1, p->X, q->x);      /* t1 = C = X1*X2             */
10338
10.0k
    fe448_mul(t2, p->Y, q->y);      /* t2 = D = Y1*Y2             */
10339
10.0k
    fe448_mul(t3, t1, t2);          /* t3 = E1 = C*D              */
10340
10.0k
    fe448_mul39081(t3, t3);         /* t3 = E = d*C*D             */
10341
10.0k
    fe448_sub(t4, t0, t3);          /* t4 = F = B-(--E)           */
10342
10.0k
    fe448_add(t0, t0, t3);          /* t0 = G = B+(--E)           */
10343
10.0k
    fe448_reduce(t0);
10344
10.0k
    fe448_add(r->X, p->X, p->Y);    /* r->X = H1 = X1+Y1          */
10345
10.0k
    fe448_reduce(r->X);
10346
10.0k
    fe448_sub(r->Y, q->y, q->x);    /* r->Y = H2 = Y2+(-X2)       */
10347
10.0k
    fe448_reduce(r->Y);
10348
10.0k
    fe448_mul(r->X, r->X, r->Y);    /* r->X = H = (X1+Y1)*(X2+Y2) */
10349
10.0k
    fe448_add(r->X, r->X, t1);      /* r->X = X31 = H-(-C)        */
10350
10.0k
    fe448_sub(r->X, r->X, t2);      /* r->X = X32 = H-(-C)-D      */
10351
10.0k
    fe448_reduce(r->X);
10352
10.0k
    fe448_mul(r->X, r->X, t4);      /* r->X = X33 = F*(H-C-D)     */
10353
10.0k
    fe448_mul(r->X, r->X, p->Z);    /* r->X = X3 = A*F*(H-C-D)    */
10354
10.0k
    fe448_add(r->Y, t2, t1);        /* r->Y = Y31 = D-C           */
10355
10.0k
    fe448_reduce(r->Y);
10356
10.0k
    fe448_mul(r->Y, r->Y, t0);      /* r->Y = Y32 = G*(D-C)       */
10357
10.0k
    fe448_mul(r->Y, r->Y, p->Z);    /* r->Y = Y3 = A*F*(D-C)      */
10358
10.0k
    fe448_mul(r->Z, t4, t0);        /* r->Z = Z3 = F*G            */
10359
10.0k
}
10360
10361
/* Add two point on the Twisted Edwards curve. r = p + q
10362
 *
10363
 * r  [in]  Point to hold result.
10364
 * p  [in]  Point to add.
10365
 * q  [in]  Point to add.
10366
 */
10367
static WC_INLINE void ge448_add(ge448_p2* r, const ge448_p2* p,
10368
                                const ge448_p2* q)
10369
16.7k
{
10370
16.7k
    ge448 t0[GE448_WORDS];
10371
16.7k
    ge448 t1[GE448_WORDS];
10372
16.7k
    ge448 t2[GE448_WORDS];
10373
16.7k
    ge448 t3[GE448_WORDS];
10374
16.7k
    ge448 t4[GE448_WORDS];
10375
10376
16.7k
    fe448_mul(t1, p->X, q->X);      /* t1 = C = X1*X2             */
10377
16.7k
    fe448_mul(t2, p->Y, q->Y);      /* t2 = D = Y1*Y2             */
10378
16.7k
    fe448_mul(t3, t1, t2);          /* t3 = E1 = C*D              */
10379
16.7k
    fe448_mul39081(t3, t3);         /* t3 = E = d*C*D             */
10380
16.7k
    fe448_mul(r->Z, p->Z, q->Z);    /* r->Z = A = Z1*Z2           */
10381
16.7k
    fe448_sqr(t0, r->Z);            /* t0 = B = A^2               */
10382
16.7k
    fe448_add(t4, t0, t3);          /* t4 = F = B-(-E)            */
10383
16.7k
    fe448_sub(t0, t0, t3);          /* t0 = G = B+(-E)            */
10384
16.7k
    fe448_reduce(t0);
10385
16.7k
    fe448_add(r->X, p->X, p->Y);    /* r->X = H1 = X1+Y1          */
10386
16.7k
    fe448_reduce(r->X);
10387
16.7k
    fe448_add(r->Y, q->X, q->Y);    /* r->Y = H2 = X2+Y2          */
10388
16.7k
    fe448_reduce(r->Y);
10389
16.7k
    fe448_mul(r->X, r->X, r->Y);    /* r->X = H = (X1+Y1)*(X2+Y2) */
10390
16.7k
    fe448_sub(r->X, r->X, t1);      /* r->X = X31 = H-C           */
10391
16.7k
    fe448_sub(r->X, r->X, t2);      /* r->X = X32 = H-C-D         */
10392
16.7k
    fe448_reduce(r->X);
10393
16.7k
    fe448_mul(r->X, r->X, t4);      /* r->X = X33 = F*(H-C-D)     */
10394
16.7k
    fe448_mul(r->X, r->X, r->Z);    /* r->X = X3 = A*F*(H-C-D)    */
10395
16.7k
    fe448_sub(r->Y, t2, t1);        /* r->Y = Y31 = D-C           */
10396
16.7k
    fe448_reduce(r->Y);
10397
16.7k
    fe448_mul(r->Y, r->Y, t0);      /* r->Y = Y32 = G*(D-C)       */
10398
16.7k
    fe448_mul(r->Y, r->Y, r->Z);    /* r->Y = Y3 = A*F*(D-C)      */
10399
16.7k
    fe448_mul(r->Z, t4, t0);        /* r->Z = Z3 = F*G            */
10400
16.7k
}
10401
10402
/* Subtract one point from another on the Twisted Edwards curve. r = p - q
10403
 *
10404
 * r  [in]  Point to hold result.
10405
 * p  [in]  Point to subtract from.
10406
 * q  [in]  Point to subtract.
10407
 */
10408
static WC_INLINE void ge448_sub(ge448_p2 *r, const ge448_p2 *p,
10409
                                const ge448_p2 *q)
10410
11.0k
{
10411
11.0k
    ge448 t0[GE448_WORDS];
10412
11.0k
    ge448 t1[GE448_WORDS];
10413
11.0k
    ge448 t2[GE448_WORDS];
10414
11.0k
    ge448 t3[GE448_WORDS];
10415
11.0k
    ge448 t4[GE448_WORDS];
10416
10417
11.0k
    fe448_mul(t1, p->X, q->X);      /* t1 = C = X1*X2             */
10418
11.0k
    fe448_mul(t2, p->Y, q->Y);      /* t2 = D = Y1*Y2             */
10419
11.0k
    fe448_mul(t3, t1, t2);          /* t3 = E1 = C*D              */
10420
11.0k
    fe448_mul39081(t3, t3);         /* t3 = E = d*C*D             */
10421
11.0k
    fe448_mul(r->Z, p->Z, q->Z);    /* r->Z = A = Z1*Z2           */
10422
11.0k
    fe448_sqr(t0, p->Z);            /* t0 = B = A^2               */
10423
11.0k
    fe448_sub(t4, t0, t3);          /* t4 = F = B-(--E)           */
10424
11.0k
    fe448_add(t0, t0, t3);          /* t0 = G = B+(--E)           */
10425
11.0k
    fe448_reduce(t0);
10426
11.0k
    fe448_add(r->X, p->X, p->Y);    /* r->X = H1 = X1+Y1          */
10427
11.0k
    fe448_reduce(r->X);
10428
11.0k
    fe448_sub(r->Y, q->Y, q->X);    /* r->Y = H2 = Y2+(-X2)       */
10429
11.0k
    fe448_reduce(r->Y);
10430
11.0k
    fe448_mul(r->X, r->X, r->Y);    /* r->X = H = (X1+Y1)*(X2+Y2) */
10431
11.0k
    fe448_add(r->X, r->X, t1);      /* r->X = X31 = H-(-C)        */
10432
11.0k
    fe448_sub(r->X, r->X, t2);      /* r->X = X32 = H-(-C)-D      */
10433
11.0k
    fe448_reduce(r->X);
10434
11.0k
    fe448_mul(r->X, r->X, t4);      /* r->X = X33 = F*(H-C-D)     */
10435
11.0k
    fe448_mul(r->X, r->X, r->Z);    /* r->X = X3 = A*F*(H-C-D)    */
10436
11.0k
    fe448_add(r->Y, t2, t1);        /* r->Y = Y31 = D-C           */
10437
11.0k
    fe448_reduce(r->Y);
10438
11.0k
    fe448_mul(r->Y, r->Y, t0);      /* r->Y = Y32 = G*(D-C)       */
10439
11.0k
    fe448_mul(r->Y, r->Y, r->Z);    /* r->Y = Y3 = A*F*(D-C)      */
10440
11.0k
    fe448_mul(r->Z, t4, t0);        /* r->Z = Z3 = F*G            */
10441
11.0k
}
10442
10443
/* Convert point to byte array assuming projective ordinates.
10444
 *
10445
 * b  [in]  Array of bytes to hold compressed point.
10446
 * p  [in]  Point to convert.
10447
 */
10448
void ge448_to_bytes(byte *b, const ge448_p2 *p)
10449
1.87k
{
10450
1.87k
    ge448 recip[GE448_WORDS];
10451
1.87k
    ge448 x[GE448_WORDS];
10452
1.87k
    ge448 y[GE448_WORDS];
10453
10454
1.87k
    fe448_invert(recip, p->Z);
10455
1.87k
    fe448_mul(x, p->X, recip);
10456
1.87k
    fe448_mul(y, p->Y, recip);
10457
1.87k
    fe448_to_bytes(b, y);
10458
1.87k
    b[56] = fe448_isnegative(x) << 7;
10459
1.87k
}
10460
10461
/* Convert point to byte array assuming z is 1.
10462
 *
10463
 * b  [in]  Array of bytes to hold compressed point.
10464
 * p  [in]  Point to convert.
10465
 */
10466
static void ge448_p2z1_to_bytes(byte *b, const ge448_p2 *p)
10467
0
{
10468
0
    fe448_to_bytes(b, p->Y);
10469
0
    b[56] = fe448_isnegative(p->X) << 7;
10470
0
}
10471
10472
/* Compress the point to y-ordinate and negative bit.
10473
 *
10474
 * out    [in]  Array of bytes to hold compressed key.
10475
 * xIn    [in]  The x-ordinate.
10476
 * yIn    [in]  The y-ordinate.
10477
 */
10478
int ge448_compress_key(byte* out, const byte* xIn, const byte* yIn)
10479
0
{
10480
0
    ge448_p2  g;
10481
0
    byte      bArray[ED448_KEY_SIZE];
10482
0
    word32    i;
10483
10484
0
    fe448_from_bytes(g.X, xIn);
10485
0
    fe448_from_bytes(g.Y, yIn);
10486
0
    fe448_1(g.Z);
10487
10488
0
    ge448_p2z1_to_bytes(bArray, &g);
10489
10490
0
    for (i = 0; i < 57; i++) {
10491
0
        out[57 - 1 - i] = bArray[i];
10492
0
    }
10493
10494
0
    return 0;
10495
0
}
10496
10497
/* Determine whether the value is negative.
10498
 *
10499
 * b  [in]  An 8-bit signed value.
10500
 * returns 1 when negative and 0 otherwise.
10501
 */
10502
static byte negative(byte b)
10503
172k
{
10504
172k
    return ((byte)b) >> 7;
10505
172k
}
10506
10507
/* Determine whether two values are equal. a == b
10508
 * Constant time implementation.
10509
 *
10510
 * a  [in]  An 8-bit unsigned value.
10511
 * b  [in]  An 8-bit unsigned value.
10512
 * returns 1 when equal and 0 otherwise.
10513
 */
10514
static byte equal(byte a, byte b)
10515
1.37M
{
10516
1.37M
    return (byte)(((word32)(a ^ b) - 1) >> 31);
10517
1.37M
}
10518
10519
/* Conditional move the point into result point if two values are equal.
10520
 * Constant time implementation.
10521
 *
10522
 * f  [in]  Point to conditionally overwrite.
10523
 * p  [in]  Point to conditionally copy.
10524
 * b  [in]  An 8-bit unsigned value.
10525
 * n  [in]  An 8-bit unsigned value.
10526
 */
10527
static WC_INLINE void cmov(ge448_precomp* r, const ge448_precomp* p, byte b,
10528
                           byte n)
10529
1.37M
{
10530
1.37M
    b = equal(b, n);
10531
1.37M
    fe448_cmov(r->x, p->x, b);
10532
1.37M
    fe448_cmov(r->y, p->y, b);
10533
1.37M
}
10534
10535
/* Select one of the entries from the precomputed table and negate if required.
10536
 * Constant time implementation.
10537
 *
10538
 * r    [in]  Point to hold chosen point.
10539
 * pos  [in]  Position of array of entries to choose from.
10540
 * b    [in]  Index of point to select. -ve value means negate the point.
10541
 */
10542
static void ge448_select(ge448_precomp* r, int pos, byte b)
10543
172k
{
10544
172k
    ge448 minusx[16];
10545
172k
    byte bnegative = negative(b);
10546
172k
    byte babs = b - (((-bnegative) & b) << 1);
10547
10548
172k
    ge448_precomp_0(r);
10549
172k
    cmov(r, &base[pos][0], babs, 1);
10550
172k
    cmov(r, &base[pos][1], babs, 2);
10551
172k
    cmov(r, &base[pos][2], babs, 3);
10552
172k
    cmov(r, &base[pos][3], babs, 4);
10553
172k
    cmov(r, &base[pos][4], babs, 5);
10554
172k
    cmov(r, &base[pos][5], babs, 6);
10555
172k
    cmov(r, &base[pos][6], babs, 7);
10556
172k
    cmov(r, &base[pos][7], babs, 8);
10557
172k
    fe448_neg(minusx, r->x);
10558
172k
    fe448_cmov(r->x, minusx, bnegative);
10559
172k
}
10560
10561
/* Perform a scalar multiplication of the base point. r = a * base
10562
 *
10563
 * r  [in]  Point to hold result.
10564
 * a  [in]  Scalar to multiply by.
10565
 */
10566
void ge448_scalarmult_base(ge448_p2* r, const byte* a)
10567
1.52k
{
10568
1.52k
    byte          carry;
10569
1.52k
    ge448_precomp t;
10570
1.52k
    int           i;
10571
1.52k
    byte          e[113];
10572
10573
1.52k
    carry = 0;
10574
86.8k
    for (i = 0; i < 56; ++i) {
10575
85.3k
        e[2 * i + 0] = ((a[i] >> 0) & 0xf) + carry;
10576
85.3k
        carry = e[2 * i + 0] + 8;
10577
85.3k
        carry >>= 4;
10578
85.3k
        e[2 * i + 0] -= carry << 4;
10579
10580
85.3k
        e[2 * i + 1] = ((a[i] >> 4) & 0xf) + carry;
10581
85.3k
        carry = e[2 * i + 1] + 8;
10582
85.3k
        carry >>= 4;
10583
85.3k
        e[2 * i + 1] -= carry << 4;
10584
85.3k
    }
10585
1.52k
    e[112] = carry;
10586
    /* each e[i] is between -8 and 8 */
10587
10588
    /* Odd indeces first - sum based on even index so multiply by 16 */
10589
1.52k
    ge448_select(&t, 0, e[1]);
10590
1.52k
    fe448_copy(r->X, t.x);
10591
1.52k
    fe448_copy(r->Y, t.y);
10592
1.52k
    fe448_1(r->Z);
10593
85.3k
    for (i = 3; i < 112; i += 2) {
10594
83.8k
        ge448_select(&t, i / 2, e[i]);
10595
83.8k
        ge448_madd(r, r, &t);
10596
83.8k
    }
10597
10598
1.52k
    ge448_dbl(r, r);
10599
1.52k
    ge448_dbl(r, r);
10600
1.52k
    ge448_dbl(r, r);
10601
1.52k
    ge448_dbl(r, r);
10602
10603
    /* Add even indeces */
10604
88.3k
    for (i = 0; i <= 112; i += 2) {
10605
86.8k
        ge448_select(&t, i / 2, e[i]);
10606
86.8k
        ge448_madd(r, r, &t);
10607
86.8k
    }
10608
1.52k
}
10609
10610
/* Create to a sliding window for the scalar multiplicaton.
10611
 *
10612
 * r  [in]  Array of indeces.
10613
 * a  [in]  Scalar to break up.
10614
 */
10615
static void slide(sword8 *r, const byte *a)
10616
702
{
10617
702
    int i;
10618
702
    int b;
10619
702
    int k;
10620
10621
315k
    for (i = 0; i < 448; ++i) {
10622
314k
        r[i] = (a[i >> 3] >> (i & 7)) & 1;
10623
314k
    }
10624
10625
315k
    for (i = 0; i < 448; ++i) {
10626
314k
        if (r[i] == 0) {
10627
271k
            continue;
10628
271k
        }
10629
10630
286k
        for (b = 1; b <= 7 && i + b < 448; ++b) {
10631
275k
            if (r[i + b] == 0) {
10632
138k
                continue;
10633
138k
            }
10634
10635
136k
            if (r[i] + (r[i + b] << b) <= 31) {
10636
84.3k
                r[i] += r[i + b] << b; r[i + b] = 0;
10637
84.3k
            }
10638
52.5k
            else if (r[i] - (r[i + b] << b) >= -31) {
10639
21.0k
                r[i] -= r[i + b] << b;
10640
63.9k
                for (k = i + b; k < 448; ++k) {
10641
63.9k
                    if (!r[k]) {
10642
21.0k
                        r[k] = 1;
10643
21.0k
                        break;
10644
21.0k
                    }
10645
42.9k
                    r[k] = 0;
10646
42.9k
                }
10647
21.0k
            }
10648
31.4k
            else {
10649
31.4k
                break;
10650
31.4k
            }
10651
136k
        }
10652
42.5k
    }
10653
702
}
10654
10655
/* Perform a scalar multiplication of the base point and public point.
10656
 *   r = a * p + b * base
10657
 * Uses a sliding window of 5 bits.
10658
 * Not constant time.
10659
 *
10660
 * r  [in]  Point to hold result.
10661
 * a  [in]  Scalar to multiply by.
10662
 */
10663
int ge448_double_scalarmult_vartime(ge448_p2 *r, const byte *a,
10664
                                    const ge448_p2 *p, const byte *b)
10665
424
{
10666
424
#define GE448_WINDOW_BUF_SIZE 448
10667
10668
424
#if defined(WOLFSSL_SMALL_STACK) && (!defined(WOLFSSL_NO_MALLOC) ||                                                           defined(XMALLOC_USER))
10669
424
    sword8       *aslide = NULL;
10670
424
    sword8       *bslide = NULL;
10671
424
    ge448_p2     *pi = NULL; /* p,3p,..,31p */
10672
424
    ge448_p2     *p2 = NULL;
10673
#else
10674
    sword8       aslide[448];
10675
    sword8       bslide[448];
10676
    ge448_p2     pi[16]; /* p,3p,..,31p */
10677
    ge448_p2     p2[1];
10678
#endif
10679
424
    int          i;
10680
424
    int          ret = 0;
10681
10682
424
#if defined(WOLFSSL_SMALL_STACK) && (!defined(WOLFSSL_NO_MALLOC) ||                                                           defined(XMALLOC_USER))
10683
424
    aslide = (sword8 *)XMALLOC(GE448_WINDOW_BUF_SIZE, NULL,
10684
424
                                                       DYNAMIC_TYPE_TMP_BUFFER);
10685
424
    if (aslide == NULL) {
10686
62
        ret = MEMORY_E;
10687
62
    }
10688
424
    if (ret == 0) {
10689
362
        bslide = (sword8 *)XMALLOC(GE448_WINDOW_BUF_SIZE, NULL,
10690
362
                                                       DYNAMIC_TYPE_TMP_BUFFER);
10691
362
        if (bslide == NULL) {
10692
5
            ret = MEMORY_E;
10693
5
        }
10694
362
    }
10695
424
    if (ret == 0) {
10696
357
        pi = (ge448_p2 *)XMALLOC(16 * sizeof *pi, NULL,
10697
357
                                                       DYNAMIC_TYPE_TMP_BUFFER);
10698
357
        if (pi == NULL) {
10699
1
            ret = MEMORY_E;
10700
1
        }
10701
357
    }
10702
424
    if (ret == 0) {
10703
356
        p2 = (ge448_p2 *)XMALLOC(sizeof *p2, NULL, DYNAMIC_TYPE_TMP_BUFFER);
10704
356
        if (p2 == NULL) {
10705
5
            ret = MEMORY_E;
10706
5
        }
10707
356
    }
10708
424
#endif
10709
10710
424
    if (ret == 0) {
10711
351
        slide(aslide, a);
10712
351
        slide(bslide, b);
10713
10714
351
        fe448_copy(pi[0].X, p->X);
10715
351
        fe448_copy(pi[0].Y, p->Y);
10716
351
        fe448_copy(pi[0].Z, p->Z);
10717
351
        ge448_dbl(p2, p);
10718
351
        ge448_add(&pi[1], p2, &pi[0]);
10719
351
        ge448_add(&pi[2], p2, &pi[1]);
10720
351
        ge448_add(&pi[3], p2, &pi[2]);
10721
351
        ge448_add(&pi[4], p2, &pi[3]);
10722
351
        ge448_add(&pi[5], p2, &pi[4]);
10723
351
        ge448_add(&pi[6], p2, &pi[5]);
10724
351
        ge448_add(&pi[7], p2, &pi[6]);
10725
351
        ge448_add(&pi[8], p2, &pi[7]);
10726
351
        ge448_add(&pi[9], p2, &pi[8]);
10727
351
        ge448_add(&pi[10], p2, &pi[9]);
10728
351
        ge448_add(&pi[11], p2, &pi[10]);
10729
351
        ge448_add(&pi[12], p2, &pi[11]);
10730
351
        ge448_add(&pi[13], p2, &pi[12]);
10731
351
        ge448_add(&pi[14], p2, &pi[13]);
10732
351
        ge448_add(&pi[15], p2, &pi[14]);
10733
10734
351
        ge448_0(r);
10735
10736
        /* Find first index that is not 0. */
10737
1.42k
        for (i = 447; i >= 0; --i) {
10738
1.42k
            if (aslide[i] || bslide[i]) {
10739
351
                break;
10740
351
            }
10741
1.42k
        }
10742
10743
156k
        for (; i >= 0; --i) {
10744
156k
            ge448_dbl(r, r);
10745
10746
156k
            if (aslide[i] > 0)
10747
11.5k
                ge448_add(r, r, &pi[aslide[i]/2]);
10748
144k
            else if (aslide[i] < 0)
10749
11.0k
                ge448_sub(r, r ,&pi[(-aslide[i])/2]);
10750
10751
156k
            if (bslide[i] > 0)
10752
10.0k
                ge448_madd(r, r, &base_i[bslide[i]/2]);
10753
146k
            else if (bslide[i] < 0)
10754
10.0k
                ge448_msub(r, r, &base_i[(-bslide[i])/2]);
10755
156k
        }
10756
351
    }
10757
10758
424
#if defined(WOLFSSL_SMALL_STACK) && (!defined(WOLFSSL_NO_MALLOC) ||                                                           defined(XMALLOC_USER))
10759
424
    if (p2 != NULL) {
10760
351
        XFREE(p2, NULL, DYNAMIC_TYPE_TMP_BUFFER);
10761
351
    }
10762
424
    if (pi != NULL) {
10763
356
        XFREE(pi, NULL, DYNAMIC_TYPE_TMP_BUFFER);
10764
356
    }
10765
424
    if (bslide != NULL) {
10766
357
        XFREE(bslide, NULL, DYNAMIC_TYPE_TMP_BUFFER);
10767
357
    }
10768
424
    if (aslide != NULL) {
10769
362
        XFREE(aslide, NULL, DYNAMIC_TYPE_TMP_BUFFER);
10770
362
    }
10771
424
#endif
10772
10773
424
    return ret;
10774
424
}
10775
10776
/* Convert compressed point to negative of affine point.
10777
 * Calculates x from the y and the negative bit.
10778
 * Not constant time.
10779
 *
10780
 * r  [in]  Uncompressed point.
10781
 * b  [in]  Array of bytes representing point.
10782
 * returns 0 on success and -1 on failure.
10783
 */
10784
int ge448_from_bytes_negate_vartime(ge448_p2 *r, const byte *b)
10785
435
{
10786
435
    int   ret = 0;
10787
435
    ge448 u[GE448_WORDS];
10788
435
    ge448 v[GE448_WORDS];
10789
435
    ge448 u3[GE448_WORDS];
10790
435
    ge448 vxx[GE448_WORDS];
10791
435
    ge448 check[GE448_WORDS];
10792
10793
435
    fe448_from_bytes(r->Y, b);
10794
435
    fe448_1(r->Z);
10795
435
    fe448_sqr(u, r->Y);                /* u = y^2                      */
10796
435
    fe448_mul39081(v, u);              /* v = 39081.y^2                */
10797
435
    fe448_sub(u, u, r->Z);             /* u = y^2-1                    */
10798
435
    fe448_reduce(u);
10799
435
    fe448_add(v, v, r->Z);             /* v = 39081.y^2-1              */
10800
435
    fe448_reduce(v);
10801
435
    fe448_neg(v, v);                   /* v = -39081.y^2-1 = d.y^2-1   */
10802
10803
435
    fe448_sqr(r->X, v);                /* x = v^2                      */
10804
435
    fe448_mul(r->X, r->X, v);          /* x = v^3                      */
10805
435
    fe448_sqr(u3, u);                  /* x = u^2.v^3                  */
10806
435
    fe448_mul(r->X, r->X, u3);         /* x = u^2.v^3                  */
10807
435
    fe448_mul(u3, u3, u);              /* u3 = u^3                     */
10808
435
    fe448_mul(r->X, r->X, u3);         /* x = u^5.v^3                  */
10809
10810
435
    fe448_pow_2_446_222_1(r->X, r->X); /* x = (u^5.v^3)^((q-3)/4)      */
10811
435
    fe448_mul(r->X, r->X, u3);         /* x = u^3(u^5.v^3)^((q-3)/4)   */
10812
435
    fe448_mul(r->X, r->X, v);          /* x = u^3.v(u^5.v^3)^((q-3)/4) */
10813
10814
435
    fe448_sqr(vxx, r->X);
10815
435
    fe448_mul(vxx, vxx, v);
10816
435
    fe448_sub(check, vxx, u);          /* check = v.x^2-u              */
10817
435
    fe448_reduce(check);
10818
    /* Note; vx^2+u is NOT correct. */
10819
435
    if (fe448_isnonzero(check)) {
10820
11
        ret = -1;
10821
11
    }
10822
10823
    /* Calculating negative of point in bytes - negate only if X is correct. */
10824
435
    if (fe448_isnegative(r->X) == (b[56] >> 7)) {
10825
399
        fe448_neg(r->X, r->X);
10826
399
    }
10827
10828
435
    return ret;
10829
435
}
10830
10831
#endif /* ED448_SMALL */
10832
#endif /* HAVE_CURVE448 || HAVE_ED448 */