; libcrash -- cryptographic hash (and other) functions ; ; Copyright (C) <2016> Jeffrey Amelynck ; Copyright (C) <2016,2021> Ivan Baravy ; ; SPDX-License-Identifier: GPL-2.0-or-later ; ; This program is free software: you can redistribute it and/or modify it under ; the terms of the GNU General Public License as published by the Free Software ; Foundation, either version 2 of the License, or (at your option) any later ; version. ; ; This program is distributed in the hope that it will be useful, but WITHOUT ; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ; ; You should have received a copy of the GNU General Public License along with ; this program. If not, see . AES_MAX_ROUNDS = 14 ; 128/10, 192/12, 256/14 AES_BLOCK_SIZE = 16 AES_ALIGN = 16 AES_ALIGN_MASK = AES_ALIGN - 1 struct ctx_aes state rd 64 key rd 4*(14+1) rounds dd ? ends proc aes._.init _key, _flags test [_flags], LIBCRASH_CIPHER_DECRYPT jnz .decrypt_key ; encrypt key stdcall aes_set_encrypt_key, ebx, [_key] jmp .key_done .decrypt_key: stdcall aes_set_decrypt_key, ebx, [_key] .key_done: ret endp proc aes256.init uses ebx esi edi, _ctx, _key, _flags mov ebx, [_ctx] mov [ebx+ctx_aes.rounds], 14 stdcall aes._.init, [_key], [_flags] ret endp proc aes_set_encrypt_key uses ebx esi edi, _ctx, _userkey locals i dd ? endl mov [i], 0 mov ebx, [_ctx] mov esi, [_userkey] lea edi, [ebx+ctx_aes.key] lodsd bswap eax stosd lodsd bswap eax stosd lodsd bswap eax stosd lodsd bswap eax stosd lodsd bswap eax stosd lodsd bswap eax stosd lodsd bswap eax stosd lodsd bswap eax stosd lea esi, [ebx+ctx_aes.key] .while: mov ebx, [esi+4*7] mov ecx, [esi+4*0] mov eax, ebx shr eax, 16 movzx eax, al mov eax, [Te2+4*eax] and eax, 0xff000000 xor ecx, eax mov eax, ebx shr eax, 8 movzx eax, al mov eax, [Te3+4*eax] and eax, 0x00ff0000 xor ecx, eax mov eax, ebx shr eax, 0 movzx eax, al mov eax, [Te0+4*eax] and eax, 0x0000ff00 xor ecx, eax mov eax, ebx shr eax, 24 mov eax, [Te1+4*eax] and eax, 0x000000ff xor ecx, eax mov eax, [i] xor ecx, [rcon+4*eax] mov [esi+4*8], ecx xor ecx, [esi+4*1] mov [esi+4*9], ecx xor ecx, [esi+4*2] mov [esi+4*10], ecx xor ecx, [esi+4*3] mov [esi+4*11], ecx inc [i] cmp [i], 7 jz .done mov ebx, [esi+4*11] mov ecx, [esi+4*4] mov eax, ebx shr eax, 24 mov eax, [Te2+4*eax] and eax, 0xff000000 xor ecx, eax mov eax, ebx shr eax, 16 movzx eax, al mov eax, [Te3+4*eax] and eax, 0x00ff0000 xor ecx, eax mov eax, ebx shr eax, 8 movzx eax, al mov eax, [Te0+4*eax] and eax, 0x0000ff00 xor ecx, eax mov eax, ebx shr eax, 0 movzx eax, al mov eax, [Te1+4*eax] and eax, 0x000000ff xor ecx, eax mov [esi+4*12], ecx xor ecx, [esi+4*5] mov [esi+4*13], ecx xor ecx, [esi+4*6] mov [esi+4*14], ecx xor ecx, [esi+4*7] mov [esi+4*15], ecx add esi, 4*8 jmp .while .done: xor eax, eax ret endp proc aes_set_decrypt_key uses ebx esi edi, _ctx, _bits, _userkey stdcall aes_set_encrypt_key, [_ctx], [_bits], [_userkey] test eax, eax jnz .error ; Invert the order of the round keys mov ebx, [_ctx] lea esi, [ebx+ctx_aes.key] mov edi, [ebx+ctx_aes.rounds] shl edi, 4 add edi, esi @@: mov eax, [esi+0] mov ebx, [edi+0] mov [esi+0], ebx mov [edi+0], eax mov eax, [esi+4] mov ebx, [edi+4] mov [esi+4], ebx mov [edi+4], eax mov eax, [esi+8] mov ebx, [edi+8] mov [esi+8], ebx mov [edi+8], eax mov eax, [esi+12] mov ebx, [edi+12] mov [esi+12], ebx mov [edi+12], eax add esi, 4*4 sub edi, 4*4 cmp esi, edi jb @r ; Apply the inverse MixColumn transform to all round keys but the first and the last mov ebx, [_ctx] mov ecx, [ebx+ctx_aes.rounds] dec ecx shl ecx, 2 lea edi, [ebx+ctx_aes.key+16] .inverse: mov eax, [edi] shr eax, 24 mov eax, [Te1+4*eax] movzx eax, al mov ebx, [Td0+4*eax] mov eax, [edi] shr eax, 16 movzx eax, al mov eax, [Te1+4*eax] movzx eax, al mov eax, [Td1+4*eax] xor ebx, eax mov eax, [edi] shr eax, 8 movzx eax, al mov eax, [Te1+4*eax] movzx eax, al mov eax, [Td2+4*eax] xor ebx, eax mov eax, [edi] movzx eax, al mov eax, [Te1+4*eax] movzx eax, al mov eax, [Td3+4*eax] xor eax, ebx stosd dec ecx jnz .inverse xor eax, eax .error: ret endp aes256.encrypt = aes.encrypt proc aes.encrypt uses ebx esi edi, _ctx, _in, _out locals s rd 4 t rd 4 r dd ? endl mov ebx, [_ctx] mov esi, [_in] lea edi, [s] mov eax, [esi+4*0] bswap eax xor eax, [ebx+ctx_aes.key+4*0] mov [edi+4*0], eax mov eax, [esi+4*1] bswap eax xor eax, [ebx+ctx_aes.key+4*1] mov [edi+4*1], eax mov eax, [esi+ 4*2] bswap eax xor eax, [ebx+ctx_aes.key+4*2] mov [edi+4*2], eax mov eax, [esi+4*3] bswap eax xor eax, [ebx+ctx_aes.key+4*3] mov [edi+4*3], eax mov eax, [ebx+ctx_aes.rounds] shr eax, 1 mov [r], eax .for: lea esi, [s] lea edi, [t] mov ecx, [ebx+ctx_aes.key+4*4] mov eax, [esi+4*0] shr eax, 24 mov eax, [Te0+4*eax] xor ecx, eax mov eax, [esi+4*1] shr eax, 16 movzx eax, al mov eax, [Te1+4*eax] xor ecx, eax mov eax, [esi+4*2] shr eax, 8 movzx eax, al mov eax, [Te2+4*eax] xor ecx, eax mov eax, [esi+4*3] movzx eax, al mov eax, [Te3+4*eax] xor ecx, eax mov [edi+4*0], ecx mov ecx, [ebx+ctx_aes.key+4*5] mov eax, [esi+4*1] shr eax, 24 mov eax, [Te0+4*eax] xor ecx, eax mov eax, [esi+4*2] shr eax, 16 movzx eax, al mov eax, [Te1+4*eax] xor ecx, eax mov eax, [esi+4*3] shr eax, 8 movzx eax, al mov eax, [Te2+4*eax] xor ecx, eax mov eax, [esi+4*0] movzx eax, al mov eax, [Te3+4*eax] xor ecx, eax mov [edi+4*1], ecx mov ecx, [ebx+ctx_aes.key+4*6] mov eax, [esi+4*2] shr eax, 24 mov eax, [Te0+4*eax] xor ecx, eax mov eax, [esi+4*3] shr eax, 16 movzx eax, al mov eax, [Te1+4*eax] xor ecx, eax mov eax, [esi+4*0] shr eax, 8 movzx eax, al mov eax, [Te2+4*eax] xor ecx, eax mov eax, [esi+4*1] movzx eax, al mov eax, [Te3+4*eax] xor ecx, eax mov [edi+4*2], ecx mov ecx, [ebx+ctx_aes.key+4*7] mov eax, [esi+4*3] shr eax, 24 mov eax, [Te0+4*eax] xor ecx, eax mov eax, [esi+4*0] shr eax, 16 movzx eax, al mov eax, [Te1+4*eax] xor ecx, eax mov eax, [esi+4*1] shr eax, 8 movzx eax, al mov eax, [Te2+4*eax] xor ecx, eax mov eax, [esi+4*2] movzx eax, al mov eax, [Te3+4*eax] xor ecx, eax mov [edi+4*3], ecx add ebx, 4*8 dec [r] jz .end_for mov ecx, [ebx+ctx_aes.key+4*0] mov eax, [edi+4*0] shr eax, 24 mov eax, [Te0+4*eax] xor ecx, eax mov eax, [edi+4*1] shr eax, 16 movzx eax, al mov eax, [Te1+4*eax] xor ecx, eax mov eax, [edi+4*2] shr eax, 8 movzx eax, al mov eax, [Te2+4*eax] xor ecx, eax mov eax, [edi+4*3] movzx eax, al mov eax, [Te3+4*eax] xor ecx, eax mov [esi+4*0], ecx mov ecx, [ebx+ctx_aes.key+4*1] mov eax, [edi+4*1] shr eax, 24 mov eax, [Te0+4*eax] xor ecx, eax mov eax, [edi+4*2] shr eax, 16 movzx eax, al mov eax, [Te1+4*eax] xor ecx, eax mov eax, [edi+4*3] shr eax, 8 movzx eax, al mov eax, [Te2+4*eax] xor ecx, eax mov eax, [edi+4*0] movzx eax, al mov eax, [Te3+4*eax] xor ecx, eax mov [esi+4*1], ecx mov ecx, [ebx+ctx_aes.key+4*2] mov eax, [edi+4*2] shr eax, 24 mov eax, [Te0+4*eax] xor ecx, eax mov eax, [edi+4*3] shr eax, 16 movzx eax, al mov eax, [Te1+4*eax] xor ecx, eax mov eax, [edi+4*0] shr eax, 8 movzx eax, al mov eax, [Te2+4*eax] xor ecx, eax mov eax, [edi+4*1] movzx eax, al mov eax, [Te3+4*eax] xor ecx, eax mov [esi+4*2], ecx mov ecx, [ebx+ctx_aes.key+4*3] mov eax, [edi+4*3] shr eax, 24 mov eax, [Te0+4*eax] xor ecx, eax mov eax, [edi+4*0] shr eax, 16 movzx eax, al mov eax, [Te1+4*eax] xor ecx, eax mov eax, [edi+4*1] shr eax, 8 movzx eax, al mov eax, [Te2+4*eax] xor ecx, eax mov eax, [edi+4*2] movzx eax, al mov eax, [Te3+4*eax] xor ecx, eax mov [esi+4*3], ecx jmp .for .end_for: mov ecx, [ebx+ctx_aes.key+4*0] mov eax, [edi+4*0] shr eax, 24 mov eax, [Te2+4*eax] and eax, 0xff000000 xor ecx, eax mov eax, [edi+4*1] shr eax, 16 movzx eax, al mov eax, [Te3+4*eax] and eax, 0x00ff0000 xor ecx, eax mov eax, [edi+4*2] shr eax, 8 movzx eax, al mov eax, [Te0+4*eax] and eax, 0x0000ff00 xor ecx, eax mov eax, [edi+4*3] movzx eax, al mov eax, [Te1+4*eax] and eax, 0x000000ff xor ecx, eax mov [esi+4*0], ecx mov ecx, [ebx+ctx_aes.key+4*1] mov eax, [edi+4*1] shr eax, 24 mov eax, [Te2+4*eax] and eax, 0xff000000 xor ecx, eax mov eax, [edi+4*2] shr eax, 16 movzx eax, al mov eax, [Te3+4*eax] and eax, 0x00ff0000 xor ecx, eax mov eax, [edi+4*3] shr eax, 8 movzx eax, al mov eax, [Te0+4*eax] and eax, 0x0000ff00 xor ecx, eax mov eax, [edi+4*0] movzx eax, al mov eax, [Te1+4*eax] and eax, 0x000000ff xor ecx, eax mov [esi+4*1], ecx mov ecx, [ebx+ctx_aes.key+4*2] mov eax, [edi+4*2] shr eax, 24 mov eax, [Te2+4*eax] and eax, 0xff000000 xor ecx, eax mov eax, [edi+4*3] shr eax, 16 movzx eax, al mov eax, [Te3+4*eax] and eax, 0x00ff0000 xor ecx, eax mov eax, [edi+4*0] shr eax, 8 movzx eax, al mov eax, [Te0+4*eax] and eax, 0x0000ff00 xor ecx, eax mov eax, [edi+4*1] movzx eax, al mov eax, [Te1+4*eax] and eax, 0x000000ff xor ecx, eax mov [esi+4*2], ecx mov ecx, [ebx+ctx_aes.key+4*3] mov eax, [edi+4*3] shr eax, 24 mov eax, [Te2+4*eax] and eax, 0xff000000 xor ecx, eax mov eax, [edi+4*0] shr eax, 16 movzx eax, al mov eax, [Te3+4*eax] and eax, 0x00ff0000 xor ecx, eax mov eax, [edi+4*1] shr eax, 8 movzx eax, al mov eax, [Te0+4*eax] and eax, 0x0000ff00 xor ecx, eax mov eax, [edi+4*2] movzx eax, al mov eax, [Te1+4*eax] and eax, 0x000000ff xor ecx, eax mov [esi+4*3], ecx mov edi, [_out] lodsd bswap eax stosd lodsd bswap eax stosd lodsd bswap eax stosd lodsd bswap eax stosd ret endp aes256.decrypt = aes.decrypt proc aes.decrypt uses ebx esi edi, _key, _in, _out locals s rd 4 t rd 4 r dd ? endl mov ebx, [_key] mov esi, [_in] lea edi, [s] mov eax, [esi+4*0] bswap eax xor eax, [ebx+ctx_aes.key+4*0] mov [edi+4*0], eax mov eax, [esi+4*1] bswap eax xor eax, [ebx+ctx_aes.key+4*1] mov [edi+4*1], eax mov eax, [esi+4*2] bswap eax xor eax, [ebx+ctx_aes.key+4*2] mov [edi+4*2], eax mov eax, [esi+4*3] bswap eax xor eax, [ebx+ctx_aes.key+4*3] mov [edi+4*3], eax mov eax, [ebx+ctx_aes.rounds] shr eax, 1 mov [r], eax .for: lea esi, [s] lea edi, [t] mov ecx, [ebx+ctx_aes.key+4*4] mov eax, [esi+4*0] shr eax, 24 mov eax, [Td0+4*eax] xor ecx, eax mov eax, [esi+4*3] shr eax, 16 movzx eax, al mov eax, [Td1+4*eax] xor ecx, eax mov eax, [esi+4*2] shr eax, 8 movzx eax, al mov eax, [Td2+4*eax] xor ecx, eax mov eax, [esi+4*1] movzx eax, al mov eax, [Td3+4*eax] xor ecx, eax mov [edi+4*0], ecx mov ecx, [ebx+ctx_aes.key+4*5] mov eax, [esi+4*1] shr eax, 24 mov eax, [Td0+4*eax] xor ecx, eax mov eax, [esi+4*0] shr eax, 16 movzx eax, al mov eax, [Td1+4*eax] xor ecx, eax mov eax, [esi+4*3] shr eax, 8 movzx eax, al mov eax, [Td2+4*eax] xor ecx, eax mov eax, [esi+4*2] movzx eax, al mov eax, [Td3+4*eax] xor ecx, eax mov [edi+4*1], ecx mov ecx, [ebx+ctx_aes.key+4*6] mov eax, [esi+4*2] shr eax, 24 mov eax, [Td0+4*eax] xor ecx, eax mov eax, [esi+4*1] shr eax, 16 movzx eax, al mov eax, [Td1+4*eax] xor ecx, eax mov eax, [esi+4*0] shr eax, 8 movzx eax, al mov eax, [Td2+4*eax] xor ecx, eax mov eax, [esi+4*3] movzx eax, al mov eax, [Td3+4*eax] xor ecx, eax mov [edi+4*2], ecx mov ecx, [ebx+ctx_aes.key+4*7] mov eax, [esi+4*3] shr eax, 24 mov eax, [Td0+4*eax] xor ecx, eax mov eax, [esi+4*2] shr eax, 16 movzx eax, al mov eax, [Td1+4*eax] xor ecx, eax mov eax, [esi+4*1] shr eax, 8 movzx eax, al mov eax, [Td2+4*eax] xor ecx, eax mov eax, [esi+4*0] movzx eax, al mov eax, [Td3+4*eax] xor ecx, eax mov [edi+4*3], ecx add ebx, 4*8 dec [r] jz .end_for mov ecx, [ebx+ctx_aes.key+4*0] mov eax, [edi+4*0] shr eax, 24 mov eax, [Td0+4*eax] xor ecx, eax mov eax, [edi+4*3] shr eax, 16 movzx eax, al mov eax, [Td1+4*eax] xor ecx, eax mov eax, [edi+4*2] shr eax, 8 movzx eax, al mov eax, [Td2+4*eax] xor ecx, eax mov eax, [edi+4*1] movzx eax, al mov eax, [Td3+4*eax] xor ecx, eax mov [esi+4*0], ecx mov ecx, [ebx+ctx_aes.key+4*1] mov eax, [edi+4*1] shr eax, 24 mov eax, [Td0+4*eax] xor ecx, eax mov eax, [edi+4*0] shr eax, 16 movzx eax, al mov eax, [Td1+4*eax] xor ecx, eax mov eax, [edi+4*3] shr eax, 8 movzx eax, al mov eax, [Td2+4*eax] xor ecx, eax mov eax, [edi+4*2] movzx eax, al mov eax, [Td3+4*eax] xor ecx, eax mov [esi+4*1], ecx mov ecx, [ebx+ctx_aes.key+4*2] mov eax, [edi+4*2] shr eax, 24 mov eax, [Td0+4*eax] xor ecx, eax mov eax, [edi+4*1] shr eax, 16 movzx eax, al mov eax, [Td1+4*eax] xor ecx, eax mov eax, [edi+4*0] shr eax, 8 movzx eax, al mov eax, [Td2+4*eax] xor ecx, eax mov eax, [edi+4*3] movzx eax, al mov eax, [Td3+4*eax] xor ecx, eax mov [esi+4*2], ecx mov ecx, [ebx+ctx_aes.key+4*3] mov eax, [edi+4*3] shr eax, 24 mov eax, [Td0+4*eax] xor ecx, eax mov eax, [edi+4*2] shr eax, 16 movzx eax, al mov eax, [Td1+4*eax] xor ecx, eax mov eax, [edi+4*1] shr eax, 8 movzx eax, al mov eax, [Td2+4*eax] xor ecx, eax mov eax, [edi+4*0] movzx eax, al mov eax, [Td3+4*eax] xor ecx, eax mov [esi+4*3], ecx jmp .for .end_for: ; Apply last round mov ecx, [ebx+ctx_aes.key+4*0] mov eax, [edi+4*0] shr eax, 24 movzx eax, [Td4+eax] shl eax, 24 xor ecx, eax mov eax, [edi+4*3] shr eax, 16 movzx eax, al movzx eax, [Td4+eax] shl eax, 16 xor ecx, eax mov eax, [edi+4*2] shr eax, 8 movzx eax, al movzx eax, [Td4+eax] shl eax, 8 xor ecx, eax mov eax, [edi+4*1] movzx eax, al movzx eax, [Td4+eax] xor ecx, eax mov [esi+4*0], ecx mov ecx, [ebx+ctx_aes.key+4*1] mov eax, [edi+4*1] shr eax, 24 movzx eax, [Td4+eax] shl eax, 24 xor ecx, eax mov eax, [edi+4*0] shr eax, 16 movzx eax, al movzx eax, [Td4+eax] shl eax, 16 xor ecx, eax mov eax, [edi+4*3] shr eax, 8 movzx eax, al movzx eax, [Td4+eax] shl eax, 8 xor ecx, eax mov eax, [edi+4*2] movzx eax, al movzx eax, [Td4+eax] xor ecx, eax mov [esi+4*1], ecx mov ecx, [ebx+ctx_aes.key+4*2] mov eax, [edi+4*2] shr eax, 24 movzx eax, [Td4+eax] shl eax, 24 xor ecx, eax mov eax, [edi+4*1] shr eax, 16 movzx eax, al movzx eax, [Td4+eax] shl eax, 16 xor ecx, eax mov eax, [edi+4*0] shr eax, 8 movzx eax, al movzx eax, [Td4+eax] shl eax, 8 xor ecx, eax mov eax, [edi+4*3] movzx eax, al movzx eax, [Td4+eax] xor ecx, eax mov [esi+4*2], ecx mov ecx, [ebx+ctx_aes.key+4*3] mov eax, [edi+4*3] shr eax, 24 movzx eax, [Td4+eax] shl eax, 24 xor ecx, eax mov eax, [edi+4*2] shr eax, 16 movzx eax, al movzx eax, [Td4+eax] shl eax, 16 xor ecx, eax mov eax, [edi+4*1] shr eax, 8 movzx eax, al movzx eax, [Td4+eax] shl eax, 8 xor ecx, eax mov eax, [edi+4*0] movzx eax, al movzx eax, [Td4+eax] xor ecx, eax mov [esi+4*3], ecx mov edi, [_out] lodsd bswap eax stosd lodsd bswap eax stosd lodsd bswap eax stosd lodsd bswap eax stosd ret endp iglobal Te0 dd \ 0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d, \ 0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554, \ 0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d, \ 0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a, \ 0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87, \ 0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b, \ 0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea, \ 0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b, \ 0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a, \ 0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f, \ 0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108, \ 0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f, \ 0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e, \ 0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5, \ 0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d, \ 0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f, \ 0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e, \ 0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb, \ 0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce, \ 0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497, \ 0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c, \ 0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed, \ 0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b, \ 0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a, \ 0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16, \ 0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594, \ 0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81, \ 0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3, \ 0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a, \ 0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504, \ 0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163, \ 0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d, \ 0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f, \ 0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739, \ 0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47, \ 0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395, \ 0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f, \ 0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883, \ 0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c, \ 0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76, \ 0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e, \ 0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4, \ 0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6, \ 0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b, \ 0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7, \ 0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0, \ 0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25, \ 0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818, \ 0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72, \ 0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651, \ 0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21, \ 0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85, \ 0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa, \ 0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12, \ 0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0, \ 0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9, \ 0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133, \ 0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7, \ 0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920, \ 0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a, \ 0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17, \ 0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8, \ 0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11, \ 0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a Te1 dd \ 0xa5c66363, 0x84f87c7c, 0x99ee7777, 0x8df67b7b, \ 0x0dfff2f2, 0xbdd66b6b, 0xb1de6f6f, 0x5491c5c5, \ 0x50603030, 0x03020101, 0xa9ce6767, 0x7d562b2b, \ 0x19e7fefe, 0x62b5d7d7, 0xe64dabab, 0x9aec7676, \ 0x458fcaca, 0x9d1f8282, 0x4089c9c9, 0x87fa7d7d, \ 0x15effafa, 0xebb25959, 0xc98e4747, 0x0bfbf0f0, \ 0xec41adad, 0x67b3d4d4, 0xfd5fa2a2, 0xea45afaf, \ 0xbf239c9c, 0xf753a4a4, 0x96e47272, 0x5b9bc0c0, \ 0xc275b7b7, 0x1ce1fdfd, 0xae3d9393, 0x6a4c2626, \ 0x5a6c3636, 0x417e3f3f, 0x02f5f7f7, 0x4f83cccc, \ 0x5c683434, 0xf451a5a5, 0x34d1e5e5, 0x08f9f1f1, \ 0x93e27171, 0x73abd8d8, 0x53623131, 0x3f2a1515, \ 0x0c080404, 0x5295c7c7, 0x65462323, 0x5e9dc3c3, \ 0x28301818, 0xa1379696, 0x0f0a0505, 0xb52f9a9a, \ 0x090e0707, 0x36241212, 0x9b1b8080, 0x3ddfe2e2, \ 0x26cdebeb, 0x694e2727, 0xcd7fb2b2, 0x9fea7575, \ 0x1b120909, 0x9e1d8383, 0x74582c2c, 0x2e341a1a, \ 0x2d361b1b, 0xb2dc6e6e, 0xeeb45a5a, 0xfb5ba0a0, \ 0xf6a45252, 0x4d763b3b, 0x61b7d6d6, 0xce7db3b3, \ 0x7b522929, 0x3edde3e3, 0x715e2f2f, 0x97138484, \ 0xf5a65353, 0x68b9d1d1, 0x00000000, 0x2cc1eded, \ 0x60402020, 0x1fe3fcfc, 0xc879b1b1, 0xedb65b5b, \ 0xbed46a6a, 0x468dcbcb, 0xd967bebe, 0x4b723939, \ 0xde944a4a, 0xd4984c4c, 0xe8b05858, 0x4a85cfcf, \ 0x6bbbd0d0, 0x2ac5efef, 0xe54faaaa, 0x16edfbfb, \ 0xc5864343, 0xd79a4d4d, 0x55663333, 0x94118585, \ 0xcf8a4545, 0x10e9f9f9, 0x06040202, 0x81fe7f7f, \ 0xf0a05050, 0x44783c3c, 0xba259f9f, 0xe34ba8a8, \ 0xf3a25151, 0xfe5da3a3, 0xc0804040, 0x8a058f8f, \ 0xad3f9292, 0xbc219d9d, 0x48703838, 0x04f1f5f5, \ 0xdf63bcbc, 0xc177b6b6, 0x75afdada, 0x63422121, \ 0x30201010, 0x1ae5ffff, 0x0efdf3f3, 0x6dbfd2d2, \ 0x4c81cdcd, 0x14180c0c, 0x35261313, 0x2fc3ecec, \ 0xe1be5f5f, 0xa2359797, 0xcc884444, 0x392e1717, \ 0x5793c4c4, 0xf255a7a7, 0x82fc7e7e, 0x477a3d3d, \ 0xacc86464, 0xe7ba5d5d, 0x2b321919, 0x95e67373, \ 0xa0c06060, 0x98198181, 0xd19e4f4f, 0x7fa3dcdc, \ 0x66442222, 0x7e542a2a, 0xab3b9090, 0x830b8888, \ 0xca8c4646, 0x29c7eeee, 0xd36bb8b8, 0x3c281414, \ 0x79a7dede, 0xe2bc5e5e, 0x1d160b0b, 0x76addbdb, \ 0x3bdbe0e0, 0x56643232, 0x4e743a3a, 0x1e140a0a, \ 0xdb924949, 0x0a0c0606, 0x6c482424, 0xe4b85c5c, \ 0x5d9fc2c2, 0x6ebdd3d3, 0xef43acac, 0xa6c46262, \ 0xa8399191, 0xa4319595, 0x37d3e4e4, 0x8bf27979, \ 0x32d5e7e7, 0x438bc8c8, 0x596e3737, 0xb7da6d6d, \ 0x8c018d8d, 0x64b1d5d5, 0xd29c4e4e, 0xe049a9a9, \ 0xb4d86c6c, 0xfaac5656, 0x07f3f4f4, 0x25cfeaea, \ 0xafca6565, 0x8ef47a7a, 0xe947aeae, 0x18100808, \ 0xd56fbaba, 0x88f07878, 0x6f4a2525, 0x725c2e2e, \ 0x24381c1c, 0xf157a6a6, 0xc773b4b4, 0x5197c6c6, \ 0x23cbe8e8, 0x7ca1dddd, 0x9ce87474, 0x213e1f1f, \ 0xdd964b4b, 0xdc61bdbd, 0x860d8b8b, 0x850f8a8a, \ 0x90e07070, 0x427c3e3e, 0xc471b5b5, 0xaacc6666, \ 0xd8904848, 0x05060303, 0x01f7f6f6, 0x121c0e0e, \ 0xa3c26161, 0x5f6a3535, 0xf9ae5757, 0xd069b9b9, \ 0x91178686, 0x5899c1c1, 0x273a1d1d, 0xb9279e9e, \ 0x38d9e1e1, 0x13ebf8f8, 0xb32b9898, 0x33221111, \ 0xbbd26969, 0x70a9d9d9, 0x89078e8e, 0xa7339494, \ 0xb62d9b9b, 0x223c1e1e, 0x92158787, 0x20c9e9e9, \ 0x4987cece, 0xffaa5555, 0x78502828, 0x7aa5dfdf, \ 0x8f038c8c, 0xf859a1a1, 0x80098989, 0x171a0d0d, \ 0xda65bfbf, 0x31d7e6e6, 0xc6844242, 0xb8d06868, \ 0xc3824141, 0xb0299999, 0x775a2d2d, 0x111e0f0f, \ 0xcb7bb0b0, 0xfca85454, 0xd66dbbbb, 0x3a2c1616 Te2 dd \ 0x63a5c663, 0x7c84f87c, 0x7799ee77, 0x7b8df67b, \ 0xf20dfff2, 0x6bbdd66b, 0x6fb1de6f, 0xc55491c5, \ 0x30506030, 0x01030201, 0x67a9ce67, 0x2b7d562b, \ 0xfe19e7fe, 0xd762b5d7, 0xabe64dab, 0x769aec76, \ 0xca458fca, 0x829d1f82, 0xc94089c9, 0x7d87fa7d, \ 0xfa15effa, 0x59ebb259, 0x47c98e47, 0xf00bfbf0, \ 0xadec41ad, 0xd467b3d4, 0xa2fd5fa2, 0xafea45af, \ 0x9cbf239c, 0xa4f753a4, 0x7296e472, 0xc05b9bc0, \ 0xb7c275b7, 0xfd1ce1fd, 0x93ae3d93, 0x266a4c26, \ 0x365a6c36, 0x3f417e3f, 0xf702f5f7, 0xcc4f83cc, \ 0x345c6834, 0xa5f451a5, 0xe534d1e5, 0xf108f9f1, \ 0x7193e271, 0xd873abd8, 0x31536231, 0x153f2a15, \ 0x040c0804, 0xc75295c7, 0x23654623, 0xc35e9dc3, \ 0x18283018, 0x96a13796, 0x050f0a05, 0x9ab52f9a, \ 0x07090e07, 0x12362412, 0x809b1b80, 0xe23ddfe2, \ 0xeb26cdeb, 0x27694e27, 0xb2cd7fb2, 0x759fea75, \ 0x091b1209, 0x839e1d83, 0x2c74582c, 0x1a2e341a, \ 0x1b2d361b, 0x6eb2dc6e, 0x5aeeb45a, 0xa0fb5ba0, \ 0x52f6a452, 0x3b4d763b, 0xd661b7d6, 0xb3ce7db3, \ 0x297b5229, 0xe33edde3, 0x2f715e2f, 0x84971384, \ 0x53f5a653, 0xd168b9d1, 0x00000000, 0xed2cc1ed, \ 0x20604020, 0xfc1fe3fc, 0xb1c879b1, 0x5bedb65b, \ 0x6abed46a, 0xcb468dcb, 0xbed967be, 0x394b7239, \ 0x4ade944a, 0x4cd4984c, 0x58e8b058, 0xcf4a85cf, \ 0xd06bbbd0, 0xef2ac5ef, 0xaae54faa, 0xfb16edfb, \ 0x43c58643, 0x4dd79a4d, 0x33556633, 0x85941185, \ 0x45cf8a45, 0xf910e9f9, 0x02060402, 0x7f81fe7f, \ 0x50f0a050, 0x3c44783c, 0x9fba259f, 0xa8e34ba8, \ 0x51f3a251, 0xa3fe5da3, 0x40c08040, 0x8f8a058f, \ 0x92ad3f92, 0x9dbc219d, 0x38487038, 0xf504f1f5, \ 0xbcdf63bc, 0xb6c177b6, 0xda75afda, 0x21634221, \ 0x10302010, 0xff1ae5ff, 0xf30efdf3, 0xd26dbfd2, \ 0xcd4c81cd, 0x0c14180c, 0x13352613, 0xec2fc3ec, \ 0x5fe1be5f, 0x97a23597, 0x44cc8844, 0x17392e17, \ 0xc45793c4, 0xa7f255a7, 0x7e82fc7e, 0x3d477a3d, \ 0x64acc864, 0x5de7ba5d, 0x192b3219, 0x7395e673, \ 0x60a0c060, 0x81981981, 0x4fd19e4f, 0xdc7fa3dc, \ 0x22664422, 0x2a7e542a, 0x90ab3b90, 0x88830b88, \ 0x46ca8c46, 0xee29c7ee, 0xb8d36bb8, 0x143c2814, \ 0xde79a7de, 0x5ee2bc5e, 0x0b1d160b, 0xdb76addb, \ 0xe03bdbe0, 0x32566432, 0x3a4e743a, 0x0a1e140a, \ 0x49db9249, 0x060a0c06, 0x246c4824, 0x5ce4b85c, \ 0xc25d9fc2, 0xd36ebdd3, 0xacef43ac, 0x62a6c462, \ 0x91a83991, 0x95a43195, 0xe437d3e4, 0x798bf279, \ 0xe732d5e7, 0xc8438bc8, 0x37596e37, 0x6db7da6d, \ 0x8d8c018d, 0xd564b1d5, 0x4ed29c4e, 0xa9e049a9, \ 0x6cb4d86c, 0x56faac56, 0xf407f3f4, 0xea25cfea, \ 0x65afca65, 0x7a8ef47a, 0xaee947ae, 0x08181008, \ 0xbad56fba, 0x7888f078, 0x256f4a25, 0x2e725c2e, \ 0x1c24381c, 0xa6f157a6, 0xb4c773b4, 0xc65197c6, \ 0xe823cbe8, 0xdd7ca1dd, 0x749ce874, 0x1f213e1f, \ 0x4bdd964b, 0xbddc61bd, 0x8b860d8b, 0x8a850f8a, \ 0x7090e070, 0x3e427c3e, 0xb5c471b5, 0x66aacc66, \ 0x48d89048, 0x03050603, 0xf601f7f6, 0x0e121c0e, \ 0x61a3c261, 0x355f6a35, 0x57f9ae57, 0xb9d069b9, \ 0x86911786, 0xc15899c1, 0x1d273a1d, 0x9eb9279e, \ 0xe138d9e1, 0xf813ebf8, 0x98b32b98, 0x11332211, \ 0x69bbd269, 0xd970a9d9, 0x8e89078e, 0x94a73394, \ 0x9bb62d9b, 0x1e223c1e, 0x87921587, 0xe920c9e9, \ 0xce4987ce, 0x55ffaa55, 0x28785028, 0xdf7aa5df, \ 0x8c8f038c, 0xa1f859a1, 0x89800989, 0x0d171a0d, \ 0xbfda65bf, 0xe631d7e6, 0x42c68442, 0x68b8d068, \ 0x41c38241, 0x99b02999, 0x2d775a2d, 0x0f111e0f, \ 0xb0cb7bb0, 0x54fca854, 0xbbd66dbb, 0x163a2c16 Te3 dd \ 0x6363a5c6, 0x7c7c84f8, 0x777799ee, 0x7b7b8df6, \ 0xf2f20dff, 0x6b6bbdd6, 0x6f6fb1de, 0xc5c55491, \ 0x30305060, 0x01010302, 0x6767a9ce, 0x2b2b7d56, \ 0xfefe19e7, 0xd7d762b5, 0xababe64d, 0x76769aec, \ 0xcaca458f, 0x82829d1f, 0xc9c94089, 0x7d7d87fa, \ 0xfafa15ef, 0x5959ebb2, 0x4747c98e, 0xf0f00bfb, \ 0xadadec41, 0xd4d467b3, 0xa2a2fd5f, 0xafafea45, \ 0x9c9cbf23, 0xa4a4f753, 0x727296e4, 0xc0c05b9b, \ 0xb7b7c275, 0xfdfd1ce1, 0x9393ae3d, 0x26266a4c, \ 0x36365a6c, 0x3f3f417e, 0xf7f702f5, 0xcccc4f83, \ 0x34345c68, 0xa5a5f451, 0xe5e534d1, 0xf1f108f9, \ 0x717193e2, 0xd8d873ab, 0x31315362, 0x15153f2a, \ 0x04040c08, 0xc7c75295, 0x23236546, 0xc3c35e9d, \ 0x18182830, 0x9696a137, 0x05050f0a, 0x9a9ab52f, \ 0x0707090e, 0x12123624, 0x80809b1b, 0xe2e23ddf, \ 0xebeb26cd, 0x2727694e, 0xb2b2cd7f, 0x75759fea, \ 0x09091b12, 0x83839e1d, 0x2c2c7458, 0x1a1a2e34, \ 0x1b1b2d36, 0x6e6eb2dc, 0x5a5aeeb4, 0xa0a0fb5b, \ 0x5252f6a4, 0x3b3b4d76, 0xd6d661b7, 0xb3b3ce7d, \ 0x29297b52, 0xe3e33edd, 0x2f2f715e, 0x84849713, \ 0x5353f5a6, 0xd1d168b9, 0x00000000, 0xeded2cc1, \ 0x20206040, 0xfcfc1fe3, 0xb1b1c879, 0x5b5bedb6, \ 0x6a6abed4, 0xcbcb468d, 0xbebed967, 0x39394b72, \ 0x4a4ade94, 0x4c4cd498, 0x5858e8b0, 0xcfcf4a85, \ 0xd0d06bbb, 0xefef2ac5, 0xaaaae54f, 0xfbfb16ed, \ 0x4343c586, 0x4d4dd79a, 0x33335566, 0x85859411, \ 0x4545cf8a, 0xf9f910e9, 0x02020604, 0x7f7f81fe, \ 0x5050f0a0, 0x3c3c4478, 0x9f9fba25, 0xa8a8e34b, \ 0x5151f3a2, 0xa3a3fe5d, 0x4040c080, 0x8f8f8a05, \ 0x9292ad3f, 0x9d9dbc21, 0x38384870, 0xf5f504f1, \ 0xbcbcdf63, 0xb6b6c177, 0xdada75af, 0x21216342, \ 0x10103020, 0xffff1ae5, 0xf3f30efd, 0xd2d26dbf, \ 0xcdcd4c81, 0x0c0c1418, 0x13133526, 0xecec2fc3, \ 0x5f5fe1be, 0x9797a235, 0x4444cc88, 0x1717392e, \ 0xc4c45793, 0xa7a7f255, 0x7e7e82fc, 0x3d3d477a, \ 0x6464acc8, 0x5d5de7ba, 0x19192b32, 0x737395e6, \ 0x6060a0c0, 0x81819819, 0x4f4fd19e, 0xdcdc7fa3, \ 0x22226644, 0x2a2a7e54, 0x9090ab3b, 0x8888830b, \ 0x4646ca8c, 0xeeee29c7, 0xb8b8d36b, 0x14143c28, \ 0xdede79a7, 0x5e5ee2bc, 0x0b0b1d16, 0xdbdb76ad, \ 0xe0e03bdb, 0x32325664, 0x3a3a4e74, 0x0a0a1e14, \ 0x4949db92, 0x06060a0c, 0x24246c48, 0x5c5ce4b8, \ 0xc2c25d9f, 0xd3d36ebd, 0xacacef43, 0x6262a6c4, \ 0x9191a839, 0x9595a431, 0xe4e437d3, 0x79798bf2, \ 0xe7e732d5, 0xc8c8438b, 0x3737596e, 0x6d6db7da, \ 0x8d8d8c01, 0xd5d564b1, 0x4e4ed29c, 0xa9a9e049, \ 0x6c6cb4d8, 0x5656faac, 0xf4f407f3, 0xeaea25cf, \ 0x6565afca, 0x7a7a8ef4, 0xaeaee947, 0x08081810, \ 0xbabad56f, 0x787888f0, 0x25256f4a, 0x2e2e725c, \ 0x1c1c2438, 0xa6a6f157, 0xb4b4c773, 0xc6c65197, \ 0xe8e823cb, 0xdddd7ca1, 0x74749ce8, 0x1f1f213e, \ 0x4b4bdd96, 0xbdbddc61, 0x8b8b860d, 0x8a8a850f, \ 0x707090e0, 0x3e3e427c, 0xb5b5c471, 0x6666aacc, \ 0x4848d890, 0x03030506, 0xf6f601f7, 0x0e0e121c, \ 0x6161a3c2, 0x35355f6a, 0x5757f9ae, 0xb9b9d069, \ 0x86869117, 0xc1c15899, 0x1d1d273a, 0x9e9eb927, \ 0xe1e138d9, 0xf8f813eb, 0x9898b32b, 0x11113322, \ 0x6969bbd2, 0xd9d970a9, 0x8e8e8907, 0x9494a733, \ 0x9b9bb62d, 0x1e1e223c, 0x87879215, 0xe9e920c9, \ 0xcece4987, 0x5555ffaa, 0x28287850, 0xdfdf7aa5, \ 0x8c8c8f03, 0xa1a1f859, 0x89898009, 0x0d0d171a, \ 0xbfbfda65, 0xe6e631d7, 0x4242c684, 0x6868b8d0, \ 0x4141c382, 0x9999b029, 0x2d2d775a, 0x0f0f111e, \ 0xb0b0cb7b, 0x5454fca8, 0xbbbbd66d, 0x16163a2c Td0 dd \ 0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96, \ 0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393, \ 0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25, \ 0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f, \ 0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1, \ 0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6, \ 0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da, \ 0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844, \ 0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd, \ 0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4, \ 0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45, \ 0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94, \ 0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7, \ 0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a, \ 0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5, \ 0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c, \ 0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1, \ 0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a, \ 0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75, \ 0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051, \ 0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46, \ 0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff, \ 0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77, \ 0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb, \ 0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000, \ 0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e, \ 0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927, \ 0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a, \ 0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e, \ 0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16, \ 0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d, \ 0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8, \ 0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd, \ 0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34, \ 0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163, \ 0xd731dcca, 0x42638510, 0x13972240, 0x84c61120, \ 0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d, \ 0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0, \ 0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422, \ 0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef, \ 0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36, \ 0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4, \ 0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662, \ 0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5, \ 0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3, \ 0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b, \ 0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8, \ 0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6, \ 0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6, \ 0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0, \ 0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815, \ 0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f, \ 0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df, \ 0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f, \ 0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e, \ 0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713, \ 0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89, \ 0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c, \ 0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf, \ 0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86, \ 0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f, \ 0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541, \ 0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190, \ 0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742 Td1 dd \ 0x5051f4a7, 0x537e4165, 0xc31a17a4, 0x963a275e, \ 0xcb3bab6b, 0xf11f9d45, 0xabacfa58, 0x934be303, \ 0x552030fa, 0xf6ad766d, 0x9188cc76, 0x25f5024c, \ 0xfc4fe5d7, 0xd7c52acb, 0x80263544, 0x8fb562a3, \ 0x49deb15a, 0x6725ba1b, 0x9845ea0e, 0xe15dfec0, \ 0x02c32f75, 0x12814cf0, 0xa38d4697, 0xc66bd3f9, \ 0xe7038f5f, 0x9515929c, 0xebbf6d7a, 0xda955259, \ 0x2dd4be83, 0xd3587421, 0x2949e069, 0x448ec9c8, \ 0x6a75c289, 0x78f48e79, 0x6b99583e, 0xdd27b971, \ 0xb6bee14f, 0x17f088ad, 0x66c920ac, 0xb47dce3a, \ 0x1863df4a, 0x82e51a31, 0x60975133, 0x4562537f, \ 0xe0b16477, 0x84bb6bae, 0x1cfe81a0, 0x94f9082b, \ 0x58704868, 0x198f45fd, 0x8794de6c, 0xb7527bf8, \ 0x23ab73d3, 0xe2724b02, 0x57e31f8f, 0x2a6655ab, \ 0x07b2eb28, 0x032fb5c2, 0x9a86c57b, 0xa5d33708, \ 0xf2302887, 0xb223bfa5, 0xba02036a, 0x5ced1682, \ 0x2b8acf1c, 0x92a779b4, 0xf0f307f2, 0xa14e69e2, \ 0xcd65daf4, 0xd50605be, 0x1fd13462, 0x8ac4a6fe, \ 0x9d342e53, 0xa0a2f355, 0x32058ae1, 0x75a4f6eb, \ 0x390b83ec, 0xaa4060ef, 0x065e719f, 0x51bd6e10, \ 0xf93e218a, 0x3d96dd06, 0xaedd3e05, 0x464de6bd, \ 0xb591548d, 0x0571c45d, 0x6f0406d4, 0xff605015, \ 0x241998fb, 0x97d6bde9, 0xcc894043, 0x7767d99e, \ 0xbdb0e842, 0x8807898b, 0x38e7195b, 0xdb79c8ee, \ 0x47a17c0a, 0xe97c420f, 0xc9f8841e, 0x00000000, \ 0x83098086, 0x48322bed, 0xac1e1170, 0x4e6c5a72, \ 0xfbfd0eff, 0x560f8538, 0x1e3daed5, 0x27362d39, \ 0x640a0fd9, 0x21685ca6, 0xd19b5b54, 0x3a24362e, \ 0xb10c0a67, 0x0f9357e7, 0xd2b4ee96, 0x9e1b9b91, \ 0x4f80c0c5, 0xa261dc20, 0x695a774b, 0x161c121a, \ 0x0ae293ba, 0xe5c0a02a, 0x433c22e0, 0x1d121b17, \ 0x0b0e090d, 0xadf28bc7, 0xb92db6a8, 0xc8141ea9, \ 0x8557f119, 0x4caf7507, 0xbbee99dd, 0xfda37f60, \ 0x9ff70126, 0xbc5c72f5, 0xc544663b, 0x345bfb7e, \ 0x768b4329, 0xdccb23c6, 0x68b6edfc, 0x63b8e4f1, \ 0xcad731dc, 0x10426385, 0x40139722, 0x2084c611, \ 0x7d854a24, 0xf8d2bb3d, 0x11aef932, 0x6dc729a1, \ 0x4b1d9e2f, 0xf3dcb230, 0xec0d8652, 0xd077c1e3, \ 0x6c2bb316, 0x99a970b9, 0xfa119448, 0x2247e964, \ 0xc4a8fc8c, 0x1aa0f03f, 0xd8567d2c, 0xef223390, \ 0xc787494e, 0xc1d938d1, 0xfe8ccaa2, 0x3698d40b, \ 0xcfa6f581, 0x28a57ade, 0x26dab78e, 0xa43fadbf, \ 0xe42c3a9d, 0x0d507892, 0x9b6a5fcc, 0x62547e46, \ 0xc2f68d13, 0xe890d8b8, 0x5e2e39f7, 0xf582c3af, \ 0xbe9f5d80, 0x7c69d093, 0xa96fd52d, 0xb3cf2512, \ 0x3bc8ac99, 0xa710187d, 0x6ee89c63, 0x7bdb3bbb, \ 0x09cd2678, 0xf46e5918, 0x01ec9ab7, 0xa8834f9a, \ 0x65e6956e, 0x7eaaffe6, 0x0821bccf, 0xe6ef15e8, \ 0xd9bae79b, 0xce4a6f36, 0xd4ea9f09, 0xd629b07c, \ 0xaf31a4b2, 0x312a3f23, 0x30c6a594, 0xc035a266, \ 0x37744ebc, 0xa6fc82ca, 0xb0e090d0, 0x1533a7d8, \ 0x4af10498, 0xf741ecda, 0x0e7fcd50, 0x2f1791f6, \ 0x8d764dd6, 0x4d43efb0, 0x54ccaa4d, 0xdfe49604, \ 0xe39ed1b5, 0x1b4c6a88, 0xb8c12c1f, 0x7f466551, \ 0x049d5eea, 0x5d018c35, 0x73fa8774, 0x2efb0b41, \ 0x5ab3671d, 0x5292dbd2, 0x33e91056, 0x136dd647, \ 0x8c9ad761, 0x7a37a10c, 0x8e59f814, 0x89eb133c, \ 0xeecea927, 0x35b761c9, 0xede11ce5, 0x3c7a47b1, \ 0x599cd2df, 0x3f55f273, 0x791814ce, 0xbf73c737, \ 0xea53f7cd, 0x5b5ffdaa, 0x14df3d6f, 0x867844db, \ 0x81caaff3, 0x3eb968c4, 0x2c382434, 0x5fc2a340, \ 0x72161dc3, 0x0cbce225, 0x8b283c49, 0x41ff0d95, \ 0x7139a801, 0xde080cb3, 0x9cd8b4e4, 0x906456c1, \ 0x617bcb84, 0x70d532b6, 0x74486c5c, 0x42d0b857 Td2 dd \ 0xa75051f4, 0x65537e41, 0xa4c31a17, 0x5e963a27, \ 0x6bcb3bab, 0x45f11f9d, 0x58abacfa, 0x03934be3, \ 0xfa552030, 0x6df6ad76, 0x769188cc, 0x4c25f502, \ 0xd7fc4fe5, 0xcbd7c52a, 0x44802635, 0xa38fb562, \ 0x5a49deb1, 0x1b6725ba, 0x0e9845ea, 0xc0e15dfe, \ 0x7502c32f, 0xf012814c, 0x97a38d46, 0xf9c66bd3, \ 0x5fe7038f, 0x9c951592, 0x7aebbf6d, 0x59da9552, \ 0x832dd4be, 0x21d35874, 0x692949e0, 0xc8448ec9, \ 0x896a75c2, 0x7978f48e, 0x3e6b9958, 0x71dd27b9, \ 0x4fb6bee1, 0xad17f088, 0xac66c920, 0x3ab47dce, \ 0x4a1863df, 0x3182e51a, 0x33609751, 0x7f456253, \ 0x77e0b164, 0xae84bb6b, 0xa01cfe81, 0x2b94f908, \ 0x68587048, 0xfd198f45, 0x6c8794de, 0xf8b7527b, \ 0xd323ab73, 0x02e2724b, 0x8f57e31f, 0xab2a6655, \ 0x2807b2eb, 0xc2032fb5, 0x7b9a86c5, 0x08a5d337, \ 0x87f23028, 0xa5b223bf, 0x6aba0203, 0x825ced16, \ 0x1c2b8acf, 0xb492a779, 0xf2f0f307, 0xe2a14e69, \ 0xf4cd65da, 0xbed50605, 0x621fd134, 0xfe8ac4a6, \ 0x539d342e, 0x55a0a2f3, 0xe132058a, 0xeb75a4f6, \ 0xec390b83, 0xefaa4060, 0x9f065e71, 0x1051bd6e, \ 0x8af93e21, 0x063d96dd, 0x05aedd3e, 0xbd464de6, \ 0x8db59154, 0x5d0571c4, 0xd46f0406, 0x15ff6050, \ 0xfb241998, 0xe997d6bd, 0x43cc8940, 0x9e7767d9, \ 0x42bdb0e8, 0x8b880789, 0x5b38e719, 0xeedb79c8, \ 0x0a47a17c, 0x0fe97c42, 0x1ec9f884, 0x00000000, \ 0x86830980, 0xed48322b, 0x70ac1e11, 0x724e6c5a, \ 0xfffbfd0e, 0x38560f85, 0xd51e3dae, 0x3927362d, \ 0xd9640a0f, 0xa621685c, 0x54d19b5b, 0x2e3a2436, \ 0x67b10c0a, 0xe70f9357, 0x96d2b4ee, 0x919e1b9b, \ 0xc54f80c0, 0x20a261dc, 0x4b695a77, 0x1a161c12, \ 0xba0ae293, 0x2ae5c0a0, 0xe0433c22, 0x171d121b, \ 0x0d0b0e09, 0xc7adf28b, 0xa8b92db6, 0xa9c8141e, \ 0x198557f1, 0x074caf75, 0xddbbee99, 0x60fda37f, \ 0x269ff701, 0xf5bc5c72, 0x3bc54466, 0x7e345bfb, \ 0x29768b43, 0xc6dccb23, 0xfc68b6ed, 0xf163b8e4, \ 0xdccad731, 0x85104263, 0x22401397, 0x112084c6, \ 0x247d854a, 0x3df8d2bb, 0x3211aef9, 0xa16dc729, \ 0x2f4b1d9e, 0x30f3dcb2, 0x52ec0d86, 0xe3d077c1, \ 0x166c2bb3, 0xb999a970, 0x48fa1194, 0x642247e9, \ 0x8cc4a8fc, 0x3f1aa0f0, 0x2cd8567d, 0x90ef2233, \ 0x4ec78749, 0xd1c1d938, 0xa2fe8cca, 0x0b3698d4, \ 0x81cfa6f5, 0xde28a57a, 0x8e26dab7, 0xbfa43fad, \ 0x9de42c3a, 0x920d5078, 0xcc9b6a5f, 0x4662547e, \ 0x13c2f68d, 0xb8e890d8, 0xf75e2e39, 0xaff582c3, \ 0x80be9f5d, 0x937c69d0, 0x2da96fd5, 0x12b3cf25, \ 0x993bc8ac, 0x7da71018, 0x636ee89c, 0xbb7bdb3b, \ 0x7809cd26, 0x18f46e59, 0xb701ec9a, 0x9aa8834f, \ 0x6e65e695, 0xe67eaaff, 0xcf0821bc, 0xe8e6ef15, \ 0x9bd9bae7, 0x36ce4a6f, 0x09d4ea9f, 0x7cd629b0, \ 0xb2af31a4, 0x23312a3f, 0x9430c6a5, 0x66c035a2, \ 0xbc37744e, 0xcaa6fc82, 0xd0b0e090, 0xd81533a7, \ 0x984af104, 0xdaf741ec, 0x500e7fcd, 0xf62f1791, \ 0xd68d764d, 0xb04d43ef, 0x4d54ccaa, 0x04dfe496, \ 0xb5e39ed1, 0x881b4c6a, 0x1fb8c12c, 0x517f4665, \ 0xea049d5e, 0x355d018c, 0x7473fa87, 0x412efb0b, \ 0x1d5ab367, 0xd25292db, 0x5633e910, 0x47136dd6, \ 0x618c9ad7, 0x0c7a37a1, 0x148e59f8, 0x3c89eb13, \ 0x27eecea9, 0xc935b761, 0xe5ede11c, 0xb13c7a47, \ 0xdf599cd2, 0x733f55f2, 0xce791814, 0x37bf73c7, \ 0xcdea53f7, 0xaa5b5ffd, 0x6f14df3d, 0xdb867844, \ 0xf381caaf, 0xc43eb968, 0x342c3824, 0x405fc2a3, \ 0xc372161d, 0x250cbce2, 0x498b283c, 0x9541ff0d, \ 0x017139a8, 0xb3de080c, 0xe49cd8b4, 0xc1906456, \ 0x84617bcb, 0xb670d532, 0x5c74486c, 0x5742d0b8 Td3 dd \ 0xf4a75051, 0x4165537e, 0x17a4c31a, 0x275e963a, \ 0xab6bcb3b, 0x9d45f11f, 0xfa58abac, 0xe303934b, \ 0x30fa5520, 0x766df6ad, 0xcc769188, 0x024c25f5, \ 0xe5d7fc4f, 0x2acbd7c5, 0x35448026, 0x62a38fb5, \ 0xb15a49de, 0xba1b6725, 0xea0e9845, 0xfec0e15d, \ 0x2f7502c3, 0x4cf01281, 0x4697a38d, 0xd3f9c66b, \ 0x8f5fe703, 0x929c9515, 0x6d7aebbf, 0x5259da95, \ 0xbe832dd4, 0x7421d358, 0xe0692949, 0xc9c8448e, \ 0xc2896a75, 0x8e7978f4, 0x583e6b99, 0xb971dd27, \ 0xe14fb6be, 0x88ad17f0, 0x20ac66c9, 0xce3ab47d, \ 0xdf4a1863, 0x1a3182e5, 0x51336097, 0x537f4562, \ 0x6477e0b1, 0x6bae84bb, 0x81a01cfe, 0x082b94f9, \ 0x48685870, 0x45fd198f, 0xde6c8794, 0x7bf8b752, \ 0x73d323ab, 0x4b02e272, 0x1f8f57e3, 0x55ab2a66, \ 0xeb2807b2, 0xb5c2032f, 0xc57b9a86, 0x3708a5d3, \ 0x2887f230, 0xbfa5b223, 0x036aba02, 0x16825ced, \ 0xcf1c2b8a, 0x79b492a7, 0x07f2f0f3, 0x69e2a14e, \ 0xdaf4cd65, 0x05bed506, 0x34621fd1, 0xa6fe8ac4, \ 0x2e539d34, 0xf355a0a2, 0x8ae13205, 0xf6eb75a4, \ 0x83ec390b, 0x60efaa40, 0x719f065e, 0x6e1051bd, \ 0x218af93e, 0xdd063d96, 0x3e05aedd, 0xe6bd464d, \ 0x548db591, 0xc45d0571, 0x06d46f04, 0x5015ff60, \ 0x98fb2419, 0xbde997d6, 0x4043cc89, 0xd99e7767, \ 0xe842bdb0, 0x898b8807, 0x195b38e7, 0xc8eedb79, \ 0x7c0a47a1, 0x420fe97c, 0x841ec9f8, 0x00000000, \ 0x80868309, 0x2bed4832, 0x1170ac1e, 0x5a724e6c, \ 0x0efffbfd, 0x8538560f, 0xaed51e3d, 0x2d392736, \ 0x0fd9640a, 0x5ca62168, 0x5b54d19b, 0x362e3a24, \ 0x0a67b10c, 0x57e70f93, 0xee96d2b4, 0x9b919e1b, \ 0xc0c54f80, 0xdc20a261, 0x774b695a, 0x121a161c, \ 0x93ba0ae2, 0xa02ae5c0, 0x22e0433c, 0x1b171d12, \ 0x090d0b0e, 0x8bc7adf2, 0xb6a8b92d, 0x1ea9c814, \ 0xf1198557, 0x75074caf, 0x99ddbbee, 0x7f60fda3, \ 0x01269ff7, 0x72f5bc5c, 0x663bc544, 0xfb7e345b, \ 0x4329768b, 0x23c6dccb, 0xedfc68b6, 0xe4f163b8, \ 0x31dccad7, 0x63851042, 0x97224013, 0xc6112084, \ 0x4a247d85, 0xbb3df8d2, 0xf93211ae, 0x29a16dc7, \ 0x9e2f4b1d, 0xb230f3dc, 0x8652ec0d, 0xc1e3d077, \ 0xb3166c2b, 0x70b999a9, 0x9448fa11, 0xe9642247, \ 0xfc8cc4a8, 0xf03f1aa0, 0x7d2cd856, 0x3390ef22, \ 0x494ec787, 0x38d1c1d9, 0xcaa2fe8c, 0xd40b3698, \ 0xf581cfa6, 0x7ade28a5, 0xb78e26da, 0xadbfa43f, \ 0x3a9de42c, 0x78920d50, 0x5fcc9b6a, 0x7e466254, \ 0x8d13c2f6, 0xd8b8e890, 0x39f75e2e, 0xc3aff582, \ 0x5d80be9f, 0xd0937c69, 0xd52da96f, 0x2512b3cf, \ 0xac993bc8, 0x187da710, 0x9c636ee8, 0x3bbb7bdb, \ 0x267809cd, 0x5918f46e, 0x9ab701ec, 0x4f9aa883, \ 0x956e65e6, 0xffe67eaa, 0xbccf0821, 0x15e8e6ef, \ 0xe79bd9ba, 0x6f36ce4a, 0x9f09d4ea, 0xb07cd629, \ 0xa4b2af31, 0x3f23312a, 0xa59430c6, 0xa266c035, \ 0x4ebc3774, 0x82caa6fc, 0x90d0b0e0, 0xa7d81533, \ 0x04984af1, 0xecdaf741, 0xcd500e7f, 0x91f62f17, \ 0x4dd68d76, 0xefb04d43, 0xaa4d54cc, 0x9604dfe4, \ 0xd1b5e39e, 0x6a881b4c, 0x2c1fb8c1, 0x65517f46, \ 0x5eea049d, 0x8c355d01, 0x877473fa, 0x0b412efb, \ 0x671d5ab3, 0xdbd25292, 0x105633e9, 0xd647136d, \ 0xd7618c9a, 0xa10c7a37, 0xf8148e59, 0x133c89eb, \ 0xa927eece, 0x61c935b7, 0x1ce5ede1, 0x47b13c7a, \ 0xd2df599c, 0xf2733f55, 0x14ce7918, 0xc737bf73, \ 0xf7cdea53, 0xfdaa5b5f, 0x3d6f14df, 0x44db8678, \ 0xaff381ca, 0x68c43eb9, 0x24342c38, 0xa3405fc2, \ 0x1dc37216, 0xe2250cbc, 0x3c498b28, 0x0d9541ff, \ 0xa8017139, 0x0cb3de08, 0xb4e49cd8, 0x56c19064, \ 0xcb84617b, 0x32b670d5, 0x6c5c7448, 0xb85742d0 Td4 db \ 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, \ 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, \ 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, \ 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, \ 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, \ 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, \ 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, \ 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, \ 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, \ 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, \ 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, \ 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, \ 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, \ 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, \ 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, \ 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, \ 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, \ 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, \ 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, \ 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, \ 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, \ 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, \ 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, \ 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, \ 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, \ 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, \ 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, \ 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, \ 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, \ 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, \ 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, \ 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d rcon dd \ 0x01000000, 0x02000000, 0x04000000, 0x08000000, 0x10000000, \ 0x20000000, 0x40000000, 0x80000000, 0x1B000000, 0x36000000 endg