1 /* test_aes.c - TinyCrypt
2 * Implementation of some AES-128 tests (including NIST tests)
3 */
4
5 /*
6 * Copyright (C) 2015 by Intel Corporation, All Rights Reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions are met:
10 *
11 * - Redistributions of source code must retain the above copyright notice,
12 * this list of conditions and the following disclaimer.
13 *
14 * - Redistributions in binary form must reproduce the above copyright
15 * notice, this list of conditions and the following disclaimer in the
16 * documentation and/or other materials provided with the distribution.
17 *
18 * - Neither the name of Intel Corporation nor the names of its contributors
19 * may be used to endorse or promote products derived from this software
20 * without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
26 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 * POSSIBILITY OF SUCH DAMAGE.
33 */
34
35 /*
36 * DESCRIPTION
37 * This module tests the following AES routines:
38 *
39 * Scenarios tested include:
40 * - AES128 NIST key schedule test
41 * - AES128 NIST encryption test
42 * - AES128 NIST fixed-key and variable-text
43 * - AES128 NIST variable-key and fixed-text
44 */
45
46 #include <tinycrypt/aes.h>
47 #include <tinycrypt/constants.h>
48 #include <zephyr/test_utils.h>
49
50 #include <stdlib.h>
51 #include <stdio.h>
52 #include <string.h>
53
54 #include <zephyr/types.h>
55 #include <stddef.h>
56 #include <zephyr/sys/printk.h>
57 #include <zephyr/ztest.h>
58
59 #define NUM_OF_NIST_KEYS 16
60 #define NUM_OF_FIXED_KEYS 128
61
62
63 struct kat_table {
64 uint8_t in[NUM_OF_NIST_KEYS];
65 uint8_t out[NUM_OF_NIST_KEYS];
66 };
67
68 /*
69 * NIST test key schedule.
70 */
test_aes_key_chain(void)71 void test_aes_key_chain(void)
72 {
73 uint32_t result = TC_PASS;
74 const uint8_t nist_key[NUM_OF_NIST_KEYS] = {
75 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6,
76 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c
77 };
78 const struct tc_aes_key_sched_struct expected = {{
79 0x2b7e1516, 0x28aed2a6, 0xabf71588, 0x09cf4f3c,
80 0xa0fafe17, 0x88542cb1, 0x23a33939, 0x2a6c7605,
81 0xf2c295f2, 0x7a96b943, 0x5935807a, 0x7359f67f,
82 0x3d80477d, 0x4716fe3e, 0x1e237e44, 0x6d7a883b,
83 0xef44a541, 0xa8525b7f, 0xb671253b, 0xdb0bad00,
84 0xd4d1c6f8, 0x7c839d87, 0xcaf2b8bc, 0x11f915bc,
85 0x6d88a37a, 0x110b3efd, 0xdbf98641, 0xca0093fd,
86 0x4e54f70e, 0x5f5fc9f3, 0x84a64fb2, 0x4ea6dc4f,
87 0xead27321, 0xb58dbad2, 0x312bf560, 0x7f8d292f,
88 0xac7766f3, 0x19fadc21, 0x28d12941, 0x575c006e,
89 0xd014f9a8, 0xc9ee2589, 0xe13f0cc8, 0xb6630ca6
90 } };
91 struct tc_aes_key_sched_struct s;
92
93 TC_PRINT("AES128 %s (NIST key schedule test):\n", __func__);
94
95 /**TESTPOINT: Check NIST_key*/
96 zassert_true(tc_aes128_set_encrypt_key(&s, nist_key),
97 "NIST key schedule test failed.");
98
99 result = check_result(1, expected.words,
100 sizeof(expected.words),
101 s.words, sizeof(s.words), 1);
102
103 /**TESTPOINT: Check result*/
104 zassert_false(result,
105 "AES128 test #1 (NIST key schedule test) failed.");
106 }
107
108 /*
109 * NIST test vectors for encryption.
110 */
test_aes_vectors(void)111 void test_aes_vectors(void)
112 {
113 int result = TC_PASS;
114 const uint8_t nist_key[NUM_OF_NIST_KEYS] = {
115 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6,
116 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c
117 };
118 const uint8_t nist_input[NUM_OF_NIST_KEYS] = {
119 0x32, 0x43, 0xf6, 0xa8, 0x88, 0x5a, 0x30, 0x8d,
120 0x31, 0x31, 0x98, 0xa2, 0xe0, 0x37, 0x07, 0x34
121 };
122 const uint8_t expected[NUM_OF_NIST_KEYS] = {
123 0x39, 0x25, 0x84, 0x1d, 0x02, 0xdc, 0x09, 0xfb,
124 0xdc, 0x11, 0x85, 0x97, 0x19, 0x6a, 0x0b, 0x32
125 };
126 struct tc_aes_key_sched_struct s;
127 uint8_t ciphertext[NUM_OF_NIST_KEYS];
128
129 TC_PRINT("AES128 %s (NIST encryption test):\n", __func__);
130
131 (void)tc_aes128_set_encrypt_key(&s, nist_key);
132
133 /**TESTPOINT: Check NIST input*/
134 zassert_true(tc_aes_encrypt(ciphertext, nist_input, &s),
135 "NIST encryption test failed.");
136
137 result = check_result(2, expected, sizeof(expected),
138 ciphertext, sizeof(ciphertext), 1);
139
140 /**TESTPOINT: Check result*/
141 zassert_false(result,
142 "AES128 test #2 (NIST encryption test) failed.");
143 }
144
var_text_test(uint32_t r,const uint8_t * in,const uint8_t * out,TCAesKeySched_t s)145 uint32_t var_text_test(uint32_t r, const uint8_t *in, const uint8_t *out,
146 TCAesKeySched_t s)
147 {
148 uint8_t ciphertext[NUM_OF_NIST_KEYS];
149 uint8_t decrypted[NUM_OF_NIST_KEYS];
150 uint32_t result = TC_PASS;
151
152 (void)tc_aes_encrypt(ciphertext, in, s);
153 result = check_result(r, out, NUM_OF_NIST_KEYS,
154 ciphertext, sizeof(ciphertext), 0);
155 if (result != TC_FAIL) {
156 if (tc_aes_decrypt(decrypted, ciphertext, s) == 0) {
157 TC_ERROR("aes_decrypt failed\n");
158 result = TC_FAIL;
159 } else {
160 result = check_result(r, in, NUM_OF_NIST_KEYS,
161 decrypted, sizeof(decrypted), 0);
162 }
163 }
164 return result;
165 }
166
167 /*
168 * All NIST tests with fixed key and variable text.
169 */
ZTEST(tinycrypt,test_aes_fixed_key_variable_text)170 ZTEST(tinycrypt, test_aes_fixed_key_variable_text)
171 {
172 uint32_t result = TC_PASS;
173 const uint8_t key[NUM_OF_NIST_KEYS] = {
174 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
176 };
177 const struct kat_table kat_tbl[NUM_OF_FIXED_KEYS] = {
178 {{
179 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
180 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
181 }, {
182 0x3a, 0xd7, 0x8e, 0x72, 0x6c, 0x1e, 0xc0, 0x2b,
183 0x7e, 0xbf, 0xe9, 0x2b, 0x23, 0xd9, 0xec, 0x34
184 } },
185 {{
186 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
187 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
188 }, {
189 0xaa, 0xe5, 0x93, 0x9c, 0x8e, 0xfd, 0xf2, 0xf0,
190 0x4e, 0x60, 0xb9, 0xfe, 0x71, 0x17, 0xb2, 0xc2
191 } },
192 {{
193 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
194 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
195 }, {
196 0xf0, 0x31, 0xd4, 0xd7, 0x4f, 0x5d, 0xcb, 0xf3,
197 0x9d, 0xaa, 0xf8, 0xca, 0x3a, 0xf6, 0xe5, 0x27
198 } },
199 {{
200 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
201 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
202 }, {
203 0x96, 0xd9, 0xfd, 0x5c, 0xc4, 0xf0, 0x74, 0x41,
204 0x72, 0x7d, 0xf0, 0xf3, 0x3e, 0x40, 0x1a, 0x36
205 } },
206 {{
207 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
208 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
209 }, {
210 0x30, 0xcc, 0xdb, 0x04, 0x46, 0x46, 0xd7, 0xe1,
211 0xf3, 0xcc, 0xea, 0x3d, 0xca, 0x08, 0xb8, 0xc0
212 } },
213 {{
214 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
216 }, {
217 0x16, 0xae, 0x4c, 0xe5, 0x04, 0x2a, 0x67, 0xee,
218 0x8e, 0x17, 0x7b, 0x7c, 0x58, 0x7e, 0xcc, 0x82
219 } },
220 {{
221 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
222 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
223 }, {
224 0xb6, 0xda, 0x0b, 0xb1, 0x1a, 0x23, 0x85, 0x5d,
225 0x9c, 0x5c, 0xb1, 0xb4, 0xc6, 0x41, 0x2e, 0x0a
226 } },
227 {{
228 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
229 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
230 }, {
231 0xdb, 0x4f, 0x1a, 0xa5, 0x30, 0x96, 0x7d, 0x67,
232 0x32, 0xce, 0x47, 0x15, 0xeb, 0x0e, 0xe2, 0x4b
233 } },
234 {{
235 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
236 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
237 }, {
238 0xa8, 0x17, 0x38, 0x25, 0x26, 0x21, 0xdd, 0x18,
239 0x0a, 0x34, 0xf3, 0x45, 0x5b, 0x4b, 0xaa, 0x2f
240 } },
241 {{
242 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
243 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
244 }, {
245 0x77, 0xe2, 0xb5, 0x08, 0xdb, 0x7f, 0xd8, 0x92,
246 0x34, 0xca, 0xf7, 0x93, 0x9e, 0xe5, 0x62, 0x1a
247 } },
248 {{
249 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
250 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
251 }, {
252 0xb8, 0x49, 0x9c, 0x25, 0x1f, 0x84, 0x42, 0xee,
253 0x13, 0xf0, 0x93, 0x3b, 0x68, 0x8f, 0xcd, 0x19
254 } },
255 {{
256 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
257 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
258 }, {
259 0x96, 0x51, 0x35, 0xf8, 0xa8, 0x1f, 0x25, 0xc9,
260 0xd6, 0x30, 0xb1, 0x75, 0x02, 0xf6, 0x8e, 0x53
261 } },
262 {{
263 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
264 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
265 }, {
266 0x8b, 0x87, 0x14, 0x5a, 0x01, 0xad, 0x1c, 0x6c,
267 0xed, 0xe9, 0x95, 0xea, 0x36, 0x70, 0x45, 0x4f
268 } },
269 {{
270 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
271 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
272 }, {
273 0x8e, 0xae, 0x3b, 0x10, 0xa0, 0xc8, 0xca, 0x6d,
274 0x1d, 0x3b, 0x0f, 0xa6, 0x1e, 0x56, 0xb0, 0xb2
275 } },
276 {{
277 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
278 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
279 }, {
280 0x64, 0xb4, 0xd6, 0x29, 0x81, 0x0f, 0xda, 0x6b,
281 0xaf, 0xdf, 0x08, 0xf3, 0xb0, 0xd8, 0xd2, 0xc5
282 } },
283 {{
284 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
285 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
286 }, {
287 0xd7, 0xe5, 0xdb, 0xd3, 0x32, 0x45, 0x95, 0xf8,
288 0xfd, 0xc7, 0xd7, 0xc5, 0x71, 0xda, 0x6c, 0x2a
289 } },
290 {{
291 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
292 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
293 }, {
294 0xf3, 0xf7, 0x23, 0x75, 0x26, 0x4e, 0x16, 0x7f,
295 0xca, 0x9d, 0xe2, 0xc1, 0x52, 0x7d, 0x96, 0x06
296 } },
297 {{
298 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
299 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
300 }, {
301 0x8e, 0xe7, 0x9d, 0xd4, 0xf4, 0x01, 0xff, 0x9b,
302 0x7e, 0xa9, 0x45, 0xd8, 0x66, 0x66, 0xc1, 0x3b
303 } },
304 {{
305 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
306 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
307 }, {
308 0xdd, 0x35, 0xce, 0xa2, 0x79, 0x99, 0x40, 0xb4,
309 0x0d, 0xb3, 0xf8, 0x19, 0xcb, 0x94, 0xc0, 0x8b
310 } },
311 {{
312 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
313 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
314 }, {
315 0x69, 0x41, 0xcb, 0x6b, 0x3e, 0x08, 0xc2, 0xb7,
316 0xaf, 0xa5, 0x81, 0xeb, 0xdd, 0x60, 0x7b, 0x87
317 } },
318 {{
319 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
320 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
321 }, {
322 0x2c, 0x20, 0xf4, 0x39, 0xf6, 0xbb, 0x09, 0x7b,
323 0x29, 0xb8, 0xbd, 0x6d, 0x99, 0xaa, 0xd7, 0x99
324 } },
325 {{
326 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
327 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
328 }, {
329 0x62, 0x5d, 0x01, 0xf0, 0x58, 0xe5, 0x65, 0xf7,
330 0x7a, 0xe8, 0x63, 0x78, 0xbd, 0x2c, 0x49, 0xb3
331 } },
332 {{
333 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
334 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
335 }, {
336 0xc0, 0xb5, 0xfd, 0x98, 0x19, 0x0e, 0xf4, 0x5f,
337 0xbb, 0x43, 0x01, 0x43, 0x8d, 0x09, 0x59, 0x50
338 } },
339 {{
340 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
341 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
342 }, {
343 0x13, 0x00, 0x1f, 0xf5, 0xd9, 0x98, 0x06, 0xef,
344 0xd2, 0x5d, 0xa3, 0x4f, 0x56, 0xbe, 0x85, 0x4b
345 } },
346 {{
347 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
348 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
349 }, {
350 0x3b, 0x59, 0x4c, 0x60, 0xf5, 0xc8, 0x27, 0x7a,
351 0x51, 0x13, 0x67, 0x7f, 0x94, 0x20, 0x8d, 0x82
352 } },
353 {{
354 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
355 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
356 }, {
357 0xe9, 0xc0, 0xfc, 0x18, 0x18, 0xe4, 0xaa, 0x46,
358 0xbd, 0x2e, 0x39, 0xd6, 0x38, 0xf8, 0x9e, 0x05
359 } },
360 {{
361 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
362 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
363 }, {
364 0xf8, 0x02, 0x3e, 0xe9, 0xc3, 0xfd, 0xc4, 0x5a,
365 0x01, 0x9b, 0x4e, 0x98, 0x5c, 0x7e, 0x1a, 0x54
366 } },
367 {{
368 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00,
369 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
370 }, {
371 0x35, 0xf4, 0x01, 0x82, 0xab, 0x46, 0x62, 0xf3,
372 0x02, 0x3b, 0xae, 0xc1, 0xee, 0x79, 0x6b, 0x57
373 } },
374 {{
375 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00,
376 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
377 }, {
378 0x3a, 0xeb, 0xba, 0xd7, 0x30, 0x36, 0x49, 0xb4,
379 0x19, 0x4a, 0x69, 0x45, 0xc6, 0xcc, 0x36, 0x94
380 } },
381 {{
382 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
383 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
384 }, {
385 0xa2, 0x12, 0x4b, 0xea, 0x53, 0xec, 0x28, 0x34,
386 0x27, 0x9b, 0xed, 0x7f, 0x7e, 0xb0, 0xf9, 0x38
387 } },
388 {{
389 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
390 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
391 }, {
392 0xb9, 0xfb, 0x43, 0x99, 0xfa, 0x4f, 0xac, 0xc7,
393 0x30, 0x9e, 0x14, 0xec, 0x98, 0x36, 0x0b, 0x0a
394 } },
395 {{
396 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
397 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
398 }, {
399 0xc2, 0x62, 0x77, 0x43, 0x74, 0x20, 0xc5, 0xd6,
400 0x34, 0xf7, 0x15, 0xae, 0xa8, 0x1a, 0x91, 0x32
401 } },
402 {{
403 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00,
404 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
405 }, {
406 0x17, 0x1a, 0x0e, 0x1b, 0x2d, 0xd4, 0x24, 0xf0,
407 0xe0, 0x89, 0xaf, 0x2c, 0x4c, 0x10, 0xf3, 0x2f
408 } },
409 {{
410 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00,
411 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
412 }, {
413 0x7c, 0xad, 0xbe, 0x40, 0x2d, 0x1b, 0x20, 0x8f,
414 0xe7, 0x35, 0xed, 0xce, 0x00, 0xae, 0xe7, 0xce
415 } },
416 {{
417 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00,
418 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
419 }, {
420 0x43, 0xb0, 0x2f, 0xf9, 0x29, 0xa1, 0x48, 0x5a,
421 0xf6, 0xf5, 0xc6, 0xd6, 0x55, 0x8b, 0xaa, 0x0f
422 } },
423 {{
424 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00,
425 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
426 }, {
427 0x09, 0x2f, 0xaa, 0xcc, 0x9b, 0xf4, 0x35, 0x08,
428 0xbf, 0x8f, 0xa8, 0x61, 0x3c, 0xa7, 0x5d, 0xea
429 } },
430 {{
431 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00,
432 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
433 }, {
434 0xcb, 0x2b, 0xf8, 0x28, 0x0f, 0x3f, 0x97, 0x42,
435 0xc7, 0xed, 0x51, 0x3f, 0xe8, 0x02, 0x62, 0x9c
436 } },
437 {{
438 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
439 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
440 }, {
441 0x21, 0x5a, 0x41, 0xee, 0x44, 0x2f, 0xa9, 0x92,
442 0xa6, 0xe3, 0x23, 0x98, 0x6d, 0xed, 0x3f, 0x68
443 } },
444 {{
445 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00,
446 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
447 }, {
448 0xf2, 0x1e, 0x99, 0xcf, 0x4f, 0x0f, 0x77, 0xce,
449 0xa8, 0x36, 0xe1, 0x1a, 0x2f, 0xe7, 0x5f, 0xb1
450 } },
451 {{
452 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
453 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
454 }, {
455 0x95, 0xe3, 0xa0, 0xca, 0x90, 0x79, 0xe6, 0x46,
456 0x33, 0x1d, 0xf8, 0xb4, 0xe7, 0x0d, 0x2c, 0xd6
457 } },
458 {{
459 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
460 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
461 }, {
462 0x4a, 0xfe, 0x7f, 0x12, 0x0c, 0xe7, 0x61, 0x3f,
463 0x74, 0xfc, 0x12, 0xa0, 0x1a, 0x82, 0x80, 0x73
464 } },
465 {{
466 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
467 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
468 }, {
469 0x82, 0x7f, 0x00, 0x0e, 0x75, 0xe2, 0xc8, 0xb9,
470 0xd4, 0x79, 0xbe, 0xed, 0x91, 0x3f, 0xe6, 0x78
471 } },
472 {{
473 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
474 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
475 }, {
476 0x35, 0x83, 0x0c, 0x8e, 0x7a, 0xae, 0xfe, 0x2d,
477 0x30, 0x31, 0x0e, 0xf3, 0x81, 0xcb, 0xf6, 0x91
478 } },
479 {{
480 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00,
481 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
482 }, {
483 0x19, 0x1a, 0xa0, 0xf2, 0xc8, 0x57, 0x01, 0x44,
484 0xf3, 0x86, 0x57, 0xea, 0x40, 0x85, 0xeb, 0xe5
485 } },
486 {{
487 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
488 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
489 }, {
490 0x85, 0x06, 0x2c, 0x2c, 0x90, 0x9f, 0x15, 0xd9,
491 0x26, 0x9b, 0x6c, 0x18, 0xce, 0x99, 0xc4, 0xf0
492 } },
493 {{
494 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
495 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
496 }, {
497 0x67, 0x80, 0x34, 0xdc, 0x9e, 0x41, 0xb5, 0xa5,
498 0x60, 0xed, 0x23, 0x9e, 0xea, 0xb1, 0xbc, 0x78
499 } },
500 {{
501 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00,
502 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
503 }, {
504 0xc2, 0xf9, 0x3a, 0x4c, 0xe5, 0xab, 0x6d, 0x5d,
505 0x56, 0xf1, 0xb9, 0x3c, 0xf1, 0x99, 0x11, 0xc1
506 } },
507 {{
508 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
509 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
510 }, {
511 0x1c, 0x31, 0x12, 0xbc, 0xb0, 0xc1, 0xdc, 0xc7,
512 0x49, 0xd7, 0x99, 0x74, 0x36, 0x91, 0xbf, 0x82
513 } },
514 {{
515 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
516 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
517 }, {
518 0x00, 0xc5, 0x5b, 0xd7, 0x5c, 0x7f, 0x9c, 0x88,
519 0x19, 0x89, 0xd3, 0xec, 0x19, 0x11, 0xc0, 0xd4
520 } },
521 {{
522 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
523 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
524 }, {
525 0xea, 0x2e, 0x6b, 0x5e, 0xf1, 0x82, 0xb7, 0xdf,
526 0xf3, 0x62, 0x9a, 0xbd, 0x6a, 0x12, 0x04, 0x5f
527 } },
528 {{
529 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
530 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
531 }, {
532 0x22, 0x32, 0x23, 0x27, 0xe0, 0x17, 0x80, 0xb1,
533 0x73, 0x97, 0xf2, 0x40, 0x87, 0xf8, 0xcc, 0x6f
534 } },
535 {{
536 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
537 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
538 }, {
539 0xc9, 0xca, 0xcb, 0x5c, 0xd1, 0x16, 0x92, 0xc3,
540 0x73, 0xb2, 0x41, 0x17, 0x68, 0x14, 0x9e, 0xe7
541 } },
542 {{
543 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
544 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
545 }, {
546 0xa1, 0x8e, 0x3d, 0xbb, 0xca, 0x57, 0x78, 0x60,
547 0xda, 0xb6, 0xb8, 0x0d, 0xa3, 0x13, 0x92, 0x56
548 } },
549 {{
550 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
551 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
552 }, {
553 0x79, 0xb6, 0x1c, 0x37, 0xbf, 0x32, 0x8e, 0xcc,
554 0xa8, 0xd7, 0x43, 0x26, 0x5a, 0x3d, 0x42, 0x5c
555 } },
556 {{
557 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00,
558 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
559 }, {
560 0xd2, 0xd9, 0x9c, 0x6b, 0xcc, 0x1f, 0x06, 0xfd,
561 0xa8, 0xe2, 0x7e, 0x8a, 0xe3, 0xf1, 0xcc, 0xc7
562 } },
563 {{
564 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
565 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
566 }, {
567 0x1b, 0xfd, 0x4b, 0x91, 0xc7, 0x01, 0xfd, 0x6b,
568 0x61, 0xb7, 0xf9, 0x97, 0x82, 0x9d, 0x66, 0x3b
569 } },
570 {{
571 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
572 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
573 }, {
574 0x11, 0x00, 0x5d, 0x52, 0xf2, 0x5f, 0x16, 0xbd,
575 0xc9, 0x54, 0x5a, 0x87, 0x6a, 0x63, 0x49, 0x0a
576 } },
577 {{
578 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
579 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
580 }, {
581 0x3a, 0x4d, 0x35, 0x4f, 0x02, 0xbb, 0x5a, 0x5e,
582 0x47, 0xd3, 0x96, 0x66, 0x86, 0x7f, 0x24, 0x6a
583 } },
584 {{
585 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
586 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
587 }, {
588 0xd4, 0x51, 0xb8, 0xd6, 0xe1, 0xe1, 0xa0, 0xeb,
589 0xb1, 0x55, 0xfb, 0xbf, 0x6e, 0x7b, 0x7d, 0xc3
590 } },
591 {{
592 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
593 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
594 }, {
595 0x68, 0x98, 0xd4, 0xf4, 0x2f, 0xa7, 0xba, 0x6a,
596 0x10, 0xac, 0x05, 0xe8, 0x7b, 0x9f, 0x20, 0x80
597 } },
598 {{
599 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
600 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
601 }, {
602 0xb6, 0x11, 0x29, 0x5e, 0x73, 0x9c, 0xa7, 0xd9,
603 0xb5, 0x0f, 0x8e, 0x4c, 0x0e, 0x75, 0x4a, 0x3f
604 } },
605 {{
606 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
607 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
608 }, {
609 0x7d, 0x33, 0xfc, 0x7d, 0x8a, 0xbe, 0x3c, 0xa1,
610 0x93, 0x67, 0x59, 0xf8, 0xf5, 0xde, 0xaf, 0x20
611 } },
612 {{
613 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
614 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
615 }, {
616 0x3b, 0x5e, 0x0f, 0x56, 0x6d, 0xc9, 0x6c, 0x29,
617 0x8f, 0x0c, 0x12, 0x63, 0x75, 0x39, 0xb2, 0x5c
618 } },
619 {{
620 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
621 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
622 }, {
623 0xf8, 0x07, 0xc3, 0xe7, 0x98, 0x5f, 0xe0, 0xf5,
624 0xa5, 0x0e, 0x2c, 0xdb, 0x25, 0xc5, 0x10, 0x9e
625 } },
626 {{
627 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
628 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
629 }, {
630 0x41, 0xf9, 0x92, 0xa8, 0x56, 0xfb, 0x27, 0x8b,
631 0x38, 0x9a, 0x62, 0xf5, 0xd2, 0x74, 0xd7, 0xe9
632 } },
633 {{
634 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
635 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
636 }, {
637 0x10, 0xd3, 0xed, 0x7a, 0x6f, 0xe1, 0x5a, 0xb4,
638 0xd9, 0x1a, 0xcb, 0xc7, 0xd0, 0x76, 0x7a, 0xb1
639 } },
640 {{
641 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
642 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
643 }, {
644 0x21, 0xfe, 0xec, 0xd4, 0x5b, 0x2e, 0x67, 0x59,
645 0x73, 0xac, 0x33, 0xbf, 0x0c, 0x54, 0x24, 0xfc
646 } },
647 {{
648 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
649 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
650 }, {
651 0x14, 0x80, 0xcb, 0x39, 0x55, 0xba, 0x62, 0xd0,
652 0x9e, 0xea, 0x66, 0x8f, 0x7c, 0x70, 0x88, 0x17
653 } },
654 {{
655 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
656 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
657 }, {
658 0x66, 0x40, 0x40, 0x33, 0xd6, 0xb7, 0x2b, 0x60,
659 0x93, 0x54, 0xd5, 0x49, 0x6e, 0x7e, 0xb5, 0x11
660 } },
661 {{
662 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
663 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
664 }, {
665 0x1c, 0x31, 0x7a, 0x22, 0x0a, 0x7d, 0x70, 0x0d,
666 0xa2, 0xb1, 0xe0, 0x75, 0xb0, 0x02, 0x66, 0xe1
667 } },
668 {{
669 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
670 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
671 }, {
672 0xab, 0x3b, 0x89, 0x54, 0x22, 0x33, 0xf1, 0x27,
673 0x1b, 0xf8, 0xfd, 0x0c, 0x0f, 0x40, 0x35, 0x45
674 } },
675 {{
676 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
677 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
678 }, {
679 0xd9, 0x3e, 0xae, 0x96, 0x6f, 0xac, 0x46, 0xdc,
680 0xa9, 0x27, 0xd6, 0xb1, 0x14, 0xfa, 0x3f, 0x9e
681 } },
682 {{
683 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
684 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
685 }, {
686 0x1b, 0xde, 0xc5, 0x21, 0x31, 0x65, 0x03, 0xd9,
687 0xd5, 0xee, 0x65, 0xdf, 0x3e, 0xa9, 0x4d, 0xdf
688 } },
689 {{
690 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
691 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
692 }, {
693 0xee, 0xf4, 0x56, 0x43, 0x1d, 0xea, 0x8b, 0x4a,
694 0xcf, 0x83, 0xbd, 0xae, 0x37, 0x17, 0xf7, 0x5f
695 } },
696 {{
697 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
698 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
699 }, {
700 0x06, 0xf2, 0x51, 0x9a, 0x2f, 0xaf, 0xaa, 0x59,
701 0x6b, 0xfe, 0xf5, 0xcf, 0xa1, 0x5c, 0x21, 0xb9
702 } },
703 {{
704 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
705 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
706 }, {
707 0x25, 0x1a, 0x7e, 0xac, 0x7e, 0x2f, 0xe8, 0x09,
708 0xe4, 0xaa, 0x8d, 0x0d, 0x70, 0x12, 0x53, 0x1a
709 } },
710 {{
711 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
712 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
713 }, {
714 0x3b, 0xff, 0xc1, 0x6e, 0x4c, 0x49, 0xb2, 0x68,
715 0xa2, 0x0f, 0x8d, 0x96, 0xa6, 0x0b, 0x40, 0x58
716 } },
717 {{
718 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
719 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
720 }, {
721 0xe8, 0x86, 0xf9, 0x28, 0x19, 0x99, 0xc5, 0xbb,
722 0x3b, 0x3e, 0x88, 0x62, 0xe2, 0xf7, 0xc9, 0x88
723 } },
724 {{
725 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
726 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
727 }, {
728 0x56, 0x3b, 0xf9, 0x0d, 0x61, 0xbe, 0xef, 0x39,
729 0xf4, 0x8d, 0xd6, 0x25, 0xfc, 0xef, 0x13, 0x61
730 } },
731 {{
732 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
733 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
734 }, {
735 0x4d, 0x37, 0xc8, 0x50, 0x64, 0x45, 0x63, 0xc6,
736 0x9f, 0xd0, 0xac, 0xd9, 0xa0, 0x49, 0x32, 0x5b
737 } },
738 {{
739 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
740 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
741 }, {
742 0xb8, 0x7c, 0x92, 0x1b, 0x91, 0x82, 0x9e, 0xf3,
743 0xb1, 0x3c, 0xa5, 0x41, 0xee, 0x11, 0x30, 0xa6
744 } },
745 {{
746 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
747 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00
748 }, {
749 0x2e, 0x65, 0xeb, 0x6b, 0x6e, 0xa3, 0x83, 0xe1,
750 0x09, 0xac, 0xcc, 0xe8, 0x32, 0x6b, 0x03, 0x93
751 } },
752 {{
753 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
754 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00
755 }, {
756 0x9c, 0xa5, 0x47, 0xf7, 0x43, 0x9e, 0xdc, 0x3e,
757 0x25, 0x5c, 0x0f, 0x4d, 0x49, 0xaa, 0x89, 0x90
758 } },
759 {{
760 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
761 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00
762 }, {
763 0xa5, 0xe6, 0x52, 0x61, 0x4c, 0x93, 0x00, 0xf3,
764 0x78, 0x16, 0xb1, 0xf9, 0xfd, 0x0c, 0x87, 0xf9
765 } },
766 {{
767 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
768 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00
769 }, {
770 0x14, 0x95, 0x4f, 0x0b, 0x46, 0x97, 0x77, 0x6f,
771 0x44, 0x49, 0x4f, 0xe4, 0x58, 0xd8, 0x14, 0xed
772 } },
773 {{
774 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
775 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00
776 }, {
777 0x7c, 0x8d, 0x9a, 0xb6, 0xc2, 0x76, 0x17, 0x23,
778 0xfe, 0x42, 0xf8, 0xbb, 0x50, 0x6c, 0xbc, 0xf7
779 } },
780 {{
781 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
782 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00
783 }, {
784 0xdb, 0x7e, 0x19, 0x32, 0x67, 0x9f, 0xdd, 0x99,
785 0x74, 0x2a, 0xab, 0x04, 0xaa, 0x0d, 0x5a, 0x80
786 } },
787 {{
788 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
789 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00
790 }, {
791 0x4c, 0x6a, 0x1c, 0x83, 0xe5, 0x68, 0xcd, 0x10,
792 0xf2, 0x7c, 0x2d, 0x73, 0xde, 0xd1, 0x9c, 0x28
793 } },
794 {{
795 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
796 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00
797 }, {
798 0x90, 0xec, 0xbe, 0x61, 0x77, 0xe6, 0x74, 0xc9,
799 0x8d, 0xe4, 0x12, 0x41, 0x3f, 0x7a, 0xc9, 0x15
800 } },
801 {{
802 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
803 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
804 }, {
805 0x90, 0x68, 0x4a, 0x2a, 0xc5, 0x5f, 0xe1, 0xec,
806 0x2b, 0x8e, 0xbd, 0x56, 0x22, 0x52, 0x0b, 0x73
807 } },
808 {{
809 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
810 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00
811 }, {
812 0x74, 0x72, 0xf9, 0xa7, 0x98, 0x86, 0x07, 0xca,
813 0x79, 0x70, 0x77, 0x95, 0x99, 0x10, 0x35, 0xe6
814 } },
815 {{
816 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
817 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00
818 }, {
819 0x56, 0xaf, 0xf0, 0x89, 0x87, 0x8b, 0xf3, 0x35,
820 0x2f, 0x8d, 0xf1, 0x72, 0xa3, 0xae, 0x47, 0xd8
821 } },
822 {{
823 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
824 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00
825 }, {
826 0x65, 0xc0, 0x52, 0x6c, 0xbe, 0x40, 0x16, 0x1b,
827 0x80, 0x19, 0xa2, 0xa3, 0x17, 0x1a, 0xbd, 0x23
828 } },
829 {{
830 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
831 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00
832 }, {
833 0x37, 0x7b, 0xe0, 0xbe, 0x33, 0xb4, 0xe3, 0xe3,
834 0x10, 0xb4, 0xaa, 0xbd, 0xa1, 0x73, 0xf8, 0x4f
835 } },
836 {{
837 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
838 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00
839 }, {
840 0x94, 0x02, 0xe9, 0xaa, 0x6f, 0x69, 0xde, 0x65,
841 0x04, 0xda, 0x8d, 0x20, 0xc4, 0xfc, 0xaa, 0x2f
842 } },
843 {{
844 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
845 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00
846 }, {
847 0x12, 0x3c, 0x1f, 0x4a, 0xf3, 0x13, 0xad, 0x8c,
848 0x2c, 0xe6, 0x48, 0xb2, 0xe7, 0x1f, 0xb6, 0xe1
849 } },
850 {{
851 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
852 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00
853 }, {
854 0x1f, 0xfc, 0x62, 0x6d, 0x30, 0x20, 0x3d, 0xcd,
855 0xb0, 0x01, 0x9f, 0xb8, 0x0f, 0x72, 0x6c, 0xf4
856 } },
857 {{
858 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
859 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00
860 }, {
861 0x76, 0xda, 0x1f, 0xbe, 0x3a, 0x50, 0x72, 0x8c,
862 0x50, 0xfd, 0x2e, 0x62, 0x1b, 0x5a, 0xd8, 0x85
863 } },
864 {{
865 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
866 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00
867 }, {
868 0x08, 0x2e, 0xb8, 0xbe, 0x35, 0xf4, 0x42, 0xfb,
869 0x52, 0x66, 0x8e, 0x16, 0xa5, 0x91, 0xd1, 0xd6
870 } },
871 {{
872 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
873 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00
874 }, {
875 0xe6, 0x56, 0xf9, 0xec, 0xf5, 0xfe, 0x27, 0xec,
876 0x3e, 0x4a, 0x73, 0xd0, 0x0c, 0x28, 0x2f, 0xb3
877 } },
878 {{
879 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
880 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00
881 }, {
882 0x2c, 0xa8, 0x20, 0x9d, 0x63, 0x27, 0x4c, 0xd9,
883 0xa2, 0x9b, 0xb7, 0x4b, 0xcd, 0x77, 0x68, 0x3a
884 } },
885 {{
886 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
887 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00
888 }, {
889 0x79, 0xbf, 0x5d, 0xce, 0x14, 0xbb, 0x7d, 0xd7,
890 0x3a, 0x8e, 0x36, 0x11, 0xde, 0x7c, 0xe0, 0x26
891 } },
892 {{
893 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
894 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00
895 }, {
896 0x3c, 0x84, 0x99, 0x39, 0xa5, 0xd2, 0x93, 0x99,
897 0xf3, 0x44, 0xc4, 0xa0, 0xec, 0xa8, 0xa5, 0x76
898 } },
899 {{
900 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
901 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00
902 }, {
903 0xed, 0x3c, 0x0a, 0x94, 0xd5, 0x9b, 0xec, 0xe9,
904 0x88, 0x35, 0xda, 0x7a, 0xa4, 0xf0, 0x7c, 0xa2
905 } },
906 {{
907 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
908 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00
909 }, {
910 0x63, 0x91, 0x9e, 0xd4, 0xce, 0x10, 0x19, 0x64,
911 0x38, 0xb6, 0xad, 0x09, 0xd9, 0x9c, 0xd7, 0x95
912 } },
913 {{
914 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
915 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00
916 }, {
917 0x76, 0x78, 0xf3, 0xa8, 0x33, 0xf1, 0x9f, 0xea,
918 0x95, 0xf3, 0xc6, 0x02, 0x9e, 0x2b, 0xc6, 0x10
919 } },
920 {{
921 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
922 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00
923 }, {
924 0x3a, 0xa4, 0x26, 0x83, 0x10, 0x67, 0xd3, 0x6b,
925 0x92, 0xbe, 0x7c, 0x5f, 0x81, 0xc1, 0x3c, 0x56
926 } },
927 {{
928 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
929 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00
930 }, {
931 0x92, 0x72, 0xe2, 0xd2, 0xcd, 0xd1, 0x10, 0x50,
932 0x99, 0x8c, 0x84, 0x50, 0x77, 0xa3, 0x0e, 0xa0
933 } },
934 {{
935 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
936 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00
937 }, {
938 0x08, 0x8c, 0x4b, 0x53, 0xf5, 0xec, 0x0f, 0xf8,
939 0x14, 0xc1, 0x9a, 0xda, 0xe7, 0xf6, 0x24, 0x6c
940 } },
941 {{
942 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
943 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00
944 }, {
945 0x40, 0x10, 0xa5, 0xe4, 0x01, 0xfd, 0xf0, 0xa0,
946 0x35, 0x4d, 0xdb, 0xcc, 0x0d, 0x01, 0x2b, 0x17
947 } },
948 {{
949 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
950 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00
951 }, {
952 0xa8, 0x7a, 0x38, 0x57, 0x36, 0xc0, 0xa6, 0x18,
953 0x9b, 0xd6, 0x58, 0x9b, 0xd8, 0x44, 0x5a, 0x93
954 } },
955 {{
956 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
957 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00
958 }, {
959 0x54, 0x5f, 0x2b, 0x83, 0xd9, 0x61, 0x6d, 0xcc,
960 0xf6, 0x0f, 0xa9, 0x83, 0x0e, 0x9c, 0xd2, 0x87
961 } },
962 {{
963 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
964 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00
965 }, {
966 0x4b, 0x70, 0x6f, 0x7f, 0x92, 0x40, 0x63, 0x52,
967 0x39, 0x40, 0x37, 0xa6, 0xd4, 0xf4, 0x68, 0x8d
968 } },
969 {{
970 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
971 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00
972 }, {
973 0xb7, 0x97, 0x2b, 0x39, 0x41, 0xc4, 0x4b, 0x90,
974 0xaf, 0xa7, 0xb2, 0x64, 0xbf, 0xba, 0x73, 0x87
975 } },
976 {{
977 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
978 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00
979 }, {
980 0x6f, 0x45, 0x73, 0x2c, 0xf1, 0x08, 0x81, 0x54,
981 0x6f, 0x0f, 0xd2, 0x38, 0x96, 0xd2, 0xbb, 0x60
982 } },
983 {{
984 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
985 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00
986 }, {
987 0x2e, 0x35, 0x79, 0xca, 0x15, 0xaf, 0x27, 0xf6,
988 0x4b, 0x3c, 0x95, 0x5a, 0x5b, 0xfc, 0x30, 0xba
989 } },
990 {{
991 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
992 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00
993 }, {
994 0x34, 0xa2, 0xc5, 0xa9, 0x1a, 0xe2, 0xae, 0xc9,
995 0x9b, 0x7d, 0x1b, 0x5f, 0xa6, 0x78, 0x04, 0x47
996 } },
997 {{
998 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
999 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00
1000 }, {
1001 0xa4, 0xd6, 0x61, 0x6b, 0xd0, 0x4f, 0x87, 0x33,
1002 0x5b, 0x0e, 0x53, 0x35, 0x12, 0x27, 0xa9, 0xee
1003 } },
1004 {{
1005 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1006 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00
1007 }, {
1008 0x7f, 0x69, 0x2b, 0x03, 0x94, 0x58, 0x67, 0xd1,
1009 0x61, 0x79, 0xa8, 0xce, 0xfc, 0x83, 0xea, 0x3f
1010 } },
1011 {{
1012 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1013 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
1014 }, {
1015 0x3b, 0xd1, 0x41, 0xee, 0x84, 0xa0, 0xe6, 0x41,
1016 0x4a, 0x26, 0xe7, 0xa4, 0xf2, 0x81, 0xf8, 0xa2
1017 } },
1018 {{
1019 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1020 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80
1021 }, {
1022 0xd1, 0x78, 0x8f, 0x57, 0x2d, 0x98, 0xb2, 0xb1,
1023 0x6e, 0xc5, 0xd5, 0xf3, 0x92, 0x2b, 0x99, 0xbc
1024 } },
1025 {{
1026 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1027 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0
1028 }, {
1029 0x08, 0x33, 0xff, 0x6f, 0x61, 0xd9, 0x8a, 0x57,
1030 0xb2, 0x88, 0xe8, 0xc3, 0x58, 0x6b, 0x85, 0xa6
1031 } },
1032 {{
1033 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1034 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0
1035 }, {
1036 0x85, 0x68, 0x26, 0x17, 0x97, 0xde, 0x17, 0x6b,
1037 0xf0, 0xb4, 0x3b, 0xec, 0xc6, 0x28, 0x5a, 0xfb
1038 } },
1039 {{
1040 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1041 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0
1042 }, {
1043 0xf9, 0xb0, 0xfd, 0xa0, 0xc4, 0xa8, 0x98, 0xf5,
1044 0xb9, 0xe6, 0xf6, 0x61, 0xc4, 0xce, 0x4d, 0x07
1045 } },
1046 {{
1047 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1048 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8
1049 }, {
1050 0x8a, 0xde, 0x89, 0x59, 0x13, 0x68, 0x5c, 0x67,
1051 0xc5, 0x26, 0x9f, 0x8a, 0xae, 0x42, 0x98, 0x3e
1052 } },
1053 {{
1054 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1055 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc
1056 }, {
1057 0x39, 0xbd, 0xe6, 0x7d, 0x5c, 0x8e, 0xd8, 0xa8,
1058 0xb1, 0xc3, 0x7e, 0xb8, 0xfa, 0x9f, 0x5a, 0xc0
1059 } },
1060 {{
1061 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1062 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe
1063 }, {
1064 0x5c, 0x00, 0x5e, 0x72, 0xc1, 0x41, 0x8c, 0x44,
1065 0xf5, 0x69, 0xf2, 0xea, 0x33, 0xba, 0x54, 0xf3
1066 } },
1067 {{
1068 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1069 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
1070 }, {
1071 0x3f, 0x5b, 0x8c, 0xc9, 0xea, 0x85, 0x5a, 0x0a,
1072 0xfa, 0x73, 0x47, 0xd2, 0x3e, 0x8d, 0x66, 0x4e
1073 } }
1074 };
1075 struct tc_aes_key_sched_struct s;
1076 uint32_t i;
1077
1078 TC_PRINT("AES128 %s (NIST fixed-key and variable-text):\n", __func__);
1079
1080 (void)tc_aes128_set_encrypt_key(&s, key);
1081
1082 for (i = 0U; i < 128; ++i) {
1083 result = var_text_test(i, kat_tbl[i].in, kat_tbl[i].out, &s);
1084 if (result == TC_FAIL) {
1085 break;
1086 }
1087 }
1088
1089 /**TESTPOINT: Check result*/
1090 zassert_false(result,
1091 "AES128 test #3 (NIST fixed-key and variable-text) failed.");
1092 }
1093
var_key_test(uint32_t r,const uint8_t * in,const uint8_t * out)1094 uint32_t var_key_test(uint32_t r, const uint8_t *in, const uint8_t *out)
1095 {
1096 uint32_t result = TC_PASS;
1097
1098 const uint8_t plaintext[NUM_OF_NIST_KEYS] = {
1099 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1100 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1101 };
1102 uint8_t ciphertext[NUM_OF_NIST_KEYS];
1103 struct tc_aes_key_sched_struct s;
1104
1105 (void)tc_aes128_set_encrypt_key(&s, in);
1106
1107 (void)tc_aes_encrypt(ciphertext, plaintext, &s);
1108 result = check_result(r, out, NUM_OF_NIST_KEYS,
1109 ciphertext, sizeof(ciphertext), 0);
1110 return result;
1111 }
1112
1113 /*
1114 * All NIST tests with variable key and fixed text.
1115 */
ZTEST(tinycrypt,test_aes_variable_key_fixed_text)1116 ZTEST(tinycrypt, test_aes_variable_key_fixed_text)
1117 {
1118 uint32_t result = TC_PASS;
1119 const struct kat_table kat_tbl[NUM_OF_FIXED_KEYS] = {
1120 {{
1121 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1122 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1123 }, {
1124 0x0e, 0xdd, 0x33, 0xd3, 0xc6, 0x21, 0xe5, 0x46,
1125 0x45, 0x5b, 0xd8, 0xba, 0x14, 0x18, 0xbe, 0xc8
1126 } },
1127 {{
1128 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1129 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1130 }, {
1131 0x4b, 0xc3, 0xf8, 0x83, 0x45, 0x0c, 0x11, 0x3c,
1132 0x64, 0xca, 0x42, 0xe1, 0x11, 0x2a, 0x9e, 0x87
1133 } },
1134 {{
1135 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1136 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1137 }, {
1138 0x72, 0xa1, 0xda, 0x77, 0x0f, 0x5d, 0x7a, 0xc4,
1139 0xc9, 0xef, 0x94, 0xd8, 0x22, 0xaf, 0xfd, 0x97
1140 } },
1141 {{
1142 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1144 }, {
1145 0x97, 0x00, 0x14, 0xd6, 0x34, 0xe2, 0xb7, 0x65,
1146 0x07, 0x77, 0xe8, 0xe8, 0x4d, 0x03, 0xcc, 0xd8
1147 } },
1148 {{
1149 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1150 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1151 }, {
1152 0xf1, 0x7e, 0x79, 0xae, 0xd0, 0xdb, 0x7e, 0x27,
1153 0x9e, 0x95, 0x5b, 0x5f, 0x49, 0x38, 0x75, 0xa7
1154 } },
1155 {{
1156 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1157 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1158 }, {
1159 0x9e, 0xd5, 0xa7, 0x51, 0x36, 0xa9, 0x40, 0xd0,
1160 0x96, 0x3d, 0xa3, 0x79, 0xdb, 0x4a, 0xf2, 0x6a
1161 } },
1162 {{
1163 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1164 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1165 }, {
1166 0xc4, 0x29, 0x5f, 0x83, 0x46, 0x5c, 0x77, 0x55,
1167 0xe8, 0xfa, 0x36, 0x4b, 0xac, 0x6a, 0x7e, 0xa5
1168 } },
1169 {{
1170 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1171 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1172 }, {
1173 0xb1, 0xd7, 0x58, 0x25, 0x6b, 0x28, 0xfd, 0x85,
1174 0x0a, 0xd4, 0x94, 0x42, 0x08, 0xcf, 0x11, 0x55
1175 } },
1176 {{
1177 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1178 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1179 }, {
1180 0x42, 0xff, 0xb3, 0x4c, 0x74, 0x3d, 0xe4, 0xd8,
1181 0x8c, 0xa3, 0x80, 0x11, 0xc9, 0x90, 0x89, 0x0b
1182 } },
1183 {{
1184 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1185 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1186 }, {
1187 0x99, 0x58, 0xf0, 0xec, 0xea, 0x8b, 0x21, 0x72,
1188 0xc0, 0xc1, 0x99, 0x5f, 0x91, 0x82, 0xc0, 0xf3
1189 } },
1190 {{
1191 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1192 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1193 }, {
1194 0x95, 0x6d, 0x77, 0x98, 0xfa, 0xc2, 0x0f, 0x82,
1195 0xa8, 0x82, 0x3f, 0x98, 0x4d, 0x06, 0xf7, 0xf5
1196 } },
1197 {{
1198 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1200 }, {
1201 0xa0, 0x1b, 0xf4, 0x4f, 0x2d, 0x16, 0xbe, 0x92,
1202 0x8c, 0xa4, 0x4a, 0xaf, 0x7b, 0x9b, 0x10, 0x6b
1203 } },
1204 {{
1205 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1206 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1207 }, {
1208 0xb5, 0xf1, 0xa3, 0x3e, 0x50, 0xd4, 0x0d, 0x10,
1209 0x37, 0x64, 0xc7, 0x6b, 0xd4, 0xc6, 0xb6, 0xf8
1210 } },
1211 {{
1212 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1213 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1214 }, {
1215 0x26, 0x37, 0x05, 0x0c, 0x9f, 0xc0, 0xd4, 0x81,
1216 0x7e, 0x2d, 0x69, 0xde, 0x87, 0x8a, 0xee, 0x8d
1217 } },
1218 {{
1219 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1220 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1221 }, {
1222 0x11, 0x3e, 0xcb, 0xe4, 0xa4, 0x53, 0x26, 0x9a,
1223 0x0d, 0xd2, 0x60, 0x69, 0x46, 0x7f, 0xb5, 0xb5
1224 } },
1225 {{
1226 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1227 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1228 }, {
1229 0x97, 0xd0, 0x75, 0x4f, 0xe6, 0x8f, 0x11, 0xb9,
1230 0xe3, 0x75, 0xd0, 0x70, 0xa6, 0x08, 0xc8, 0x84
1231 } },
1232 {{
1233 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
1234 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1235 }, {
1236 0xc6, 0xa0, 0xb3, 0xe9, 0x98, 0xd0, 0x50, 0x68,
1237 0xa5, 0x39, 0x97, 0x78, 0x40, 0x52, 0x00, 0xb4
1238 } },
1239 {{
1240 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
1241 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1242 }, {
1243 0xdf, 0x55, 0x6a, 0x33, 0x43, 0x8d, 0xb8, 0x7b,
1244 0xc4, 0x1b, 0x17, 0x52, 0xc5, 0x5e, 0x5e, 0x49
1245 } },
1246 {{
1247 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
1248 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1249 }, {
1250 0x90, 0xfb, 0x12, 0x8d, 0x3a, 0x1a, 0xf6, 0xe5,
1251 0x48, 0x52, 0x1b, 0xb9, 0x62, 0xbf, 0x1f, 0x05
1252 } },
1253 {{
1254 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
1255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1256 }, {
1257 0x26, 0x29, 0x8e, 0x9c, 0x1d, 0xb5, 0x17, 0xc2,
1258 0x15, 0xfa, 0xdf, 0xb7, 0xd2, 0xa8, 0xd6, 0x91
1259 } },
1260 {{
1261 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
1262 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1263 }, {
1264 0xa6, 0xcb, 0x76, 0x1d, 0x61, 0xf8, 0x29, 0x2d,
1265 0x0d, 0xf3, 0x93, 0xa2, 0x79, 0xad, 0x03, 0x80
1266 } },
1267 {{
1268 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
1269 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1270 }, {
1271 0x12, 0xac, 0xd8, 0x9b, 0x13, 0xcd, 0x5f, 0x87,
1272 0x26, 0xe3, 0x4d, 0x44, 0xfd, 0x48, 0x61, 0x08
1273 } },
1274 {{
1275 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
1276 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1277 }, {
1278 0x95, 0xb1, 0x70, 0x3f, 0xc5, 0x7b, 0xa0, 0x9f,
1279 0xe0, 0xc3, 0x58, 0x0f, 0xeb, 0xdd, 0x7e, 0xd4
1280 } },
1281 {{
1282 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
1283 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1284 }, {
1285 0xde, 0x11, 0x72, 0x2d, 0x89, 0x3e, 0x9f, 0x91,
1286 0x21, 0xc3, 0x81, 0xbe, 0xcc, 0x1d, 0xa5, 0x9a
1287 } },
1288 {{
1289 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
1290 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1291 }, {
1292 0x6d, 0x11, 0x4c, 0xcb, 0x27, 0xbf, 0x39, 0x10,
1293 0x12, 0xe8, 0x97, 0x4c, 0x54, 0x6d, 0x9b, 0xf2
1294 } },
1295 {{
1296 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
1297 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1298 }, {
1299 0x5c, 0xe3, 0x7e, 0x17, 0xeb, 0x46, 0x46, 0xec,
1300 0xfa, 0xc2, 0x9b, 0x9c, 0xc3, 0x8d, 0x93, 0x40
1301 } },
1302 {{
1303 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
1304 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1305 }, {
1306 0x18, 0xc1, 0xb6, 0xe2, 0x15, 0x71, 0x22, 0x05,
1307 0x6d, 0x02, 0x43, 0xd8, 0xa1, 0x65, 0xcd, 0xdb
1308 } },
1309 {{
1310 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00,
1311 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1312 }, {
1313 0x99, 0x69, 0x3e, 0x6a, 0x59, 0xd1, 0x36, 0x6c,
1314 0x74, 0xd8, 0x23, 0x56, 0x2d, 0x7e, 0x14, 0x31
1315 } },
1316 {{
1317 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00,
1318 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1319 }, {
1320 0x6c, 0x7c, 0x64, 0xdc, 0x84, 0xa8, 0xbb, 0xa7,
1321 0x58, 0xed, 0x17, 0xeb, 0x02, 0x5a, 0x57, 0xe3
1322 } },
1323 {{
1324 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
1325 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1326 }, {
1327 0xe1, 0x7b, 0xc7, 0x9f, 0x30, 0xea, 0xab, 0x2f,
1328 0xac, 0x2c, 0xbb, 0xe3, 0x45, 0x8d, 0x68, 0x7a
1329 } },
1330 {{
1331 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
1332 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1333 }, {
1334 0x11, 0x14, 0xbc, 0x20, 0x28, 0x00, 0x9b, 0x92,
1335 0x3f, 0x0b, 0x01, 0x91, 0x5c, 0xe5, 0xe7, 0xc4
1336 } },
1337 {{
1338 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
1339 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1340 }, {
1341 0x9c, 0x28, 0x52, 0x4a, 0x16, 0xa1, 0xe1, 0xc1,
1342 0x45, 0x29, 0x71, 0xca, 0xa8, 0xd1, 0x34, 0x76
1343 } },
1344 {{
1345 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00,
1346 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1347 }, {
1348 0xed, 0x62, 0xe1, 0x63, 0x63, 0x63, 0x83, 0x60,
1349 0xfd, 0xd6, 0xad, 0x62, 0x11, 0x27, 0x94, 0xf0
1350 } },
1351 {{
1352 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00,
1353 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1354 }, {
1355 0x5a, 0x86, 0x88, 0xf0, 0xb2, 0xa2, 0xc1, 0x62,
1356 0x24, 0xc1, 0x61, 0x65, 0x8f, 0xfd, 0x40, 0x44
1357 } },
1358 {{
1359 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00,
1360 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1361 }, {
1362 0x23, 0xf7, 0x10, 0x84, 0x2b, 0x9b, 0xb9, 0xc3,
1363 0x2f, 0x26, 0x64, 0x8c, 0x78, 0x68, 0x07, 0xca
1364 } },
1365 {{
1366 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00,
1367 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1368 }, {
1369 0x44, 0xa9, 0x8b, 0xf1, 0x1e, 0x16, 0x3f, 0x63,
1370 0x2c, 0x47, 0xec, 0x6a, 0x49, 0x68, 0x3a, 0x89
1371 } },
1372 {{
1373 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00,
1374 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1375 }, {
1376 0x0f, 0x18, 0xaf, 0xf9, 0x42, 0x74, 0x69, 0x6d,
1377 0x9b, 0x61, 0x84, 0x8b, 0xd5, 0x0a, 0xc5, 0xe5
1378 } },
1379 {{
1380 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
1381 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1382 }, {
1383 0x82, 0x40, 0x85, 0x71, 0xc3, 0xe2, 0x42, 0x45,
1384 0x40, 0x20, 0x7f, 0x83, 0x3b, 0x6d, 0xda, 0x69
1385 } },
1386 {{
1387 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00,
1388 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1389 }, {
1390 0x30, 0x3f, 0xf9, 0x96, 0x94, 0x7f, 0x0c, 0x7d,
1391 0x1f, 0x43, 0xc8, 0xf3, 0x02, 0x7b, 0x9b, 0x75
1392 } },
1393 {{
1394 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
1395 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1396 }, {
1397 0x7d, 0xf4, 0xda, 0xf4, 0xad, 0x29, 0xa3, 0x61,
1398 0x5a, 0x9b, 0x6e, 0xce, 0x5c, 0x99, 0x51, 0x8a
1399 } },
1400 {{
1401 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
1402 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1403 }, {
1404 0xc7, 0x29, 0x54, 0xa4, 0x8d, 0x07, 0x74, 0xdb,
1405 0x0b, 0x49, 0x71, 0xc5, 0x26, 0x26, 0x04, 0x15
1406 } },
1407 {{
1408 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
1409 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1410 }, {
1411 0x1d, 0xf9, 0xb7, 0x61, 0x12, 0xdc, 0x65, 0x31,
1412 0xe0, 0x7d, 0x2c, 0xfd, 0xa0, 0x44, 0x11, 0xf0
1413 } },
1414 {{
1415 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
1416 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1417 }, {
1418 0x8e, 0x4d, 0x8e, 0x69, 0x91, 0x19, 0xe1, 0xfc,
1419 0x87, 0x54, 0x5a, 0x64, 0x7f, 0xb1, 0xd3, 0x4f
1420 } },
1421 {{
1422 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00,
1423 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1424 }, {
1425 0xe6, 0xc4, 0x80, 0x7a, 0xe1, 0x1f, 0x36, 0xf0,
1426 0x91, 0xc5, 0x7d, 0x9f, 0xb6, 0x85, 0x48, 0xd1
1427 } },
1428 {{
1429 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
1430 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1431 }, {
1432 0x8e, 0xbf, 0x73, 0xaa, 0xd4, 0x9c, 0x82, 0x00,
1433 0x7f, 0x77, 0xa5, 0xc1, 0xcc, 0xec, 0x6a, 0xb4
1434 } },
1435 {{
1436 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
1437 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1438 }, {
1439 0x4f, 0xb2, 0x88, 0xcc, 0x20, 0x40, 0x04, 0x90,
1440 0x01, 0xd2, 0xc7, 0x58, 0x5a, 0xd1, 0x23, 0xfc
1441 } },
1442 {{
1443 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00,
1444 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1445 }, {
1446 0x04, 0x49, 0x71, 0x10, 0xef, 0xb9, 0xdc, 0xeb,
1447 0x13, 0xe2, 0xb1, 0x3f, 0xb4, 0x46, 0x55, 0x64
1448 } },
1449 {{
1450 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
1451 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1452 }, {
1453 0x75, 0x55, 0x0e, 0x6c, 0xb5, 0xa8, 0x8e, 0x49,
1454 0x63, 0x4c, 0x9a, 0xb6, 0x9e, 0xda, 0x04, 0x30
1455 } },
1456 {{
1457 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
1458 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1459 }, {
1460 0xb6, 0x76, 0x84, 0x73, 0xce, 0x98, 0x43, 0xea,
1461 0x66, 0xa8, 0x14, 0x05, 0xdd, 0x50, 0xb3, 0x45
1462 } },
1463 {{
1464 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
1465 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1466 }, {
1467 0xcb, 0x2f, 0x43, 0x03, 0x83, 0xf9, 0x08, 0x4e,
1468 0x03, 0xa6, 0x53, 0x57, 0x1e, 0x06, 0x5d, 0xe6
1469 } },
1470 {{
1471 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
1472 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1473 }, {
1474 0xff, 0x4e, 0x66, 0xc0, 0x7b, 0xae, 0x3e, 0x79,
1475 0xfb, 0x7d, 0x21, 0x08, 0x47, 0xa3, 0xb0, 0xba
1476 } },
1477 {{
1478 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
1479 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1480 }, {
1481 0x7b, 0x90, 0x78, 0x51, 0x25, 0x50, 0x5f, 0xad,
1482 0x59, 0xb1, 0x3c, 0x18, 0x6d, 0xd6, 0x6c, 0xe3
1483 } },
1484 {{
1485 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
1486 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1487 }, {
1488 0x8b, 0x52, 0x7a, 0x6a, 0xeb, 0xda, 0xec, 0x9e,
1489 0xae, 0xf8, 0xed, 0xa2, 0xcb, 0x77, 0x83, 0xe5
1490 } },
1491 {{
1492 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
1493 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1494 }, {
1495 0x43, 0xfd, 0xaf, 0x53, 0xeb, 0xbc, 0x98, 0x80,
1496 0xc2, 0x28, 0x61, 0x7d, 0x6a, 0x9b, 0x54, 0x8b
1497 } },
1498 {{
1499 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00,
1500 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1501 }, {
1502 0x53, 0x78, 0x61, 0x04, 0xb9, 0x74, 0x4b, 0x98,
1503 0xf0, 0x52, 0xc4, 0x6f, 0x1c, 0x85, 0x0d, 0x0b
1504 } },
1505 {{
1506 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
1507 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1508 }, {
1509 0xb5, 0xab, 0x30, 0x13, 0xdd, 0x1e, 0x61, 0xdf,
1510 0x06, 0xcb, 0xaf, 0x34, 0xca, 0x2a, 0xee, 0x78
1511 } },
1512 {{
1513 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
1514 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1515 }, {
1516 0x74, 0x70, 0x46, 0x9b, 0xe9, 0x72, 0x30, 0x30,
1517 0xfd, 0xcc, 0x73, 0xa8, 0xcd, 0x4f, 0xbb, 0x10
1518 } },
1519 {{
1520 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
1521 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1522 }, {
1523 0xa3, 0x5a, 0x63, 0xf5, 0x34, 0x3e, 0xbe, 0x9e,
1524 0xf8, 0x16, 0x7b, 0xcb, 0x48, 0xad, 0x12, 0x2e
1525 } },
1526 {{
1527 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
1528 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1529 }, {
1530 0xfd, 0x86, 0x87, 0xf0, 0x75, 0x7a, 0x21, 0x0e,
1531 0x9f, 0xdf, 0x18, 0x12, 0x04, 0xc3, 0x08, 0x63
1532 } },
1533 {{
1534 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
1535 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1536 }, {
1537 0x7a, 0x18, 0x1e, 0x84, 0xbd, 0x54, 0x57, 0xd2,
1538 0x6a, 0x88, 0xfb, 0xae, 0x96, 0x01, 0x8f, 0xb0
1539 } },
1540 {{
1541 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
1542 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1543 }, {
1544 0x65, 0x33, 0x17, 0xb9, 0x36, 0x2b, 0x6f, 0x9b,
1545 0x9e, 0x1a, 0x58, 0x0e, 0x68, 0xd4, 0x94, 0xb5
1546 } },
1547 {{
1548 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
1549 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1550 }, {
1551 0x99, 0x5c, 0x9d, 0xc0, 0xb6, 0x89, 0xf0, 0x3c,
1552 0x45, 0x86, 0x7b, 0x5f, 0xaa, 0x5c, 0x18, 0xd1
1553 } },
1554 {{
1555 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
1556 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1557 }, {
1558 0x77, 0xa4, 0xd9, 0x6d, 0x56, 0xdd, 0xa3, 0x98,
1559 0xb9, 0xaa, 0xbe, 0xcf, 0xc7, 0x57, 0x29, 0xfd
1560 } },
1561 {{
1562 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1563 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1564 }, {
1565 0x84, 0xbe, 0x19, 0xe0, 0x53, 0x63, 0x5f, 0x09,
1566 0xf2, 0x66, 0x5e, 0x7b, 0xae, 0x85, 0xb4, 0x2d
1567 } },
1568 {{
1569 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1570 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1571 }, {
1572 0x32, 0xcd, 0x65, 0x28, 0x42, 0x92, 0x6a, 0xea,
1573 0x4a, 0xa6, 0x13, 0x7b, 0xb2, 0xbe, 0x2b, 0x5e
1574 } },
1575 {{
1576 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1577 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1578 }, {
1579 0x49, 0x3d, 0x4a, 0x4f, 0x38, 0xeb, 0xb3, 0x37,
1580 0xd1, 0x0a, 0xa8, 0x4e, 0x91, 0x71, 0xa5, 0x54
1581 } },
1582 {{
1583 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1584 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1585 }, {
1586 0xd9, 0xbf, 0xf7, 0xff, 0x45, 0x4b, 0x0e, 0xc5,
1587 0xa4, 0xa2, 0xa6, 0x95, 0x66, 0xe2, 0xcb, 0x84
1588 } },
1589 {{
1590 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1591 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1592 }, {
1593 0x35, 0x35, 0xd5, 0x65, 0xac, 0xe3, 0xf3, 0x1e,
1594 0xb2, 0x49, 0xba, 0x2c, 0xc6, 0x76, 0x5d, 0x7a
1595 } },
1596 {{
1597 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1598 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1599 }, {
1600 0xf6, 0x0e, 0x91, 0xfc, 0x32, 0x69, 0xee, 0xcf,
1601 0x32, 0x31, 0xc6, 0xe9, 0x94, 0x56, 0x97, 0xc6
1602 } },
1603 {{
1604 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1605 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1606 }, {
1607 0xab, 0x69, 0xcf, 0xad, 0xf5, 0x1f, 0x8e, 0x60,
1608 0x4d, 0x9c, 0xc3, 0x71, 0x82, 0xf6, 0x63, 0x5a
1609 } },
1610 {{
1611 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1612 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1613 }, {
1614 0x78, 0x66, 0x37, 0x3f, 0x24, 0xa0, 0xb6, 0xed,
1615 0x56, 0xe0, 0xd9, 0x6f, 0xcd, 0xaf, 0xb8, 0x77
1616 } },
1617 {{
1618 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1619 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1620 }, {
1621 0x1e, 0xa4, 0x48, 0xc2, 0xaa, 0xc9, 0x54, 0xf5,
1622 0xd8, 0x12, 0xe9, 0xd7, 0x84, 0x94, 0x44, 0x6a
1623 } },
1624 {{
1625 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1626 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1627 }, {
1628 0xac, 0xc5, 0x59, 0x9d, 0xd8, 0xac, 0x02, 0x23,
1629 0x9a, 0x0f, 0xef, 0x4a, 0x36, 0xdd, 0x16, 0x68
1630 } },
1631 {{
1632 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1633 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1634 }, {
1635 0xd8, 0x76, 0x44, 0x68, 0xbb, 0x10, 0x38, 0x28,
1636 0xcf, 0x7e, 0x14, 0x73, 0xce, 0x89, 0x50, 0x73
1637 } },
1638 {{
1639 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1640 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1641 }, {
1642 0x1b, 0x0d, 0x02, 0x89, 0x36, 0x83, 0xb9, 0xf1,
1643 0x80, 0x45, 0x8e, 0x4a, 0xa6, 0xb7, 0x39, 0x82
1644 } },
1645 {{
1646 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1647 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1648 }, {
1649 0x96, 0xd9, 0xb0, 0x17, 0xd3, 0x02, 0xdf, 0x41,
1650 0x0a, 0x93, 0x7d, 0xcd, 0xb8, 0xbb, 0x6e, 0x43
1651 } },
1652 {{
1653 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1654 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1655 }, {
1656 0xef, 0x16, 0x23, 0xcc, 0x44, 0x31, 0x3c, 0xff,
1657 0x44, 0x0b, 0x15, 0x94, 0xa7, 0xe2, 0x1c, 0xc6
1658 } },
1659 {{
1660 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1661 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1662 }, {
1663 0x28, 0x4c, 0xa2, 0xfa, 0x35, 0x80, 0x7b, 0x8b,
1664 0x0a, 0xe4, 0xd1, 0x9e, 0x11, 0xd7, 0xdb, 0xd7
1665 } },
1666 {{
1667 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1668 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1669 }, {
1670 0xf2, 0xe9, 0x76, 0x87, 0x57, 0x55, 0xf9, 0x40,
1671 0x1d, 0x54, 0xf3, 0x6e, 0x2a, 0x23, 0xa5, 0x94
1672 } },
1673 {{
1674 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1675 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1676 }, {
1677 0xec, 0x19, 0x8a, 0x18, 0xe1, 0x0e, 0x53, 0x24,
1678 0x03, 0xb7, 0xe2, 0x08, 0x87, 0xc8, 0xdd, 0x80
1679 } },
1680 {{
1681 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1682 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
1683 }, {
1684 0x54, 0x5d, 0x50, 0xeb, 0xd9, 0x19, 0xe4, 0xa6,
1685 0x94, 0x9d, 0x96, 0xad, 0x47, 0xe4, 0x6a, 0x80
1686 } },
1687 {{
1688 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1689 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00
1690 }, {
1691 0xdb, 0xdf, 0xb5, 0x27, 0x06, 0x0e, 0x0a, 0x71,
1692 0x00, 0x9c, 0x7b, 0xb0, 0xc6, 0x8f, 0x1d, 0x44
1693 } },
1694 {{
1695 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1696 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00
1697 }, {
1698 0x9c, 0xfa, 0x13, 0x22, 0xea, 0x33, 0xda, 0x21,
1699 0x73, 0xa0, 0x24, 0xf2, 0xff, 0x0d, 0x89, 0x6d
1700 } },
1701 {{
1702 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1703 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00
1704 }, {
1705 0x87, 0x85, 0xb1, 0xa7, 0x5b, 0x0f, 0x3b, 0xd9,
1706 0x58, 0xdc, 0xd0, 0xe2, 0x93, 0x18, 0xc5, 0x21
1707 } },
1708 {{
1709 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1710 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00
1711 }, {
1712 0x38, 0xf6, 0x7b, 0x9e, 0x98, 0xe4, 0xa9, 0x7b,
1713 0x6d, 0xf0, 0x30, 0xa9, 0xfc, 0xdd, 0x01, 0x04
1714 } },
1715 {{
1716 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1717 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00
1718 }, {
1719 0x19, 0x2a, 0xff, 0xfb, 0x2c, 0x88, 0x0e, 0x82,
1720 0xb0, 0x59, 0x26, 0xd0, 0xfc, 0x6c, 0x44, 0x8b
1721 } },
1722 {{
1723 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1724 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00
1725 }, {
1726 0x6a, 0x79, 0x80, 0xce, 0x7b, 0x10, 0x5c, 0xf5,
1727 0x30, 0x95, 0x2d, 0x74, 0xda, 0xaf, 0x79, 0x8c
1728 } },
1729 {{
1730 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1731 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00
1732 }, {
1733 0xea, 0x36, 0x95, 0xe1, 0x35, 0x1b, 0x9d, 0x68,
1734 0x58, 0xbd, 0x95, 0x8c, 0xf5, 0x13, 0xef, 0x6c
1735 } },
1736 {{
1737 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1738 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00
1739 }, {
1740 0x6d, 0xa0, 0x49, 0x0b, 0xa0, 0xba, 0x03, 0x43,
1741 0xb9, 0x35, 0x68, 0x1d, 0x2c, 0xce, 0x5b, 0xa1
1742 } },
1743 {{
1744 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1745 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00
1746 }, {
1747 0xf0, 0xea, 0x23, 0xaf, 0x08, 0x53, 0x40, 0x11,
1748 0xc6, 0x00, 0x09, 0xab, 0x29, 0xad, 0xa2, 0xf1
1749 } },
1750 {{
1751 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1752 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00
1753 }, {
1754 0xff, 0x13, 0x80, 0x6c, 0xf1, 0x9c, 0xc3, 0x87,
1755 0x21, 0x55, 0x4d, 0x7c, 0x0f, 0xcd, 0xcd, 0x4b
1756 } },
1757 {{
1758 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1759 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00
1760 }, {
1761 0x68, 0x38, 0xaf, 0x1f, 0x4f, 0x69, 0xba, 0xe9,
1762 0xd8, 0x5d, 0xd1, 0x88, 0xdc, 0xdf, 0x06, 0x88
1763 } },
1764 {{
1765 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1766 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00
1767 }, {
1768 0x36, 0xcf, 0x44, 0xc9, 0x2d, 0x55, 0x0b, 0xfb,
1769 0x1e, 0xd2, 0x8e, 0xf5, 0x83, 0xdd, 0xf5, 0xd7
1770 } },
1771 {{
1772 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1773 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00
1774 }, {
1775 0xd0, 0x6e, 0x31, 0x95, 0xb5, 0x37, 0x6f, 0x10,
1776 0x9d, 0x5c, 0x4e, 0xc6, 0xc5, 0xd6, 0x2c, 0xed
1777 } },
1778 {{
1779 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1780 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00
1781 }, {
1782 0xc4, 0x40, 0xde, 0x01, 0x4d, 0x3d, 0x61, 0x07,
1783 0x07, 0x27, 0x9b, 0x13, 0x24, 0x2a, 0x5c, 0x36
1784 } },
1785 {{
1786 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1787 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00
1788 }, {
1789 0xf0, 0xc5, 0xc6, 0xff, 0xa5, 0xe0, 0xbd, 0x3a,
1790 0x94, 0xc8, 0x8f, 0x6b, 0x6f, 0x7c, 0x16, 0xb9
1791 } },
1792 {{
1793 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1794 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00
1795 }, {
1796 0x3e, 0x40, 0xc3, 0x90, 0x1c, 0xd7, 0xef, 0xfc,
1797 0x22, 0xbf, 0xfc, 0x35, 0xde, 0xe0, 0xb4, 0xd9
1798 } },
1799 {{
1800 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1801 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00
1802 }, {
1803 0xb6, 0x33, 0x05, 0xc7, 0x2b, 0xed, 0xfa, 0xb9,
1804 0x73, 0x82, 0xc4, 0x06, 0xd0, 0xc4, 0x9b, 0xc6
1805 } },
1806 {{
1807 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1808 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00
1809 }, {
1810 0x36, 0xbb, 0xaa, 0xb2, 0x2a, 0x6b, 0xd4, 0x92,
1811 0x5a, 0x99, 0xa2, 0xb4, 0x08, 0xd2, 0xdb, 0xae
1812 } },
1813 {{
1814 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1815 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00
1816 }, {
1817 0x30, 0x7c, 0x5b, 0x8f, 0xcd, 0x05, 0x33, 0xab,
1818 0x98, 0xbc, 0x51, 0xe2, 0x7a, 0x6c, 0xe4, 0x61
1819 } },
1820 {{
1821 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1822 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00
1823 }, {
1824 0x82, 0x9c, 0x04, 0xff, 0x4c, 0x07, 0x51, 0x3c,
1825 0x0b, 0x3e, 0xf0, 0x5c, 0x03, 0xe3, 0x37, 0xb5
1826 } },
1827 {{
1828 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1829 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00
1830 }, {
1831 0xf1, 0x7a, 0xf0, 0xe8, 0x95, 0xdd, 0xa5, 0xeb,
1832 0x98, 0xef, 0xc6, 0x80, 0x66, 0xe8, 0x4c, 0x54
1833 } },
1834 {{
1835 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1836 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00
1837 }, {
1838 0x27, 0x71, 0x67, 0xf3, 0x81, 0x2a, 0xff, 0xf1,
1839 0xff, 0xac, 0xb4, 0xa9, 0x34, 0x37, 0x9f, 0xc3
1840 } },
1841 {{
1842 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1843 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00
1844 }, {
1845 0x2c, 0xb1, 0xdc, 0x3a, 0x9c, 0x72, 0x97, 0x2e,
1846 0x42, 0x5a, 0xe2, 0xef, 0x3e, 0xb5, 0x97, 0xcd
1847 } },
1848 {{
1849 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1850 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00
1851 }, {
1852 0x36, 0xae, 0xaa, 0x3a, 0x21, 0x3e, 0x96, 0x8d,
1853 0x4b, 0x5b, 0x67, 0x9d, 0x3a, 0x2c, 0x97, 0xfe
1854 } },
1855 {{
1856 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1857 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00
1858 }, {
1859 0x92, 0x41, 0xda, 0xca, 0x4f, 0xdd, 0x03, 0x4a,
1860 0x82, 0x37, 0x2d, 0xb5, 0x0e, 0x1a, 0x0f, 0x3f
1861 } },
1862 {{
1863 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1864 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00
1865 }, {
1866 0xc1, 0x45, 0x74, 0xd9, 0xcd, 0x00, 0xcf, 0x2b,
1867 0x5a, 0x7f, 0x77, 0xe5, 0x3c, 0xd5, 0x78, 0x85
1868 } },
1869 {{
1870 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1871 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00
1872 }, {
1873 0x79, 0x3d, 0xe3, 0x92, 0x36, 0x57, 0x0a, 0xba,
1874 0x83, 0xab, 0x9b, 0x73, 0x7c, 0xb5, 0x21, 0xc9
1875 } },
1876 {{
1877 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1878 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00
1879 }, {
1880 0x16, 0x59, 0x1c, 0x0f, 0x27, 0xd6, 0x0e, 0x29,
1881 0xb8, 0x5a, 0x96, 0xc3, 0x38, 0x61, 0xa7, 0xef
1882 } },
1883 {{
1884 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1885 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00
1886 }, {
1887 0x44, 0xfb, 0x5c, 0x4d, 0x4f, 0x5c, 0xb7, 0x9b,
1888 0xe5, 0xc1, 0x74, 0xa3, 0xb1, 0xc9, 0x73, 0x48
1889 } },
1890 {{
1891 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1892 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00
1893 }, {
1894 0x67, 0x4d, 0x2b, 0x61, 0x63, 0x3d, 0x16, 0x2b,
1895 0xe5, 0x9d, 0xde, 0x04, 0x22, 0x2f, 0x47, 0x40
1896 } },
1897 {{
1898 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1899 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00
1900 }, {
1901 0xb4, 0x75, 0x0f, 0xf2, 0x63, 0xa6, 0x5e, 0x1f,
1902 0x9e, 0x92, 0x4c, 0xcf, 0xd9, 0x8f, 0x3e, 0x37
1903 } },
1904 {{
1905 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1906 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00
1907 }, {
1908 0x62, 0xd0, 0x66, 0x2d, 0x6e, 0xae, 0xdd, 0xed,
1909 0xeb, 0xae, 0x7f, 0x7e, 0xa3, 0xa4, 0xf6, 0xb6
1910 } },
1911 {{
1912 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1913 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00
1914 }, {
1915 0x70, 0xc4, 0x6b, 0xb3, 0x06, 0x92, 0xbe, 0x65,
1916 0x7f, 0x7e, 0xaa, 0x93, 0xeb, 0xad, 0x98, 0x97
1917 } },
1918 {{
1919 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1920 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00
1921 }, {
1922 0x32, 0x39, 0x94, 0xcf, 0xb9, 0xda, 0x28, 0x5a,
1923 0x5d, 0x96, 0x42, 0xe1, 0x75, 0x9b, 0x22, 0x4a
1924 } },
1925 {{
1926 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1927 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00
1928 }, {
1929 0x1d, 0xbf, 0x57, 0x87, 0x7b, 0x7b, 0x17, 0x38,
1930 0x5c, 0x85, 0xd0, 0xb5, 0x48, 0x51, 0xe3, 0x71
1931 } },
1932 {{
1933 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1934 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00
1935 }, {
1936 0xdf, 0xa5, 0xc0, 0x97, 0xcd, 0xc1, 0x53, 0x2a,
1937 0xc0, 0x71, 0xd5, 0x7b, 0x1d, 0x28, 0xd1, 0xbd
1938 } },
1939 {{
1940 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1941 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00
1942 }, {
1943 0x3a, 0x0c, 0x53, 0xfa, 0x37, 0x31, 0x1f, 0xc1,
1944 0x0b, 0xd2, 0xa9, 0x98, 0x1f, 0x51, 0x31, 0x74
1945 } },
1946 {{
1947 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1948 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00
1949 }, {
1950 0xba, 0x4f, 0x97, 0x0c, 0x0a, 0x25, 0xc4, 0x18,
1951 0x14, 0xbd, 0xae, 0x2e, 0x50, 0x6b, 0xe3, 0xb4
1952 } },
1953 {{
1954 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1955 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
1956 }, {
1957 0x2d, 0xce, 0x3a, 0xcb, 0x72, 0x7c, 0xd1, 0x3c,
1958 0xcd, 0x76, 0xd4, 0x25, 0xea, 0x56, 0xe4, 0xf6
1959 } },
1960 {{
1961 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1962 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80
1963 }, {
1964 0x51, 0x60, 0x47, 0x4d, 0x50, 0x4b, 0x9b, 0x3e,
1965 0xef, 0xb6, 0x8d, 0x35, 0xf2, 0x45, 0xf4, 0xb3
1966 } },
1967 {{
1968 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1969 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0
1970 }, {
1971 0x41, 0xa8, 0xa9, 0x47, 0x76, 0x66, 0x35, 0xde,
1972 0xc3, 0x75, 0x53, 0xd9, 0xa6, 0xc0, 0xcb, 0xb7
1973 } },
1974 {{
1975 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1976 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0
1977 }, {
1978 0x25, 0xd6, 0xcf, 0xe6, 0x88, 0x1f, 0x2b, 0xf4,
1979 0x97, 0xdd, 0x14, 0xcd, 0x4d, 0xdf, 0x44, 0x5b
1980 } },
1981 {{
1982 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1983 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0
1984 }, {
1985 0x41, 0xc7, 0x8c, 0x13, 0x5e, 0xd9, 0xe9, 0x8c,
1986 0x09, 0x66, 0x40, 0x64, 0x72, 0x65, 0xda, 0x1e
1987 } },
1988 {{
1989 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1990 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8
1991 }, {
1992 0x5a, 0x4d, 0x40, 0x4d, 0x89, 0x17, 0xe3, 0x53,
1993 0xe9, 0x2a, 0x21, 0x07, 0x2c, 0x3b, 0x23, 0x05
1994 } },
1995 {{
1996 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1997 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc
1998 }, {
1999 0x02, 0xbc, 0x96, 0x84, 0x6b, 0x3f, 0xdc, 0x71,
2000 0x64, 0x3f, 0x38, 0x4c, 0xd3, 0xcc, 0x3e, 0xaf
2001 } },
2002 {{
2003 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2004 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe
2005 }, {
2006 0x9b, 0xa4, 0xa9, 0x14, 0x3f, 0x4e, 0x5d, 0x40,
2007 0x48, 0x52, 0x1c, 0x4f, 0x88, 0x77, 0xd8, 0x8e
2008 } },
2009 {{
2010 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2011 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
2012 }, {
2013 0xa1, 0xf6, 0x25, 0x8c, 0x87, 0x7d, 0x5f, 0xcd,
2014 0x89, 0x64, 0x48, 0x45, 0x38, 0xbf, 0xc9, 0x2c
2015 } }
2016 };
2017 uint32_t i;
2018
2019 TC_PRINT("AES128 test #4 (NIST variable-key and fixed-text):\n");
2020
2021 for (i = 0U; i < NUM_OF_FIXED_KEYS; ++i) {
2022 result = var_key_test(i, kat_tbl[i].in, kat_tbl[i].out);
2023 if (result == TC_FAIL) {
2024 break;
2025 }
2026
2027 }
2028
2029 /**TESTPOINT: Check result*/
2030 zassert_false(result,
2031 "AES128 test #4 (NIST variable-key and fixed-text) failed.");
2032 }
2033