Merge pull request #526 from adriadam10/test/scalar-sop1

fix(shader): s_wqm SCC and s_andn{1,2}_wrexec destination, SOP1/SOPC/SOPK execution test
This commit is contained in:
Dean 2026-10-05 21:35:11 +13:00 committed by GitHub
commit e3e1dfae16
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 291 additions and 11 deletions

View File

@ -0,0 +1,274 @@
#include "prx/libSceAgcDriver/Execution/include/VulkanDevice.hpp"
#include "prx/libSceAgcDriver/Graphics/include/Draw.hpp"
#include "Recompiler.hpp"
#include "VulkanTestDevice.hpp"
#include <algorithm>
#include <array>
#include <bit>
#include <cmath>
#include <cstdint>
#include <cstdio>
#include <iostream>
#include <string>
#include <vector>
namespace {
using AgcDriver::Graphics::Require;
using ShaderRecompiler::ShaderStage;
constexpr std::uint32_t Threads = 32;
constexpr std::uint32_t Inputs = 4;
constexpr std::uint32_t Results = 176;
alignas(256) std::array<std::uint32_t, Threads * Inputs> Input{};
alignas(256) std::array<std::uint32_t, Threads * Results> Output{};
alignas(256) constexpr std::array<std::uint32_t, 872> Code{
0x34020084, 0x160600ff, 0x000002c0, 0xe0381000, 0x80000401, 0xbf8c3f70, 0xbe940380, 0xd7600008,
0x02002904, 0xd7600009, 0x02002905, 0xd760000a, 0x02002906, 0xd760000b, 0x02002907, 0xbe9e0380,
0xbf060b0b, 0xbe8c0408, 0x821e1e1e, 0xd761000a, 0x0200280c, 0xd761000b, 0x0200280d, 0xbe8c040a,
0xbe8e0408, 0x871f810b, 0xbe8c0508, 0x821e1e1e, 0xd761000c, 0x0200280c, 0xbe8c040a, 0xbe8e0408,
0x871f810b, 0xbe8c0608, 0x821e1e1e, 0xd761000d, 0x0200280c, 0xd761000e, 0x0200280d, 0xbe8c0708,
0x821e1e1e, 0xd761000f, 0x0200280c, 0xbe8c0808, 0x821e1e1e, 0xd7610010, 0x0200280c, 0xd7610011,
0x0200280d, 0xbe8c0908, 0x821e1e1e, 0xd7610012, 0x0200280c, 0xbe8c0a08, 0x821e1e1e, 0xd7610013,
0x0200280c, 0xd7610014, 0x0200280d, 0xbf060b0b, 0xbe8c0b08, 0x821e1e1e, 0xd7610015, 0x0200280c,
0xbf060b0b, 0xbe8c0c08, 0x821e1e1e, 0xd7610016, 0x0200280c, 0xd7610017, 0x0200280d, 0xbe8c0d08,
0x821e1e1e, 0xd7610018, 0x0200280c, 0xd7610019, 0x0200281e, 0x80148114, 0xbf0aa014, 0xbf85ffb7,
0xe0781000, 0x80010a03, 0xe0781010, 0x80010e03, 0xe0781020, 0x80011203, 0xe0781030, 0x80011603,
0xbe940380, 0xd7600008, 0x02002904, 0xd7600009, 0x02002905, 0xd760000a, 0x02002906, 0xd760000b,
0x02002907, 0xbe9e0380, 0xbe8c0e08, 0x821e1e1e, 0xd761000a, 0x0200280c, 0xbe8c0f08, 0x821e1e1e,
0xd761000b, 0x0200280c, 0xbe8c1008, 0x821e1e1e, 0xd761000c, 0x0200280c, 0xbf060b0b, 0xbe8c1108,
0x821e1e1e, 0xd761000d, 0x0200280c, 0xbf060b0b, 0xbe8c1208, 0x821e1e1e, 0xd761000e, 0x0200280c,
0xbf060b0b, 0xbe8c1308, 0x821e1e1e, 0xd761000f, 0x0200280c, 0xbf060b0b, 0xbe8c1408, 0x821e1e1e,
0xd7610010, 0x0200280c, 0xbf060b0b, 0xbe8c1508, 0x821e1e1e, 0xd7610011, 0x0200280c, 0xbf060b0b,
0xbe8c1608, 0x821e1e1e, 0xd7610012, 0x0200280c, 0xbf060b0b, 0xbe8c1708, 0x821e1e1e, 0xd7610013,
0x0200280c, 0xbf060b0b, 0xbe8c1808, 0x821e1e1e, 0xd7610014, 0x0200280c, 0xbf060b0b, 0xbe8c1908,
0x821e1e1e, 0xd7610015, 0x0200280c, 0xbf060b0b, 0xbe8c1a08, 0x821e1e1e, 0xd7610016, 0x0200280c,
0xbe8c040a, 0xbe8e0408, 0xbf060b0b, 0xbe8c1b0a, 0x821e1e1e, 0xd7610017, 0x0200280c, 0xbe8c040a,
0xbe8e0408, 0xbf060b0b, 0xbe8c1d0a, 0x821e1e1e, 0xd7610018, 0x0200280c, 0xd7610019, 0x0200281e,
0x80148114, 0xbf0aa014, 0xbf85ffa6, 0xe0781040, 0x80010a03, 0xe0781050, 0x80010e03, 0xe0781060,
0x80011203, 0xe0781070, 0x80011603, 0xbe940380, 0xd7600008, 0x02002904, 0xd7600009, 0x02002905,
0xd760000a, 0x02002906, 0xd760000b, 0x02002907, 0xbe9e0380, 0xbe8c040a, 0xbe8e0408, 0xbf060b0b,
0xbe8c1c0a, 0x821e1e1e, 0xd761000a, 0x0200280c, 0xd761000b, 0x0200280d, 0xbe8c040a, 0xbe8e0408,
0xbf060b0b, 0xbe8c1e0a, 0x821e1e1e, 0xd761000c, 0x0200280c, 0xd761000d, 0x0200280d, 0xbe8c2c08,
0x821e1e1e, 0xd761000e, 0x0200280c, 0xbe8c2d08, 0x821e1e1e, 0xd761000f, 0x0200280c, 0xd7610010,
0x0200280d, 0xbe8c3408, 0x821e1e1e, 0xd7610011, 0x0200280c, 0xbf060b0b, 0xbe8c3b08, 0x821e1e1e,
0xd7610012, 0x0200280c, 0xd7610013, 0x0200280d, 0x877c830a, 0xbf060b0b, 0xbe8c2e08, 0x821e1e1e,
0xd7610014, 0x0200280c, 0x877c820a, 0xbf060b0b, 0xbe8c2f08, 0x821e1e1e, 0xd7610015, 0x0200280c,
0xd7610016, 0x0200280d, 0xd7610019, 0x0200281e, 0x80148114, 0xbf0aa014, 0xbf85ffbd, 0xe0781080,
0x80010a03, 0xe0781090, 0x80010e03, 0xe07810a0, 0x80011203, 0xe07810b0, 0x80011603, 0xbe940380,
0xd7600008, 0x02002904, 0xd7600009, 0x02002905, 0xd760000a, 0x02002906, 0xd760000b, 0x02002907,
0xbe9e0380, 0xbe8c040a, 0xbe8e0408, 0x877c830a, 0xbf060b0b, 0xbe8c3008, 0x821e1e1e, 0xd761000a,
0x0200280c, 0xd761000b, 0x0200280d, 0xd761000c, 0x0200280e, 0xd761000d, 0x0200280f, 0xbe8c040a,
0xbe8e0408, 0x877c820a, 0xbf060b0b, 0xbe8c3108, 0x821e1e1e, 0xd761000e, 0x0200280c, 0xd761000f,
0x0200280d, 0xd7610010, 0x0200280e, 0xd7610011, 0x0200280f, 0xbe8c040a, 0xbe8e0408, 0x877cff0a,
0x00030003, 0xbf060b0b, 0xbe8c4908, 0x821e1e1e, 0xd7610012, 0x0200280c, 0xd7610013, 0x0200280d,
0xd7610014, 0x0200280e, 0xd7610015, 0x0200280f, 0xbefe0309, 0xbe8c3c08, 0xbe8d037e, 0xbefe03c1,
0x821e1e1e, 0xd7610016, 0x0200280c, 0xd7610017, 0x0200280d, 0xd7610019, 0x0200281e, 0x80148114,
0xbf0aa014, 0xbf85ffbe, 0xe07810c0, 0x80010a03, 0xe07810d0, 0x80010e03, 0xe07810e0, 0x80011203,
0xe07810f0, 0x80011603, 0xbe940380, 0xd7600008, 0x02002904, 0xd7600009, 0x02002905, 0xd760000a,
0x02002906, 0xd760000b, 0x02002907, 0xbe9e0380, 0xbefe0309, 0xbe8c3d08, 0xbe8d037e, 0xbefe03c1,
0x821e1e1e, 0xd761000a, 0x0200280c, 0xd761000b, 0x0200280d, 0xbefe0309, 0xbe8c3e08, 0xbe8d037e,
0xbefe03c1, 0x821e1e1e, 0xd761000c, 0x0200280c, 0xd761000d, 0x0200280d, 0xbefe0309, 0xbe8c3f08,
0xbe8d037e, 0xbefe03c1, 0x821e1e1e, 0xd761000e, 0x0200280c, 0xd761000f, 0x0200280d, 0xbefe0309,
0xbe8c4008, 0xbe8d037e, 0xbefe03c1, 0x821e1e1e, 0xd7610010, 0x0200280c, 0xd7610011, 0x0200280d,
0xbefe0309, 0xbe8c4108, 0xbe8d037e, 0xbefe03c1, 0x821e1e1e, 0xd7610012, 0x0200280c, 0xd7610013,
0x0200280d, 0xbefe0309, 0xbe8c4208, 0xbe8d037e, 0xbefe03c1, 0x821e1e1e, 0xd7610014, 0x0200280c,
0xd7610015, 0x0200280d, 0xbefe0309, 0xbe8c4308, 0xbe8d037e, 0xbefe03c1, 0x821e1e1e, 0xd7610016,
0x0200280c, 0xd7610017, 0x0200280d, 0xd7610019, 0x0200281e, 0x80148114, 0xbf0aa014, 0xbf85ffb3,
0xe0781100, 0x80010a03, 0xe0781110, 0x80010e03, 0xe0781120, 0x80011203, 0xe0781130, 0x80011603,
0xbe940380, 0xd7600008, 0x02002904, 0xd7600009, 0x02002905, 0xd760000a, 0x02002906, 0xd760000b,
0x02002907, 0xbe9e0380, 0xbefe0309, 0xbe8c4408, 0xbe8d037e, 0xbefe03c1, 0x821e1e1e, 0xd761000a,
0x0200280c, 0xd761000b, 0x0200280d, 0xbefe0309, 0xbe8c4508, 0xbe8d037e, 0xbefe03c1, 0x821e1e1e,
0xd761000c, 0x0200280c, 0xd761000d, 0x0200280d, 0xbefe0309, 0xbe8c4608, 0xbe8d037e, 0xbefe03c1,
0x821e1e1e, 0xd761000e, 0x0200280c, 0xd761000f, 0x0200280d, 0xbefe0309, 0xbe8c4708, 0xbe8d037e,
0xbefe03c1, 0x821e1e1e, 0xd7610010, 0x0200280c, 0xd7610011, 0x0200280d, 0xbefe030a, 0xbeff030b,
0xbe8c2408, 0xbe8e037e, 0xbe8f037f, 0xbefe03c1, 0xbeff0380, 0x821e1e1e, 0xd7610012, 0x0200280c,
0xd7610013, 0x0200280d, 0xd7610014, 0x0200280e, 0xd7610015, 0x0200280f, 0xd7610019, 0x0200281e,
0x80148114, 0xbf0aa014, 0xbf85ffbe, 0xe0781140, 0x80010a03, 0xe0781150, 0x80010e03, 0xe0781160,
0x80011203, 0xe0781170, 0x80011603, 0xbe940380, 0xd7600008, 0x02002904, 0xd7600009, 0x02002905,
0xd760000a, 0x02002906, 0xd760000b, 0x02002907, 0xbe9e0380, 0xbefe030a, 0xbeff030b, 0xbe8c2508,
0xbe8e037e, 0xbe8f037f, 0xbefe03c1, 0xbeff0380, 0x821e1e1e, 0xd761000a, 0x0200280c, 0xd761000b,
0x0200280d, 0xd761000c, 0x0200280e, 0xd761000d, 0x0200280f, 0xbefe030a, 0xbeff030b, 0xbe8c2608,
0xbe8e037e, 0xbe8f037f, 0xbefe03c1, 0xbeff0380, 0x821e1e1e, 0xd761000e, 0x0200280c, 0xd761000f,
0x0200280d, 0xd7610010, 0x0200280e, 0xd7610011, 0x0200280f, 0xbefe030a, 0xbeff030b, 0xbe8c2708,
0xbe8e037e, 0xbe8f037f, 0xbefe03c1, 0xbeff0380, 0x821e1e1e, 0xd7610012, 0x0200280c, 0xd7610013,
0x0200280d, 0xd7610014, 0x0200280e, 0xd7610015, 0x0200280f, 0xd7610019, 0x0200281e, 0x80148114,
0xbf0aa014, 0xbf85ffc2, 0xe0781180, 0x80010a03, 0xe0781190, 0x80010e03, 0xe07811a0, 0x80011203,
0xe07811b0, 0x80011603, 0xbe940380, 0xd7600008, 0x02002904, 0xd7600009, 0x02002905, 0xd760000a,
0x02002906, 0xd760000b, 0x02002907, 0xbe9e0380, 0xbefe030a, 0xbeff030b, 0xbe8c2808, 0xbe8e037e,
0xbe8f037f, 0xbefe03c1, 0xbeff0380, 0x821e1e1e, 0xd761000a, 0x0200280c, 0xd761000b, 0x0200280d,
0xd761000c, 0x0200280e, 0xd761000d, 0x0200280f, 0xbefe030a, 0xbeff030b, 0xbe8c2908, 0xbe8e037e,
0xbe8f037f, 0xbefe03c1, 0xbeff0380, 0x821e1e1e, 0xd761000e, 0x0200280c, 0xd761000f, 0x0200280d,
0xd7610010, 0x0200280e, 0xd7610011, 0x0200280f, 0xbefe030a, 0xbeff030b, 0xbe8c2a08, 0xbe8e037e,
0xbe8f037f, 0xbefe03c1, 0xbeff0380, 0x821e1e1e, 0xd7610012, 0x0200280c, 0xd7610013, 0x0200280d,
0xd7610014, 0x0200280e, 0xd7610015, 0x0200280f, 0xd7610019, 0x0200281e, 0x80148114, 0xbf0aa014,
0xbf85ffc2, 0xe07811c0, 0x80010a03, 0xe07811d0, 0x80010e03, 0xe07811e0, 0x80011203, 0xe07811f0,
0x80011603, 0xbe940380, 0xd7600008, 0x02002904, 0xd7600009, 0x02002905, 0xd760000a, 0x02002906,
0xd760000b, 0x02002907, 0xbe9e0380, 0xbefe030a, 0xbeff030b, 0xbe8c2b08, 0xbe8e037e, 0xbe8f037f,
0xbefe03c1, 0xbeff0380, 0x821e1e1e, 0xd761000a, 0x0200280c, 0xd761000b, 0x0200280d, 0xd761000c,
0x0200280e, 0xd761000d, 0x0200280f, 0xbefe030a, 0xbeff030b, 0xbe8c3708, 0xbe8e037e, 0xbe8f037f,
0xbefe03c1, 0xbeff0380, 0x821e1e1e, 0xd761000e, 0x0200280c, 0xd761000f, 0x0200280d, 0xd7610010,
0x0200280e, 0xd7610011, 0x0200280f, 0xbefe030a, 0xbeff030b, 0xbe8c3808, 0xbe8e037e, 0xbe8f037f,
0xbefe03c1, 0xbeff0380, 0x821e1e1e, 0xd7610012, 0x0200280c, 0xd7610013, 0x0200280d, 0xd7610014,
0x0200280e, 0xd7610015, 0x0200280f, 0xd7610019, 0x0200281e, 0x80148114, 0xbf0aa014, 0xbf85ffc2,
0xe0781200, 0x80010a03, 0xe0781210, 0x80010e03, 0xe0781220, 0x80011203, 0xe0781230, 0x80011603,
0xbe940380, 0xd7600008, 0x02002904, 0xd7600009, 0x02002905, 0xd760000a, 0x02002906, 0xd760000b,
0x02002907, 0xbe9e0380, 0xbefe030a, 0xbeff030b, 0xbe8c3908, 0xbe8e037e, 0xbe8f037f, 0xbefe03c1,
0xbeff0380, 0x821e1e1e, 0xd761000a, 0x0200280c, 0xd761000b, 0x0200280d, 0xd761000c, 0x0200280e,
0xd761000d, 0x0200280f, 0xbefe030a, 0xbeff030b, 0xbe8c3a08, 0xbe8e037e, 0xbe8f037f, 0xbefe03c1,
0xbeff0380, 0x821e1e1e, 0xd761000e, 0x0200280c, 0xd761000f, 0x0200280d, 0xd7610010, 0x0200280e,
0xd7610011, 0x0200280f, 0xbf000a08, 0x821e1e1e, 0xbf010a08, 0x821e1e1e, 0xbf020a08, 0x821e1e1e,
0xbf030a08, 0x821e1e1e, 0xbf040a08, 0x821e1e1e, 0xbf050a08, 0x821e1e1e, 0xbf060a08, 0x821e1e1e,
0xbf070a08, 0x821e1e1e, 0xbf080a08, 0x821e1e1e, 0xbf090a08, 0x821e1e1e, 0xbf0a0a08, 0x821e1e1e,
0xbf0b0a08, 0x821e1e1e, 0xbf120a08, 0x821e1e1e, 0xbf130a08, 0x821e1e1e, 0xbf0c0a08, 0x821e1e1e,
0xbf0d0a08, 0x821e1e1e, 0xbf0e0a08, 0x821e1e1e, 0xbf0f0a08, 0x821e1e1e, 0xb1888000, 0x821e1e1e,
0xb2087fff, 0x821e1e1e, 0xb288ffff, 0x821e1e1e, 0xb3080000, 0x821e1e1e, 0xb3888000, 0x821e1e1e,
0xb4080001, 0x821e1e1e, 0xb4888000, 0x821e1e1e, 0xb508ffff, 0x821e1e1e, 0xb5888000, 0x821e1e1e,
0xb608ffff, 0x821e1e1e, 0xb6887fff, 0x821e1e1e, 0xd7610019, 0x0200281e, 0x80148114, 0xbf0aa014,
0xbf85ff98, 0xe0781240, 0x80010a03, 0xe0781250, 0x80010e03, 0xe0781260, 0x80011203, 0xe0781270,
0x80011603, 0xbe940380, 0xd7600008, 0x02002904, 0xd7600009, 0x02002905, 0xd760000a, 0x02002906,
0xd760000b, 0x02002907, 0xbe9e0380, 0xb708ffff, 0x821e1e1e, 0xbf060b0b, 0xb00c8001, 0x821e1e1e,
0xd761000a, 0x0200280c, 0xbe8c0308, 0xb78c8000, 0x821e1e1e, 0xd761000b, 0x0200280c, 0xbe8c0308,
0xb78c7fff, 0x821e1e1e, 0xd761000c, 0x0200280c, 0xbe8c0308, 0xbf060b0b, 0xb80cfffd, 0x821e1e1e,
0xd761000d, 0x0200280c, 0xd7610019, 0x0200281e, 0x80148114, 0xbf0aa014, 0xbf85ffdb, 0xe0781280,
0x80010a03, 0xe0781290, 0x80010e03, 0xe07812a0, 0x80011203, 0xe07812b0, 0x80011603, 0xbf810000,
};
constexpr std::uint32_t Rows[32][4] = {
{0xffff8001u, 0x0000003fu, 0x00000040u, 0xffffffffu},
{0x00000000u, 0x00000000u, 0x00010000u, 0x00000001u},
{0xffffffffu, 0xffffffffu, 0xffff8001u, 0x12345678u},
{0x00007fffu, 0xd4cbd76du, 0x00007fffu, 0xd4cbd76du},
{0x80000000u, 0x2bf2354eu, 0xcb2e075eu, 0x9abcdef0u},
{0xffff8000u, 0x00007fffu, 0x74d6d11fu, 0x55555555u},
{0x00008000u, 0x9628ee8du, 0x00000000u, 0xffffffffu},
{0x0000ffffu, 0x831ef5c3u, 0x0f0f0f0fu, 0x00f000f0u},
{0x00000020u, 0x00000003u, 0x7fffffffu, 0x00000003u},
{0x00f000f0u, 0x80000000u, 0x00000003u, 0x1fb17c23u},
{0x00000003u, 0x11111111u, 0x00010000u, 0x0000001fu},
{0x12345678u, 0x7731af10u, 0x40000000u, 0x00008000u},
{0xffff8001u, 0x00010003u, 0xffff8001u, 0x12bd4aceu},
{0x26e87555u, 0x6bf46c69u, 0xffffffffu, 0x92b1d3f2u},
{0x00020001u, 0x40000000u, 0x80000000u, 0x40000000u},
{0x4f426dcbu, 0xfe3b890bu, 0x72158370u, 0xf0f0f0f0u},
{0x5affb229u, 0xfffffffeu, 0x0000ffffu, 0x211c70cfu},
{0x7f1b103cu, 0x9abcdef0u, 0x00007fffu, 0xd1bc52d9u},
{0xfc891b4au, 0xf0f0f0f0u, 0x26a2c0bdu, 0x00000020u},
{0x0000003fu, 0x00000000u, 0x0f0f0f0fu, 0x519088f5u},
{0x00000003u, 0x11111111u, 0x00000003u, 0x11111111u},
{0x00000021u, 0x00000003u, 0x00000020u, 0x00000003u},
{0xf0f0f0f0u, 0xffff8000u, 0xf0f0f0f0u, 0xfffffffeu},
{0x7afb2c68u, 0x80000000u, 0x00010003u, 0x7a86f7a2u},
{0xaaaaaaaau, 0x00000001u, 0xaaaaaaaau, 0xdd02de92u},
{0x00000021u, 0x00010000u, 0x55555555u, 0x00010000u},
{0x31f51707u, 0xd17e4497u, 0x00010000u, 0xd17e4497u},
{0x00007fffu, 0x00000040u, 0xf4de2c08u, 0x00020001u},
{0x00010000u, 0x00010003u, 0x00000000u, 0x00010003u},
{0xe8e72789u, 0x00000040u, 0xe8e72789u, 0x00010003u},
{0x7691b06fu, 0x80000000u, 0x2b855c1fu, 0x070d7109u},
{0x256badf9u, 0x988af3fbu, 0xa842bc19u, 0x27e9e06fu}
};
constexpr std::uint32_t Expected[32][176] = {
{0xffff8001u, 0x0000003fu, 0xffff8001u, 0xffff8001u, 0x0000003fu, 0x00007ffeu, 0x00007ffeu, 0xffffffc0u, 0xfffff00fu, 0xfffff00fu, 0x000000ffu, 0x8001ffffu, 0xfc000000u, 0x8001ffffu, 0x0000000eu, 0x000003ffu, 0x00000028u, 0x00000012u, 0x00000018u, 0x00000001u, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001au, 0x00000011u, 0x0000001au, 0x00000001u, 0xffff8001u, 0x00000040u, 0x00000041u, 0x00007fffu, 0x00000040u, 0xffffffffu, 0x00000041u, 0xffffffffu, 0x000000f9u, 0x000003f9u, 0x00000000u, 0x00007fffu, 0xc0000003u, 0xffffffffu, 0xffff8001u, 0xffff8001u, 0x0000003fu, 0x00000000u, 0x00000000u, 0x000000ffu, 0xffff8001u, 0xffffffffu, 0xffff8001u, 0x0000003fu, 0xffff8001u, 0x0000003fu, 0xffff8001u, 0x0000003fu, 0xffff8001u, 0xffffffffu, 0xffff8001u, 0x0000003fu, 0x0000003fu, 0x00000001u, 0x00000000u, 0x0000000fu, 0x0000003fu, 0xffff803fu, 0x0000003fu, 0xffff803eu, 0x0000003fu, 0xffff8000u, 0x0000003fu, 0xffffffc1u, 0x0000003fu, 0xfffffffeu, 0x0000003fu, 0x00007fc0u, 0x0000003fu, 0x00007fc1u, 0x00000000u, 0x0000007fu, 0x0000003fu, 0x0000003eu, 0x0000003fu, 0x00007fffu, 0x0000003eu, 0x0000003eu, 0xffff8000u, 0xffff8000u, 0x00000040u, 0xffffffffu, 0x00000000u, 0x0000003fu, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x00000040u, 0xffffffffu, 0xffff8041u, 0xffffffffu, 0x00000040u, 0xffffffffu, 0xffff8041u, 0xffffffc0u, 0x00000040u, 0xffffffffu, 0xffff8001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000040u, 0xffffffffu, 0xffffffbfu, 0x0000003fu, 0x00000040u, 0xffffffffu, 0xffffffffu, 0xffffffc0u, 0x00000040u, 0xffffffffu, 0x00007fbeu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000040u, 0xffffffffu, 0x00007fbeu, 0x0000003fu, 0x00000040u, 0xffffffffu, 0x00000040u, 0xffffffc0u, 0x00000040u, 0xffffffffu, 0x00007ffeu, 0xffffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000040u, 0xffffffc0u, 0x00000040u, 0xffffffc0u, 0xffff8001u, 0x00000000u, 0xffff8001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x69b8aa2eu, 0xffff8001u, 0xffff0001u, 0x00000000u, 0x00017ffdu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000020u, 0x000003e7u, 0x00000040u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0x00000000u, 0x00000000u, 0x00010000u, 0x00010001u, 0x00004fffu, 0x00010000u, 0x00000001u, 0x00010001u, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x000000c7u, 0x00000000u, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00010000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000000eu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0xffffffffu, 0x00000000u, 0xffffffffu, 0x00000000u, 0xffffffffu, 0x00000000u, 0xffffffffu, 0x00000000u, 0x0000000fu, 0x00000000u, 0x00000000u, 0x00000000u, 0xffffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00010000u, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000008u, 0x00010000u, 0x00000001u, 0x00010000u, 0x00000001u, 0x00010000u, 0x00000001u, 0x00010000u, 0x00000001u, 0x00010000u, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000006u, 0x00010000u, 0x00000001u, 0xfffeffffu, 0xfffffffeu, 0x00010000u, 0x00000001u, 0xffffffffu, 0xffffffffu, 0x00010000u, 0x00000001u, 0xfffeffffu, 0xfffffffeu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00010000u, 0x00000001u, 0xfffeffffu, 0xfffffffeu, 0x00010000u, 0x00000001u, 0x00010000u, 0x00000001u, 0x00010000u, 0x00000001u, 0xffffffffu, 0xffffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00010000u, 0x00000001u, 0x00010000u, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x49a6d3a9u, 0xffff8001u, 0xffff8000u, 0x00007fffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000019u},
{0xffffffffu, 0xffffffffu, 0xffff8001u, 0xffff8001u, 0x12345678u, 0x00000000u, 0x00000000u, 0x00000000u, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0x00000000u, 0x0000021eu, 0x00000000u, 0x00000020u, 0x00000040u, 0xffffffffu, 0xffffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0xffff8001u, 0xffff8003u, 0x00003fffu, 0xffff8001u, 0x12345678u, 0xffff8003u, 0x12345678u, 0x000000ffu, 0x0000ffffu, 0x00000000u, 0x00000001u, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0x00000000u, 0x00000000u, 0x000000ffu, 0xffff8001u, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0xffff8001u, 0x12345678u, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0x00000000u, 0x0000000fu, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0x00000000u, 0xffffffffu, 0x00000000u, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0x00000000u, 0xffffffffu, 0x00000000u, 0xffffffffu, 0xffffffffu, 0x00000000u, 0x00000049u, 0xffffffffu, 0x00000000u, 0xffffffffu, 0xffffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0xffff8001u, 0x12345678u, 0xffff8001u, 0x12345678u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u, 0xffff8001u, 0x12345678u, 0xffffffffu, 0xffffffffu, 0xffff8001u, 0x12345678u, 0x00007ffeu, 0xedcba987u, 0xffff8001u, 0x12345678u, 0x00007ffeu, 0xedcba987u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0xffff8001u, 0x12345678u, 0xffffffffu, 0xffffffffu, 0xffff8001u, 0x12345678u, 0x00007ffeu, 0xedcba987u, 0xffff8001u, 0x12345678u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000006u, 0xffff8001u, 0x12345678u, 0xffff8001u, 0x12345678u, 0xffff8001u, 0x12345678u, 0x00000000u, 0x00000000u, 0xffff8001u, 0x12345678u, 0xffff8001u, 0x12345678u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000005u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00007ffeu, 0xedcba987u, 0x00007ffeu, 0xedcba987u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x2e38aa2eu, 0xffff8001u, 0xffff7fffu, 0x00007ffeu, 0x00000003u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0x00007fffu, 0xd4cbd76du, 0x00007fffu, 0x00007fffu, 0xd4cbd76du, 0xffff8000u, 0xffff8000u, 0x2b342892u, 0x0000ffffu, 0x0000ffffu, 0xffffffffu, 0xfffe0000u, 0xb6ebd32bu, 0xfffe0000u, 0x00000011u, 0x000003ffu, 0x0000001du, 0x0000000fu, 0x00000023u, 0x0000000fu, 0x0000000fu, 0x00000000u, 0x00000000u, 0x00000011u, 0x00000000u, 0x00000011u, 0x00000002u, 0xffffffffu, 0x00007fffu, 0x00007fffu, 0x80007fffu, 0x00007fffu, 0x00007fffu, 0x54cbd76du, 0x00007fffu, 0xd4cbd76du, 0x0000000fu, 0x0000ff0fu, 0x00000000u, 0x00007fffu, 0x3fffffffu, 0x00000000u, 0xd4cbd76du, 0x00007fffu, 0xd4cbd76du, 0x00000000u, 0x00000000u, 0x000000ffu, 0x00007fffu, 0xd4cbd76du, 0x00007fffu, 0x00007fffu, 0x00007fffu, 0xd4cbd76du, 0x00007fffu, 0xd4cbd76du, 0xd4cbd76du, 0xd4cbd76du, 0x00007fffu, 0xd4cbd76du, 0xd4cbd76du, 0x0000576du, 0x00000000u, 0x0000000fu, 0xd4cbd76du, 0xd4cbffffu, 0xd4cbd76du, 0xd4cba892u, 0xd4cbd76du, 0x00002892u, 0xd4cbd76du, 0x2b347fffu, 0xd4cbd76du, 0xffffa892u, 0xd4cbd76du, 0x2b340000u, 0xd4cbd76du, 0x2b34576du, 0x00000000u, 0x0000007fu, 0xd4cbd76du, 0xd4cb8000u, 0xd4cbd76du, 0xffffd76du, 0xd4cb8000u, 0xd4cb8000u, 0x00002892u, 0x00002892u, 0x00007fffu, 0xd4cbd76du, 0x00007fffu, 0xd4cbd76du, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x00007fffu, 0xd4cbd76du, 0x00007fffu, 0xd4cbd76du, 0x00007fffu, 0xd4cbd76du, 0x00000000u, 0x00000000u, 0x00007fffu, 0xd4cbd76du, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000004u, 0x00007fffu, 0xd4cbd76du, 0xffffffffu, 0xffffffffu, 0x00007fffu, 0xd4cbd76du, 0xffff8000u, 0x2b342892u, 0x00007fffu, 0xd4cbd76du, 0xffff8000u, 0x2b342892u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00007fffu, 0xd4cbd76du, 0xffffffffu, 0xffffffffu, 0x00007fffu, 0xd4cbd76du, 0x00000000u, 0x00000000u, 0x00007fffu, 0xd4cbd76du, 0xffffffffu, 0xffffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000005u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x12cb4988u, 0xffff8001u, 0xffffffffu, 0x0000fffeu, 0xfffe8003u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000019u},
{0x80000000u, 0x2bf2354eu, 0xcb2e075eu, 0xcb2e075eu, 0x9abcdef0u, 0x7fffffffu, 0x7fffffffu, 0xd40dcab1u, 0xf0000000u, 0xf0000000u, 0xffffffffu, 0x00000001u, 0x72ac4fd4u, 0x00000001u, 0x0000001fu, 0x0000027fu, 0x0000002eu, 0x00000001u, 0x00000012u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x0000001fu, 0x00000000u, 0x00000002u, 0x00000001u, 0x00000002u, 0x00000000u, 0x00000000u, 0x8b2e075eu, 0xcb2e075eu, 0x00007fffu, 0x8b2e075eu, 0x9abcdef0u, 0xcb2e075eu, 0x9abcdef0u, 0x00000080u, 0x0000ff80u, 0x00000000u, 0x80000000u, 0x00000000u, 0xc0000000u, 0xcb2e075eu, 0xcb2e075eu, 0x9abcdef0u, 0x00000000u, 0x00000000u, 0x000000ffu, 0xcb2e075eu, 0x9abcdef0u, 0x80000000u, 0x2bf2354eu, 0xcb2e075eu, 0x9abcdef0u, 0x80000000u, 0x2bf2354eu, 0xcb2e075eu, 0x9abcdef0u, 0xcb2e075eu, 0x2bf2354eu, 0x2bf2354eu, 0x00000000u, 0x00000000u, 0x0000000eu, 0x2bf2354eu, 0xabf2354eu, 0x2bf2354eu, 0xabf2354eu, 0x2bf2354eu, 0x80000000u, 0x2bf2354eu, 0xd40dcab1u, 0x2bf2354eu, 0xffffffffu, 0x2bf2354eu, 0x540dcab1u, 0x2bf2354eu, 0x540dcab1u, 0x00000000u, 0x0000007fu, 0x2bf2354eu, 0x2bf2354eu, 0x2bf2354eu, 0x7fffffffu, 0x2bf2354eu, 0x2bf2354eu, 0x80000000u, 0x80000000u, 0xcb2e075eu, 0x9abcdef0u, 0x80000000u, 0x0ab01440u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0xcb2e075eu, 0x9abcdef0u, 0xcb2e075eu, 0xbbfefffeu, 0xcb2e075eu, 0x9abcdef0u, 0x4b2e075eu, 0xb14eebbeu, 0xcb2e075eu, 0x9abcdef0u, 0x00000000u, 0x2142210eu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0xcb2e075eu, 0x9abcdef0u, 0xb4d1f8a1u, 0x6ff3354fu, 0xcb2e075eu, 0x9abcdef0u, 0x7fffffffu, 0xf54febbfu, 0xcb2e075eu, 0x9abcdef0u, 0x34d1f8a1u, 0x44010001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0xcb2e075eu, 0x9abcdef0u, 0xb4d1f8a1u, 0x4eb11441u, 0xcb2e075eu, 0x9abcdef0u, 0x4b2e075eu, 0x900ccab0u, 0xcb2e075eu, 0x9abcdef0u, 0xffffffffu, 0xdebddef1u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x4b2e075eu, 0x900ccab0u, 0x4b2e075eu, 0x900ccab0u, 0x00000000u, 0x2142210eu, 0x00000000u, 0x2142210eu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x69a6d26eu, 0xffff8001u, 0x7fff8000u, 0x80007fffu, 0x80000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000000du},
{0xffff8000u, 0x00007fffu, 0xffff8000u, 0xffff8000u, 0x00007fffu, 0x00007fffu, 0x00007fffu, 0xffff8000u, 0xfffff000u, 0xfffff000u, 0x0000ffffu, 0x0001ffffu, 0xfffe0000u, 0x0001ffffu, 0x0000000fu, 0x000003ffu, 0x00000020u, 0x00000011u, 0x00000020u, 0x00000000u, 0x00000000u, 0x0000000fu, 0x0000000fu, 0x00000000u, 0x00000011u, 0x00000011u, 0x00000011u, 0x00000000u, 0xffff8000u, 0x74d6d11fu, 0xf4d6d11fu, 0x00007fffu, 0x74d6d11fu, 0x55555555u, 0xf4d6d11fu, 0x55555555u, 0x000000f8u, 0x00000ff8u, 0x00000000u, 0x00008000u, 0xc0000000u, 0xffffffffu, 0x55555555u, 0x74d6d11fu, 0x55555555u, 0x00000000u, 0x00000000u, 0x000000ffu, 0x74d6d11fu, 0x55555555u, 0xffff8000u, 0xffff8000u, 0x74d6d11fu, 0x55555555u, 0xffff8000u, 0x00007fffu, 0x74d6d11fu, 0x55555555u, 0x55555555u, 0x00007fffu, 0x00007fffu, 0x00000000u, 0x00000000u, 0x0000000eu, 0x00007fffu, 0xffffffffu, 0x00007fffu, 0xffffffffu, 0x00007fffu, 0xffff8000u, 0x00007fffu, 0xffff8000u, 0x00007fffu, 0xffffffffu, 0x00007fffu, 0x00000000u, 0x00007fffu, 0x00000000u, 0x00000000u, 0x0000007cu, 0x00007fffu, 0x00007fffu, 0x00007fffu, 0x00007fffu, 0x00007fffu, 0x00007fffu, 0xffff8000u, 0xffff8000u, 0x74d6d11fu, 0x55555555u, 0x74d68000u, 0x00005555u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x74d6d11fu, 0x55555555u, 0xffffd11fu, 0x55557fffu, 0x74d6d11fu, 0x55555555u, 0x8b29511fu, 0x55552aaau, 0x74d6d11fu, 0x55555555u, 0x8b290000u, 0x00002aaau, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x74d6d11fu, 0x55555555u, 0xffffaee0u, 0xaaaaffffu, 0x74d6d11fu, 0x55555555u, 0x8b297fffu, 0xffffaaaau, 0x74d6d11fu, 0x55555555u, 0x00002ee0u, 0xaaaa8000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x74d6d11fu, 0x55555555u, 0x74d6aee0u, 0xaaaad555u, 0x74d6d11fu, 0x55555555u, 0x0000511fu, 0x55550000u, 0x74d6d11fu, 0x55555555u, 0x74d6ffffu, 0xffffd555u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x0000511fu, 0x55550000u, 0x0000511fu, 0x55550000u, 0x8b290000u, 0x00002aaau, 0x8b290000u, 0x00002aaau, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x69b8ae2eu, 0xffff8001u, 0xffff0000u, 0xffffffffu, 0x00018000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0x00008000u, 0x9628ee8du, 0x00008000u, 0x00008000u, 0x9628ee8du, 0xffff7fffu, 0xffff7fffu, 0x69d71172u, 0x0000f000u, 0x0000f000u, 0xffffffffu, 0x00010000u, 0xb1771469u, 0x00010000u, 0x0000001fu, 0x000003ffu, 0x0000002fu, 0x00000001u, 0x00000011u, 0x00000000u, 0x00000000u, 0x0000000fu, 0x0000000fu, 0x00000010u, 0x00000000u, 0x00000010u, 0x00000001u, 0x00000000u, 0xffff8000u, 0x00000000u, 0x00000001u, 0x00007fffu, 0x00000000u, 0xffffffffu, 0x00000001u, 0xffffffffu, 0x00000008u, 0x0000ff08u, 0x00000000u, 0x00008000u, 0xc0000000u, 0x00000000u, 0x00008000u, 0x00008000u, 0x9628ee8du, 0x00000000u, 0x00000000u, 0x000000ffu, 0x00008000u, 0xffffffffu, 0x00008000u, 0x9628ee8du, 0x00008000u, 0x9628ee8du, 0x00008000u, 0x9628ee8du, 0x00008000u, 0xffffffffu, 0x00008000u, 0x9628ee8du, 0x9628ee8du, 0x00008000u, 0x00000000u, 0x0000000fu, 0x9628ee8du, 0x9628ee8du, 0x9628ee8du, 0x96286e8du, 0x9628ee8du, 0x00000000u, 0x9628ee8du, 0x69d79172u, 0x9628ee8du, 0xffff7fffu, 0x9628ee8du, 0x69d71172u, 0x9628ee8du, 0x69d79172u, 0x00000000u, 0x0000006fu, 0x9628ee8du, 0x96286e8du, 0x9628ee8du, 0xffffffffu, 0x96286e8du, 0x96286e8du, 0x00000000u, 0x00000000u, 0x00000000u, 0xffffffffu, 0x00000000u, 0x9628ee8du, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001du, 0x00000000u, 0xffffffffu, 0x00008000u, 0xffffffffu, 0x00000000u, 0xffffffffu, 0x00008000u, 0x69d71172u, 0x00000000u, 0xffffffffu, 0x00008000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000000u, 0xffffffffu, 0xffffffffu, 0x9628ee8du, 0x00000000u, 0xffffffffu, 0xffffffffu, 0x69d71172u, 0x00000000u, 0xffffffffu, 0xffff7fffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000000u, 0xffffffffu, 0xffff7fffu, 0x9628ee8du, 0x00000000u, 0xffffffffu, 0x00000000u, 0x69d71172u, 0x00000000u, 0xffffffffu, 0xffff7fffu, 0xffffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000000u, 0x69d71172u, 0x00000000u, 0x69d71172u, 0x00008000u, 0x00000000u, 0x00008000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x6e38d398u, 0xffff8001u, 0x00000000u, 0x0000ffffu, 0xfffe8000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000019u},
{0x0000ffffu, 0x831ef5c3u, 0x0f0f0f0fu, 0x0f0f0f0fu, 0x00f000f0u, 0xffff0000u, 0xffff0000u, 0x7ce10a3cu, 0x0000ffffu, 0x0000ffffu, 0xffffffffu, 0xffff0000u, 0xc3af78c1u, 0xffff0000u, 0x00000010u, 0x0000027fu, 0x0000001fu, 0x00000010u, 0x00000021u, 0x00000010u, 0x00000010u, 0x00000000u, 0x00000000u, 0x00000010u, 0x00000000u, 0x00000010u, 0x00000001u, 0xffffffffu, 0xffffffffu, 0x0f0f0f0fu, 0x0f0f8f0fu, 0x00007fffu, 0x0f0f0f0fu, 0x00f000f0u, 0x0f0f8f0fu, 0x00f000f0u, 0x0000000fu, 0x0000ff0fu, 0x00000000u, 0x0000ffffu, 0xffffffffu, 0x00000000u, 0x00f000f0u, 0x0f0f0f0fu, 0x00f000f0u, 0x00000000u, 0x00000000u, 0x000000ffu, 0x0f0f0f0fu, 0x00f000f0u, 0x0000ffffu, 0x0000ffffu, 0x0f0f0f0fu, 0x00f000f0u, 0x0000ffffu, 0x831ef5c3u, 0x0f0f0f0fu, 0x00f000f0u, 0x0000ffffu, 0x00f000f0u, 0x831ef5c3u, 0x0000f5c3u, 0x00000000u, 0x0000000fu, 0x831ef5c3u, 0x831effffu, 0x831ef5c3u, 0x831e0a3cu, 0x831ef5c3u, 0x00000a3cu, 0x831ef5c3u, 0x7ce1ffffu, 0x831ef5c3u, 0xffff0a3cu, 0x831ef5c3u, 0x7ce10000u, 0x831ef5c3u, 0x7ce1f5c3u, 0x00000000u, 0x0000007fu, 0x831ef5c3u, 0x831e0000u, 0x831ef5c3u, 0xfffff5c3u, 0x831e0000u, 0x831e0000u, 0x00000a3cu, 0x00000a3cu, 0x0f0f0f0fu, 0x00f000f0u, 0x00000f0fu, 0x001000c0u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x0f0f0f0fu, 0x00f000f0u, 0x0f0fffffu, 0x83fef5f3u, 0x0f0f0f0fu, 0x00f000f0u, 0x0f0ff0f0u, 0x83eef533u, 0x0f0f0f0fu, 0x00f000f0u, 0x0000f0f0u, 0x830ef503u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x0f0f0f0fu, 0x00f000f0u, 0xf0f0ffffu, 0xff1fffcfu, 0x0f0f0f0fu, 0x00f000f0u, 0xfffff0f0u, 0xffefff3fu, 0x0f0f0f0fu, 0x00f000f0u, 0xf0f00000u, 0x7c010a0cu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x0f0f0f0fu, 0x00f000f0u, 0xf0f00f0fu, 0x7c110accu, 0x0f0f0f0fu, 0x00f000f0u, 0x0f0f0000u, 0x00e00030u, 0x0f0f0f0fu, 0x00f000f0u, 0xffff0f0fu, 0x7cf10afcu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x0f0f0000u, 0x00e00030u, 0x0f0f0000u, 0x00e00030u, 0x0000f0f0u, 0x830ef503u, 0x0000f0f0u, 0x830ef503u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x69a6ab86u, 0xffff8001u, 0x00007fffu, 0x00017ffeu, 0xfffd0003u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000019u},
{0x00000020u, 0x00000003u, 0x00000020u, 0x00000020u, 0x00000003u, 0xffffffdfu, 0xffffffdfu, 0xfffffffcu, 0x000000f0u, 0x000000f0u, 0x0000000fu, 0x04000000u, 0xc0000000u, 0x04000000u, 0x0000001fu, 0x000003ffu, 0x0000003du, 0x00000001u, 0x00000003u, 0x00000000u, 0x00000000u, 0x00000005u, 0x00000005u, 0x0000001au, 0x0000001eu, 0x0000001au, 0x0000001eu, 0x00000020u, 0x00000020u, 0x7fffffffu, 0xffffffffu, 0x00007fffu, 0x7fffffffu, 0x00000003u, 0x7fffffffu, 0x80000003u, 0x00000002u, 0x00000102u, 0x00000000u, 0x00000020u, 0x00000c00u, 0x00000000u, 0x00000003u, 0x7fffffffu, 0x00000003u, 0x00000000u, 0x00000000u, 0x000000ffu, 0x7fffffffu, 0x00000003u, 0x00000020u, 0x00000020u, 0x7fffffffu, 0x00000003u, 0x00000020u, 0x00000003u, 0x7fffffffu, 0x00000003u, 0x00000020u, 0x00000003u, 0x00000003u, 0x00000000u, 0x00000000u, 0x0000000eu, 0x00000003u, 0x00000023u, 0x00000003u, 0x00000023u, 0x00000003u, 0x00000020u, 0x00000003u, 0xfffffffcu, 0x00000003u, 0xffffffffu, 0x00000003u, 0xffffffdcu, 0x00000003u, 0xffffffdcu, 0x00000000u, 0x0000007fu, 0x00000003u, 0x00000003u, 0x00000003u, 0xffffffdfu, 0x00000003u, 0x00000003u, 0x00000020u, 0x00000020u, 0x7fffffffu, 0x00000003u, 0x00000020u, 0x00000003u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x7fffffffu, 0x00000003u, 0x7fffffffu, 0x00000003u, 0x7fffffffu, 0x00000003u, 0x7fffffdfu, 0x00000000u, 0x7fffffffu, 0x00000003u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000006u, 0x7fffffffu, 0x00000003u, 0x80000020u, 0xffffffffu, 0x7fffffffu, 0x00000003u, 0xffffffdfu, 0xfffffffcu, 0x7fffffffu, 0x00000003u, 0x80000000u, 0xfffffffcu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x7fffffffu, 0x00000003u, 0x80000020u, 0xffffffffu, 0x7fffffffu, 0x00000003u, 0x7fffffdfu, 0x00000000u, 0x7fffffffu, 0x00000003u, 0xffffffffu, 0xffffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x7fffffdfu, 0x00000000u, 0x7fffffdfu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x49a6d389u, 0xffff8001u, 0xffff8020u, 0x0000801fu, 0xffffffa0u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000019u},
{0x00f000f0u, 0x80000000u, 0x00f000f0u, 0x00f000f0u, 0x80000000u, 0xff0fff0fu, 0xff0fff0fu, 0x7fffffffu, 0x00f000f0u, 0x00f000f0u, 0xf0000000u, 0x0f000f00u, 0x00000001u, 0x0f000f00u, 0x00000018u, 0x000003ffu, 0x00000037u, 0x00000008u, 0x00000009u, 0x00000000u, 0x00000000u, 0x00000004u, 0x00000004u, 0x00000008u, 0x00000000u, 0x00000008u, 0x00000001u, 0xfffffff0u, 0x000000f0u, 0x00000003u, 0x0000000bu, 0x00007fffu, 0x00000003u, 0x1fb17c23u, 0x0000000bu, 0x1fb17c23u, 0x00000022u, 0x00008022u, 0x00000000u, 0x00f000f0u, 0x0000ff00u, 0x0000ff00u, 0x1fb17c23u, 0x00000003u, 0x1fb17c23u, 0x00000000u, 0x00000000u, 0x000000ffu, 0x00000003u, 0x1fb17c23u, 0x00f000f0u, 0x00f000f0u, 0x00000003u, 0x1fb17c23u, 0x00f000f0u, 0x80000000u, 0x1fb17c23u, 0x1fb17c23u, 0x00f000f0u, 0x80000000u, 0x80000000u, 0x00000000u, 0x00000000u, 0x0000000eu, 0x80000000u, 0x80f000f0u, 0x80000000u, 0x80f000f0u, 0x80000000u, 0x00f000f0u, 0x80000000u, 0x7fffffffu, 0x80000000u, 0xffffffffu, 0x80000000u, 0x7f0fff0fu, 0x80000000u, 0x7f0fff0fu, 0x00000000u, 0x0000007fu, 0x80000000u, 0x80000000u, 0x80000000u, 0xff0fff0fu, 0x80000000u, 0x80000000u, 0x00f000f0u, 0x00f000f0u, 0x00000003u, 0x1fb17c23u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001eu, 0x00000003u, 0x1fb17c23u, 0x00f000f3u, 0x9fb17c23u, 0x00000003u, 0x1fb17c23u, 0x00f000f3u, 0x9fb17c23u, 0x00000003u, 0x1fb17c23u, 0x00f000f0u, 0x80000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000003u, 0x1fb17c23u, 0xfffffffcu, 0xe04e83dcu, 0x00000003u, 0x1fb17c23u, 0xffffffffu, 0xffffffffu, 0x00000003u, 0x1fb17c23u, 0xff0fff0cu, 0x604e83dcu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000003u, 0x1fb17c23u, 0xff0fff0cu, 0x604e83dcu, 0x00000003u, 0x1fb17c23u, 0x00000003u, 0x1fb17c23u, 0x00000003u, 0x1fb17c23u, 0xff0fff0fu, 0x7fffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000003u, 0x1fb17c23u, 0x00000003u, 0x1fb17c23u, 0x00f000f0u, 0x80000000u, 0x00f000f0u, 0x80000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x6e38d38eu, 0xffff8001u, 0x00ef80f0u, 0x00f080efu, 0xfd2ffd30u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0x00000003u, 0x11111111u, 0x00000003u, 0x00000003u, 0x11111111u, 0xfffffffcu, 0xfffffffcu, 0xeeeeeeeeu, 0x0000000fu, 0x0000000fu, 0xffffffffu, 0xc0000000u, 0x88888888u, 0xc0000000u, 0x0000001eu, 0x000003ffu, 0x00000036u, 0x00000002u, 0x0000000au, 0x00000002u, 0x00000002u, 0x00000000u, 0x00000000u, 0x0000001eu, 0x00000003u, 0x0000001eu, 0x00000003u, 0x00000003u, 0x00000003u, 0x00010000u, 0x00010001u, 0x00007fffu, 0x00010000u, 0x0000001fu, 0x00010001u, 0x0000001fu, 0x00000001u, 0x0000ff01u, 0x00000000u, 0x00000003u, 0x0000000fu, 0x00000000u, 0x00000003u, 0x00000003u, 0x11111111u, 0x00000000u, 0x00000000u, 0x000000ffu, 0x00000003u, 0x0000001fu, 0x00000003u, 0x11111111u, 0x00000003u, 0x11111111u, 0x00000003u, 0x11111111u, 0x00010000u, 0x00000003u, 0x00000003u, 0x11111111u, 0x11111111u, 0x00000001u, 0x00000000u, 0x0000000fu, 0x11111111u, 0x11111113u, 0x11111111u, 0x11111112u, 0x11111111u, 0x00000002u, 0x11111111u, 0xeeeeeeefu, 0x11111111u, 0xfffffffeu, 0x11111111u, 0xeeeeeeecu, 0x11111111u, 0xeeeeeeedu, 0x00000000u, 0x0000007fu, 0x11111111u, 0x11111110u, 0x11111111u, 0xfffffffdu, 0x11111110u, 0x11111110u, 0x00000002u, 0x00000002u, 0x00010000u, 0x0000001fu, 0x00000000u, 0x00000011u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x00010000u, 0x0000001fu, 0x00010003u, 0x1111111fu, 0x00010000u, 0x0000001fu, 0x00010003u, 0x1111110eu, 0x00010000u, 0x0000001fu, 0x00000003u, 0x11111100u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00010000u, 0x0000001fu, 0xfffeffffu, 0xfffffff1u, 0x00010000u, 0x0000001fu, 0xffffffffu, 0xffffffeeu, 0x00010000u, 0x0000001fu, 0xfffefffcu, 0xeeeeeee0u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00010000u, 0x0000001fu, 0xfffefffcu, 0xeeeeeef1u, 0x00010000u, 0x0000001fu, 0x00010000u, 0x0000000eu, 0x00010000u, 0x0000001fu, 0xfffffffcu, 0xeeeeeeffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00010000u, 0x0000000eu, 0x00010000u, 0x0000000eu, 0x00000003u, 0x11111100u, 0x00000003u, 0x11111100u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x69a6ab89u, 0xffff8001u, 0xffff8003u, 0x00008002u, 0xfffffff7u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000019u},
{0x12345678u, 0x7731af10u, 0x40000000u, 0x40000000u, 0x00008000u, 0xedcba987u, 0xedcba987u, 0x88ce50efu, 0xffffffffu, 0xffffffffu, 0xfffffff0u, 0x1e6a2c48u, 0x08f58ceeu, 0x1e6a2c48u, 0x00000013u, 0x0000027fu, 0x00000023u, 0x0000000du, 0x0000001du, 0x00000000u, 0x00000000u, 0x00000003u, 0x00000003u, 0x00000003u, 0x00000001u, 0x00000003u, 0x00000001u, 0x00000078u, 0x00005678u, 0x40000000u, 0x40000001u, 0x00007fffu, 0x40000000u, 0x00008000u, 0x40000001u, 0x00008000u, 0x000000ffu, 0x0000feffu, 0x00000000u, 0x12345678u, 0x333c3fc0u, 0x030c0f30u, 0x12345678u, 0x12345678u, 0x7731af10u, 0x00000000u, 0x00000000u, 0x000000ffu, 0x12345678u, 0x00008000u, 0x12345678u, 0x7731af10u, 0x12345678u, 0x7731af10u, 0x12345678u, 0x7731af10u, 0x12345678u, 0x00008000u, 0x12345678u, 0x7731af10u, 0x7731af10u, 0x12300610u, 0x00000000u, 0x0000000fu, 0x7731af10u, 0x7735ff78u, 0x7731af10u, 0x6505f968u, 0x7731af10u, 0x00045068u, 0x7731af10u, 0x9afe56ffu, 0x7731af10u, 0xedcff9efu, 0x7731af10u, 0x88ca0087u, 0x7731af10u, 0x9afa0697u, 0x00000000u, 0x0000007fu, 0x7731af10u, 0x6501a900u, 0x7731af10u, 0xfffbaf97u, 0x6501a900u, 0x6501a900u, 0x00045068u, 0x00045068u, 0x40000000u, 0x00008000u, 0x00000000u, 0x00008000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x40000000u, 0x00008000u, 0x52345678u, 0x7731af10u, 0x40000000u, 0x00008000u, 0x52345678u, 0x77312f10u, 0x40000000u, 0x00008000u, 0x12345678u, 0x77312f10u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x40000000u, 0x00008000u, 0xbfffffffu, 0xffffffffu, 0x40000000u, 0x00008000u, 0xffffffffu, 0xffff7fffu, 0x40000000u, 0x00008000u, 0xadcba987u, 0x88ce50efu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x40000000u, 0x00008000u, 0xadcba987u, 0x88ced0efu, 0x40000000u, 0x00008000u, 0x40000000u, 0x00000000u, 0x40000000u, 0x00008000u, 0xedcba987u, 0x88ced0efu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x40000000u, 0x00000000u, 0x40000000u, 0x00000000u, 0x12345678u, 0x77312f10u, 0x12345678u, 0x77312f10u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x69a6d38eu, 0xffff8001u, 0x1233d678u, 0x1234d677u, 0xc962fc98u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0xffff8001u, 0x00010003u, 0xffff8001u, 0xffff8001u, 0x12bd4aceu, 0x00007ffeu, 0x00007ffeu, 0xfffefffcu, 0xfffff00fu, 0xfffff00fu, 0x000f000fu, 0x8001ffffu, 0xc0008000u, 0x8001ffffu, 0x0000000eu, 0x0000027fu, 0x0000002bu, 0x00000012u, 0x00000015u, 0x00000001u, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000000fu, 0x00000011u, 0x0000000fu, 0x00000001u, 0xffff8001u, 0xffff8001u, 0xffff8003u, 0x00007fffu, 0xffff8001u, 0x12bd4aceu, 0xffff8003u, 0x12bd4aceu, 0x000000f9u, 0x000011f9u, 0x00000000u, 0x00007fffu, 0xc0000003u, 0xffffffffu, 0x00010003u, 0xffff8001u, 0x00010003u, 0x00000000u, 0x00000000u, 0x000000ffu, 0xffff8001u, 0xffff8001u, 0xffff8001u, 0x00010003u, 0xffff8001u, 0x00010003u, 0xffff8001u, 0x00010003u, 0xffff8001u, 0x12bd4aceu, 0xffff8001u, 0x00010003u, 0x00010003u, 0x00010001u, 0x00000000u, 0x0000000fu, 0x00010003u, 0xffff8003u, 0x00010003u, 0xfffe8002u, 0x00010003u, 0xfffe8000u, 0x00010003u, 0xfffffffdu, 0x00010003u, 0xfffefffeu, 0x00010003u, 0x00007ffcu, 0x00010003u, 0x00017ffdu, 0x00000000u, 0x0000007fu, 0x00010003u, 0x00000002u, 0x00010003u, 0x00017fffu, 0x00000002u, 0x00000002u, 0xfffe8000u, 0xfffe8000u, 0xffff8001u, 0x12bd4aceu, 0xffff8001u, 0x00010002u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0xffff8001u, 0x12bd4aceu, 0xffff8001u, 0x12bd4acfu, 0xffff8001u, 0x12bd4aceu, 0x00000000u, 0x12bc4acdu, 0xffff8001u, 0x12bd4aceu, 0x00000000u, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0xffff8001u, 0x12bd4aceu, 0xffffffffu, 0xed43b533u, 0xffff8001u, 0x12bd4aceu, 0x00007ffeu, 0xfffefffdu, 0xffff8001u, 0x12bd4aceu, 0x00007ffeu, 0xed42b530u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0xffff8001u, 0x12bd4aceu, 0xffffffffu, 0xed43b532u, 0xffff8001u, 0x12bd4aceu, 0x00000000u, 0x12bc4accu, 0xffff8001u, 0x12bd4aceu, 0xffffffffu, 0xfffffffeu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000000u, 0x12bc4accu, 0x00000000u, 0x12bc4accu, 0x00000000u, 0x00000001u, 0x00000000u, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x72cad22eu, 0xffff8001u, 0xffff0001u, 0x00000000u, 0x00017ffdu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0x26e87555u, 0x6bf46c69u, 0xffffffffu, 0xffffffffu, 0x92b1d3f2u, 0xd9178aaau, 0xd9178aaau, 0x940b9396u, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0xaaae1764u, 0x96362fd6u, 0xaaae1764u, 0x00000010u, 0x0000027fu, 0x0000001eu, 0x00000010u, 0x00000022u, 0x00000001u, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000002u, 0x00000001u, 0x00000002u, 0x00000001u, 0x00000055u, 0x00007555u, 0x7fffffffu, 0xffffffffu, 0x00007fffu, 0xffffffffu, 0x12b1d3f2u, 0xffffffffu, 0x92b1d3f2u, 0x000000ffu, 0x0000ffffu, 0x00000000u, 0x26e87555u, 0x3f333333u, 0x0c3cfcc0u, 0x92b1d3f2u, 0xffffffffu, 0x92b1d3f2u, 0x00000000u, 0x00000000u, 0x000000ffu, 0xffffffffu, 0x92b1d3f2u, 0x26e87555u, 0x26e87555u, 0xffffffffu, 0x92b1d3f2u, 0x26e87555u, 0x6bf46c69u, 0xffffffffu, 0x92b1d3f2u, 0x26e87555u, 0x92b1d3f2u, 0x6bf46c69u, 0x22e06441u, 0x00000000u, 0x0000000fu, 0x6bf46c69u, 0x6ffc7d7du, 0x6bf46c69u, 0x4d1c193cu, 0x6bf46c69u, 0x04081114u, 0x6bf46c69u, 0xb6ebf7d7u, 0x6bf46c69u, 0xdd1f9bbeu, 0x6bf46c69u, 0x90038282u, 0x6bf46c69u, 0xb2e3e6c3u, 0x00000000u, 0x0000007fu, 0x6bf46c69u, 0x49140828u, 0x6bf46c69u, 0xfbf7eeebu, 0x49140828u, 0x49140828u, 0x04081114u, 0x04081114u, 0xffffffffu, 0x92b1d3f2u, 0x26e87555u, 0x02b04060u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0xffffffffu, 0x92b1d3f2u, 0xffffffffu, 0xfbf5fffbu, 0xffffffffu, 0x92b1d3f2u, 0xd9178aaau, 0xf945bf9bu, 0xffffffffu, 0x92b1d3f2u, 0x00000000u, 0x69442c09u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0xffffffffu, 0x92b1d3f2u, 0x26e87555u, 0x6ffe6c6du, 0xffffffffu, 0x92b1d3f2u, 0xd9178aaau, 0xfd4fbf9fu, 0xffffffffu, 0x92b1d3f2u, 0x00000000u, 0x040a0004u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0xffffffffu, 0x92b1d3f2u, 0x26e87555u, 0x06ba4064u, 0xffffffffu, 0x92b1d3f2u, 0xd9178aaau, 0x90019392u, 0xffffffffu, 0x92b1d3f2u, 0xffffffffu, 0x96bbd3f6u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0xd9178aaau, 0x90019392u, 0xd9178aaau, 0x90019392u, 0x00000000u, 0x69442c09u, 0x00000000u, 0x69442c09u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x6e26d38eu, 0xffff8001u, 0x26e7f555u, 0x26e8f554u, 0x8b46a001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0x00020001u, 0x40000000u, 0x80000000u, 0x80000000u, 0x40000000u, 0xfffdfffeu, 0xfffdfffeu, 0xbfffffffu, 0x000f000fu, 0x000f000fu, 0xf0000000u, 0x80004000u, 0x00000002u, 0x80004000u, 0x0000001eu, 0x0000027fu, 0x0000003du, 0x00000002u, 0x00000003u, 0x00000001u, 0x00000001u, 0x00000000u, 0x00000000u, 0x0000000eu, 0x00000001u, 0x0000000eu, 0x00000001u, 0x00000001u, 0x00000001u, 0x80000000u, 0x80000001u, 0x00007fffu, 0x80000000u, 0x40000000u, 0x80000001u, 0x40000000u, 0x00000011u, 0x00008011u, 0x00000000u, 0x00020001u, 0x00000003u, 0x0000000cu, 0x00020001u, 0x00020001u, 0x40000000u, 0x00000000u, 0x00000000u, 0x000000ffu, 0x00020001u, 0x40000000u, 0x00020001u, 0x40000000u, 0x00020001u, 0x40000000u, 0x00020001u, 0x40000000u, 0x00020001u, 0x40000000u, 0x00020001u, 0x40000000u, 0x40000000u, 0x00000000u, 0x00000000u, 0x0000000eu, 0x40000000u, 0x40020001u, 0x40000000u, 0x40020001u, 0x40000000u, 0x00020001u, 0x40000000u, 0xbfffffffu, 0x40000000u, 0xffffffffu, 0x40000000u, 0xbffdfffeu, 0x40000000u, 0xbffdfffeu, 0x00000000u, 0x0000007fu, 0x40000000u, 0x40000000u, 0x40000000u, 0xfffdfffeu, 0x40000000u, 0x40000000u, 0x00020001u, 0x00020001u, 0x80000000u, 0x40000000u, 0x00000000u, 0x40000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x80000000u, 0x40000000u, 0x80020001u, 0x40000000u, 0x80000000u, 0x40000000u, 0x80020001u, 0x00000000u, 0x80000000u, 0x40000000u, 0x00020001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x80000000u, 0x40000000u, 0x7fffffffu, 0xffffffffu, 0x80000000u, 0x40000000u, 0xffffffffu, 0xbfffffffu, 0x80000000u, 0x40000000u, 0x7ffdfffeu, 0xbfffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x80000000u, 0x40000000u, 0x7ffdfffeu, 0xffffffffu, 0x80000000u, 0x40000000u, 0x80000000u, 0x00000000u, 0x80000000u, 0x40000000u, 0xfffdfffeu, 0xffffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x80000000u, 0x00000000u, 0x80000000u, 0x00000000u, 0x00020001u, 0x00000000u, 0x00020001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x6e26ab8eu, 0xffff8001u, 0x00018001u, 0x00028000u, 0xfff9fffdu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0x4f426dcbu, 0xfe3b890bu, 0x72158370u, 0x72158370u, 0xf0f0f0f0u, 0xb0bd9234u, 0xb0bd9234u, 0x01c476f4u, 0xffffffffu, 0xffffffffu, 0xffffff0fu, 0xd3b642f2u, 0xd091dc7fu, 0xd3b642f2u, 0x0000000fu, 0x0000027fu, 0x0000001du, 0x00000011u, 0x00000023u, 0x00000002u, 0x00000002u, 0x00000000u, 0x00000000u, 0x00000001u, 0x00000000u, 0x00000001u, 0x00000007u, 0xffffffcbu, 0x00006dcbu, 0x72148370u, 0x72158370u, 0x00007fffu, 0x72158370u, 0xf0f0f0f0u, 0x72158370u, 0xf0f1f0f0u, 0x000000ffu, 0x0000fdffu, 0x00000000u, 0x4f426dcbu, 0x3cf3f0cfu, 0x30ff300cu, 0x4f426dcbu, 0x4f426dcbu, 0xfe3b890bu, 0x00000000u, 0x00000000u, 0x000000ffu, 0x4f426dcbu, 0xf0f0f0f0u, 0x4f426dcbu, 0xfe3b890bu, 0x4f426dcbu, 0xfe3b890bu, 0x4f426dcbu, 0xfe3b890bu, 0x72158370u, 0x4f426dcbu, 0x4f426dcbu, 0xfe3b890bu, 0xfe3b890bu, 0x4e02090bu, 0x00000000u, 0x0000000fu, 0xfe3b890bu, 0xff7bedcbu, 0xfe3b890bu, 0xb179e4c0u, 0xfe3b890bu, 0x014064c0u, 0xfe3b890bu, 0x4fc67fffu, 0xfe3b890bu, 0xb1fdf6f4u, 0xfe3b890bu, 0x00841234u, 0xfe3b890bu, 0x4e861b3fu, 0x00000000u, 0x0000007fu, 0xfe3b890bu, 0xb0398000u, 0xfe3b890bu, 0xfebf9b3fu, 0xb0398000u, 0xb0398000u, 0x014064c0u, 0x014064c0u, 0x72158370u, 0xf0f0f0f0u, 0x42000140u, 0xf0308000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x72158370u, 0xf0f0f0f0u, 0x7f57effbu, 0xfefbf9fbu, 0x72158370u, 0xf0f0f0f0u, 0x3d57eebbu, 0x0ecb79fbu, 0x72158370u, 0xf0f0f0f0u, 0x0d426c8bu, 0x0e0b090bu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x72158370u, 0xf0f0f0f0u, 0xcfea7dcfu, 0xff3f8f0fu, 0x72158370u, 0xf0f0f0f0u, 0xbdfffebfu, 0x0fcf7fffu, 0x72158370u, 0xf0f0f0f0u, 0x80a81004u, 0x01040604u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x72158370u, 0xf0f0f0f0u, 0xc2a81144u, 0xf1348604u, 0x72158370u, 0xf0f0f0f0u, 0x30158230u, 0x00c070f0u, 0x72158370u, 0xf0f0f0f0u, 0xf2bd9374u, 0xf1f4f6f4u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x30158230u, 0x00c070f0u, 0x30158230u, 0x00c070f0u, 0x0d426c8bu, 0x0e0b090bu, 0x0d426c8bu, 0x0e0b090bu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x69a6cb8eu, 0xffff8001u, 0x4f41edcbu, 0x4f42edcau, 0x1238b69fu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0x5affb229u, 0xfffffffeu, 0x5affb229u, 0x5affb229u, 0xfffffffeu, 0xa5004dd6u, 0xa5004dd6u, 0x00000001u, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0x944dff5au, 0x7fffffffu, 0x944dff5au, 0x0000000du, 0x000003ffu, 0x0000000eu, 0x00000013u, 0x00000032u, 0x00000001u, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000001u, 0x00000000u, 0x00000001u, 0x0000001fu, 0x00000029u, 0xffffb229u, 0x0000ffffu, 0x8000ffffu, 0x00007fffu, 0x0000ffffu, 0x211c70cfu, 0x0000ffffu, 0xa11c70cfu, 0x000000ffu, 0x0000ffffu, 0x00000000u, 0x5affb229u, 0xcf0c0cc3u, 0x33ccffffu, 0x211c70cfu, 0x0000ffffu, 0x211c70cfu, 0x00000000u, 0x00000000u, 0x000000ffu, 0x0000ffffu, 0x211c70cfu, 0x5affb229u, 0x5affb229u, 0x0000ffffu, 0x211c70cfu, 0x5affb229u, 0xfffffffeu, 0x211c70cfu, 0x211c70cfu, 0x5affb229u, 0xfffffffeu, 0xfffffffeu, 0x5affb228u, 0x00000000u, 0x0000000fu, 0xfffffffeu, 0xffffffffu, 0xfffffffeu, 0xa5004dd7u, 0xfffffffeu, 0x00000001u, 0xfffffffeu, 0x5affb229u, 0xfffffffeu, 0xa5004dd7u, 0xfffffffeu, 0x00000000u, 0xfffffffeu, 0x5affb228u, 0x00000000u, 0x0000007du, 0xfffffffeu, 0xa5004dd6u, 0xfffffffeu, 0xfffffffeu, 0xa5004dd6u, 0xa5004dd6u, 0x00000001u, 0x00000001u, 0x0000ffffu, 0x211c70cfu, 0x0000b229u, 0x211c70ceu, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x0000ffffu, 0x211c70cfu, 0x5affffffu, 0xffffffffu, 0x0000ffffu, 0x211c70cfu, 0x5aff4dd6u, 0xdee38f31u, 0x0000ffffu, 0x211c70cfu, 0x5aff0000u, 0xdee38f30u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x0000ffffu, 0x211c70cfu, 0xffffb229u, 0xfffffffeu, 0x0000ffffu, 0x211c70cfu, 0xffff4dd6u, 0xdee38f31u, 0x0000ffffu, 0x211c70cfu, 0xa5000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x0000ffffu, 0x211c70cfu, 0xa500b229u, 0x211c70ceu, 0x0000ffffu, 0x211c70cfu, 0x00004dd6u, 0x00000001u, 0x0000ffffu, 0x211c70cfu, 0xa500ffffu, 0x211c70cfu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00004dd6u, 0x00000001u, 0x00004dd6u, 0x00000001u, 0x5aff0000u, 0xdee38f30u, 0x5aff0000u, 0xdee38f30u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x6e38cb8eu, 0xffff8001u, 0x5aff3229u, 0x5b003228u, 0xef00e985u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0x7f1b103cu, 0x9abcdef0u, 0x7f1b103cu, 0x7f1b103cu, 0x9abcdef0u, 0x80e4efc3u, 0x80e4efc3u, 0x6543210fu, 0xfffff0ffu, 0xfffff0ffu, 0xfffffff0u, 0x3c08d8feu, 0x0f7b3d59u, 0x3c08d8feu, 0x00000010u, 0x000003ffu, 0x0000001du, 0x00000010u, 0x00000023u, 0x00000000u, 0x00000000u, 0x00000002u, 0x00000002u, 0x00000001u, 0x00000000u, 0x00000001u, 0x00000001u, 0x0000003cu, 0x0000103cu, 0x00007fffu, 0x80007fffu, 0x00007fffu, 0x00007fffu, 0x51bc52d9u, 0x00007fffu, 0xd1bc52d9u, 0x000000fbu, 0x0000fefbu, 0x00000000u, 0x7f1b103cu, 0x03000ff0u, 0x3fff03cfu, 0xd1bc52d9u, 0x00007fffu, 0xd1bc52d9u, 0x00000000u, 0x00000000u, 0x000000ffu, 0x00007fffu, 0xd1bc52d9u, 0x7f1b103cu, 0x7f1b103cu, 0x00007fffu, 0xd1bc52d9u, 0x7f1b103cu, 0x9abcdef0u, 0xd1bc52d9u, 0xd1bc52d9u, 0x7f1b103cu, 0x9abcdef0u, 0x9abcdef0u, 0x1a181030u, 0x00000000u, 0x0000000fu, 0x9abcdef0u, 0xffbfdefcu, 0x9abcdef0u, 0xe5a7ceccu, 0x9abcdef0u, 0x6503000cu, 0x9abcdef0u, 0x7f5b313fu, 0x9abcdef0u, 0xe5e7efcfu, 0x9abcdef0u, 0x00402103u, 0x9abcdef0u, 0x1a583133u, 0x00000000u, 0x0000007fu, 0x9abcdef0u, 0x80a4cec0u, 0x9abcdef0u, 0x9afcfff3u, 0x80a4cec0u, 0x80a4cec0u, 0x6503000cu, 0x6503000cu, 0x00007fffu, 0xd1bc52d9u, 0x0000103cu, 0x90bc52d0u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x00007fffu, 0xd1bc52d9u, 0x7f1b7fffu, 0xdbbcdef9u, 0x00007fffu, 0xd1bc52d9u, 0x7f1b6fc3u, 0x4b008c29u, 0x00007fffu, 0xd1bc52d9u, 0x7f1b0000u, 0x0a008c20u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00007fffu, 0xd1bc52d9u, 0xffff903cu, 0xbefffff6u, 0x00007fffu, 0xd1bc52d9u, 0xffffefc3u, 0x6f43ad2fu, 0x00007fffu, 0xd1bc52d9u, 0x80e48000u, 0x24432106u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00007fffu, 0xd1bc52d9u, 0x80e4903cu, 0xb4ff73d6u, 0x00007fffu, 0xd1bc52d9u, 0x00006fc3u, 0x41000009u, 0x00007fffu, 0xd1bc52d9u, 0x80e4ffffu, 0xf5ff73dfu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00006fc3u, 0x41000009u, 0x00006fc3u, 0x41000009u, 0x7f1b0000u, 0x0a008c20u, 0x7f1b0000u, 0x0a008c20u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x6e38cb8eu, 0xffff8001u, 0x7f1a903cu, 0x7f1b903bu, 0x82aecf4cu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0xfc891b4au, 0xf0f0f0f0u, 0x26a2c0bdu, 0x26a2c0bdu, 0x00000020u, 0x0376e4b5u, 0x0376e4b5u, 0x0f0f0f0fu, 0xffffffffu, 0xffffffffu, 0xf0f0f0f0u, 0x52d8913fu, 0x0f0f0f0fu, 0x52d8913fu, 0x00000010u, 0x0000027fu, 0x00000020u, 0x00000010u, 0x00000020u, 0x00000000u, 0x00000000u, 0x00000001u, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000006u, 0x00000004u, 0x0000004au, 0x00001b4au, 0x06a2c0bdu, 0x26a2c0bdu, 0x00007fffu, 0x26a2c0bdu, 0x00000020u, 0x26a2c0bdu, 0x20000020u, 0x000000ffu, 0x0000aaffu, 0x00000000u, 0x0376e4b6u, 0x03cf30ccu, 0xfff0c0c3u, 0xf0f0f0f0u, 0xfc891b4au, 0xf0f0f0f0u, 0x00000000u, 0x00000000u, 0x000000ffu, 0x26a2c0bdu, 0xfc891b4au, 0xfc891b4au, 0xf0f0f0f0u, 0xfc891b4au, 0xf0f0f0f0u, 0xfc891b4au, 0xf0f0f0f0u, 0x26a2c0bdu, 0x00000020u, 0xf0f0f0f0u, 0xf0f0f0f0u, 0xf0f0f0f0u, 0xf0801040u, 0x00000000u, 0x0000000fu, 0xf0f0f0f0u, 0xfcf9fbfau, 0xf0f0f0f0u, 0x0c79ebbau, 0xf0f0f0f0u, 0x0c090b0au, 0xf0f0f0f0u, 0xff8f1f4fu, 0xf0f0f0f0u, 0x0f7fefbfu, 0xf0f0f0f0u, 0x03060405u, 0xf0f0f0f0u, 0xf3861445u, 0x00000000u, 0x0000007fu, 0xf0f0f0f0u, 0x0070e0b0u, 0xf0f0f0f0u, 0xf3f6f4f5u, 0x0070e0b0u, 0x0070e0b0u, 0x0c090b0au, 0x0c090b0au, 0x26a2c0bdu, 0x00000020u, 0x24800008u, 0x00000020u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x26a2c0bdu, 0x00000020u, 0xfeabdbffu, 0xf0f0f0f0u, 0x26a2c0bdu, 0x00000020u, 0xda2bdbf7u, 0xf0f0f0d0u, 0x26a2c0bdu, 0x00000020u, 0xd8091b42u, 0xf0f0f0d0u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x26a2c0bdu, 0x00000020u, 0xfddd3f4au, 0xffffffffu, 0x26a2c0bdu, 0x00000020u, 0xdb7ffff7u, 0xffffffdfu, 0x26a2c0bdu, 0x00000020u, 0x01542400u, 0x0f0f0f0fu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x26a2c0bdu, 0x00000020u, 0x25d42408u, 0x0f0f0f2fu, 0x26a2c0bdu, 0x00000020u, 0x0222c0b5u, 0x00000000u, 0x26a2c0bdu, 0x00000020u, 0x27f6e4bdu, 0x0f0f0f2fu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x0222c0b5u, 0x00000000u, 0x0222c0b5u, 0x00000000u, 0xd8091b42u, 0xf0f0f0d0u, 0xd8091b42u, 0xf0f0f0d0u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x69b8aa6eu, 0xffff8001u, 0xfc889b4au, 0xfc899b49u, 0x0a64ae22u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0x0000003fu, 0x00000000u, 0x0000003fu, 0x0000003fu, 0x00000000u, 0xffffffc0u, 0xffffffc0u, 0xffffffffu, 0x000000ffu, 0x000000ffu, 0x00000000u, 0xfc000000u, 0x00000000u, 0xfc000000u, 0x0000001au, 0x000003ffu, 0x0000003au, 0x00000006u, 0x00000006u, 0x00000006u, 0x00000006u, 0x00000000u, 0x00000000u, 0x0000001au, 0x0000003au, 0x0000001au, 0x0000003au, 0x0000003fu, 0x0000003fu, 0x0f0f0f0fu, 0x0f0f8f0fu, 0x00007fffu, 0x0f0f0f0fu, 0x519088f5u, 0x0f0f8f0fu, 0x519088f5u, 0x00000003u, 0x00000003u, 0x00000000u, 0x0000003fu, 0x00000fffu, 0x00000000u, 0x519088f5u, 0x0f0f0f0fu, 0x519088f5u, 0x00000000u, 0x00000000u, 0x000000ffu, 0x0f0f0f0fu, 0x519088f5u, 0x0000003fu, 0x0000003fu, 0x0f0f0f0fu, 0x519088f5u, 0x0000003fu, 0x00000000u, 0x0f0f0f0fu, 0x519088f5u, 0x0000003fu, 0x519088f5u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000000eu, 0x00000000u, 0x0000003fu, 0x00000000u, 0x0000003fu, 0x00000000u, 0x0000003fu, 0x00000000u, 0xffffffffu, 0x00000000u, 0xffffffffu, 0x00000000u, 0xffffffc0u, 0x00000000u, 0xffffffc0u, 0x00000000u, 0x0000007fu, 0x00000000u, 0x00000000u, 0x00000000u, 0xffffffc0u, 0x00000000u, 0x00000000u, 0x0000003fu, 0x0000003fu, 0x0f0f0f0fu, 0x519088f5u, 0x0000000fu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000000bu, 0x0f0f0f0fu, 0x519088f5u, 0x0f0f0f3fu, 0x519088f5u, 0x0f0f0f0fu, 0x519088f5u, 0x0f0f0f30u, 0x519088f5u, 0x0f0f0f0fu, 0x519088f5u, 0x00000030u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x0f0f0f0fu, 0x519088f5u, 0xf0f0f0ffu, 0xae6f770au, 0x0f0f0f0fu, 0x519088f5u, 0xfffffff0u, 0xffffffffu, 0x0f0f0f0fu, 0x519088f5u, 0xf0f0f0c0u, 0xae6f770au, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x0f0f0f0fu, 0x519088f5u, 0xf0f0f0cfu, 0xae6f770au, 0x0f0f0f0fu, 0x519088f5u, 0x0f0f0f00u, 0x519088f5u, 0x0f0f0f0fu, 0x519088f5u, 0xffffffcfu, 0xffffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x0f0f0f00u, 0x519088f5u, 0x0f0f0f00u, 0x519088f5u, 0x00000030u, 0x00000000u, 0x00000030u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x69a6d389u, 0xffff8001u, 0xffff803fu, 0x0000803eu, 0xffffff43u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000019u},
{0x00000003u, 0x11111111u, 0x00000003u, 0x00000003u, 0x11111111u, 0xfffffffcu, 0xfffffffcu, 0xeeeeeeeeu, 0x0000000fu, 0x0000000fu, 0xffffffffu, 0xc0000000u, 0x88888888u, 0xc0000000u, 0x0000001eu, 0x000003ffu, 0x00000036u, 0x00000002u, 0x0000000au, 0x00000002u, 0x00000002u, 0x00000000u, 0x00000000u, 0x0000001eu, 0x00000003u, 0x0000001eu, 0x00000003u, 0x00000003u, 0x00000003u, 0x00000003u, 0x0000000bu, 0x00007fffu, 0x00000003u, 0x11111111u, 0x0000000bu, 0x11111111u, 0x00000001u, 0x0000ff01u, 0x00000000u, 0x00000003u, 0x0000000fu, 0x00000000u, 0x11111111u, 0x00000003u, 0x11111111u, 0x00000000u, 0x00000000u, 0x000000ffu, 0x00000003u, 0x11111111u, 0x00000003u, 0x00000003u, 0x00000003u, 0x11111111u, 0x00000003u, 0x11111111u, 0x11111111u, 0x11111111u, 0x00000003u, 0x11111111u, 0x11111111u, 0x00000001u, 0x00000000u, 0x0000000fu, 0x11111111u, 0x11111113u, 0x11111111u, 0x11111112u, 0x11111111u, 0x00000002u, 0x11111111u, 0xeeeeeeefu, 0x11111111u, 0xfffffffeu, 0x11111111u, 0xeeeeeeecu, 0x11111111u, 0xeeeeeeedu, 0x00000000u, 0x0000007fu, 0x11111111u, 0x11111110u, 0x11111111u, 0xfffffffdu, 0x11111110u, 0x11111110u, 0x00000002u, 0x00000002u, 0x00000003u, 0x11111111u, 0x00000003u, 0x11111111u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x00000003u, 0x11111111u, 0x00000003u, 0x11111111u, 0x00000003u, 0x11111111u, 0x00000000u, 0x00000000u, 0x00000003u, 0x11111111u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000004u, 0x00000003u, 0x11111111u, 0xffffffffu, 0xffffffffu, 0x00000003u, 0x11111111u, 0xfffffffcu, 0xeeeeeeeeu, 0x00000003u, 0x11111111u, 0xfffffffcu, 0xeeeeeeeeu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000003u, 0x11111111u, 0xffffffffu, 0xffffffffu, 0x00000003u, 0x11111111u, 0x00000000u, 0x00000000u, 0x00000003u, 0x11111111u, 0xffffffffu, 0xffffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000005u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x12cb5389u, 0xffff8001u, 0xffff8003u, 0x00008002u, 0xfffffff7u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000019u},
{0x00000021u, 0x00000003u, 0x00000021u, 0x00000021u, 0x00000003u, 0xffffffdeu, 0xffffffdeu, 0xfffffffcu, 0x000000ffu, 0x000000ffu, 0x0000000fu, 0x84000000u, 0xc0000000u, 0x84000000u, 0x0000001eu, 0x000003ffu, 0x0000003cu, 0x00000002u, 0x00000004u, 0x00000001u, 0x00000001u, 0x00000000u, 0x00000000u, 0x0000001au, 0x0000001eu, 0x0000001au, 0x0000001eu, 0x00000021u, 0x00000021u, 0x00000020u, 0x00000021u, 0x00007fffu, 0x00000020u, 0x00000002u, 0x00000020u, 0x00000003u, 0x00000003u, 0x00000103u, 0x00000000u, 0x00000021u, 0x00000c03u, 0x00000000u, 0x00000021u, 0x00000021u, 0x00000003u, 0x00000000u, 0x00000000u, 0x000000ffu, 0x00000021u, 0x00000003u, 0x00000021u, 0x00000003u, 0x00000021u, 0x00000003u, 0x00000021u, 0x00000003u, 0x00000021u, 0x00000003u, 0x00000021u, 0x00000003u, 0x00000003u, 0x00000001u, 0x00000000u, 0x0000000fu, 0x00000003u, 0x00000023u, 0x00000003u, 0x00000022u, 0x00000003u, 0x00000020u, 0x00000003u, 0xfffffffdu, 0x00000003u, 0xfffffffeu, 0x00000003u, 0xffffffdcu, 0x00000003u, 0xffffffddu, 0x00000000u, 0x0000007fu, 0x00000003u, 0x00000002u, 0x00000003u, 0xffffffdfu, 0x00000002u, 0x00000002u, 0x00000020u, 0x00000020u, 0x00000020u, 0x00000003u, 0x00000020u, 0x00000003u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x00000020u, 0x00000003u, 0x00000021u, 0x00000003u, 0x00000020u, 0x00000003u, 0x00000001u, 0x00000000u, 0x00000020u, 0x00000003u, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000020u, 0x00000003u, 0xffffffffu, 0xffffffffu, 0x00000020u, 0x00000003u, 0xffffffdfu, 0xfffffffcu, 0x00000020u, 0x00000003u, 0xffffffdeu, 0xfffffffcu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000020u, 0x00000003u, 0xfffffffeu, 0xffffffffu, 0x00000020u, 0x00000003u, 0x00000000u, 0x00000000u, 0x00000020u, 0x00000003u, 0xfffffffeu, 0xffffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000005u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000001u, 0x00000000u, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x2e38ab89u, 0xffff8001u, 0xffff8021u, 0x00008020u, 0xffffff9du, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000019u},
{0xf0f0f0f0u, 0xffff8000u, 0xf0f0f0f0u, 0xf0f0f0f0u, 0xfffffffeu, 0x0f0f0f0fu, 0x0f0f0f0fu, 0x00007fffu, 0xf0f0f0f0u, 0xf0f0f0f0u, 0xfffff000u, 0x0f0f0f0fu, 0x0001ffffu, 0x0f0f0f0fu, 0x00000010u, 0x0000027fu, 0x0000001fu, 0x00000010u, 0x00000021u, 0x00000000u, 0x00000000u, 0x00000004u, 0x00000004u, 0x00000000u, 0x00000000u, 0x00000004u, 0x00000011u, 0xfffffff0u, 0xfffff0f0u, 0xf0f0f0f0u, 0xf0f1f0f0u, 0x00007fffu, 0xf0f0f0f0u, 0xfffefffeu, 0xf0f0f0f0u, 0xfffffffeu, 0x000000aau, 0x0000f8aau, 0x00000000u, 0x0f0f0f10u, 0xff00ff00u, 0xff00ff00u, 0xf0f0f0f0u, 0xf0f0f0f0u, 0xffff8000u, 0x00000000u, 0x00000000u, 0x000000ffu, 0xf0f0f0f0u, 0xfffffffeu, 0xf0f0f0f0u, 0xffff8000u, 0xf0f0f0f0u, 0xffff8000u, 0xf0f0f0f0u, 0xffff8000u, 0xf0f0f0f0u, 0xfffffffeu, 0xf0f0f0f0u, 0xffff8000u, 0xffff8000u, 0xf0f08000u, 0x00000000u, 0x0000000fu, 0xffff8000u, 0xfffff0f0u, 0xffff8000u, 0x0f0f70f0u, 0xffff8000u, 0x000070f0u, 0xffff8000u, 0xf0f0ffffu, 0xffff8000u, 0x0f0f7fffu, 0xffff8000u, 0x00000f0fu, 0xffff8000u, 0xf0f08f0fu, 0x00000000u, 0x0000007fu, 0xffff8000u, 0x0f0f0000u, 0xffff8000u, 0xffff8f0fu, 0x0f0f0000u, 0x0f0f0000u, 0x000070f0u, 0x000070f0u, 0xf0f0f0f0u, 0xfffffffeu, 0xf0f0f0f0u, 0xffff8000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0xf0f0f0f0u, 0xfffffffeu, 0xf0f0f0f0u, 0xfffffffeu, 0xf0f0f0f0u, 0xfffffffeu, 0x00000000u, 0x00007ffeu, 0xf0f0f0f0u, 0xfffffffeu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000006u, 0xf0f0f0f0u, 0xfffffffeu, 0xffffffffu, 0xffff8001u, 0xf0f0f0f0u, 0xfffffffeu, 0x0f0f0f0fu, 0x00007fffu, 0xf0f0f0f0u, 0xfffffffeu, 0x0f0f0f0fu, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0xf0f0f0f0u, 0xfffffffeu, 0xffffffffu, 0xffff8001u, 0xf0f0f0f0u, 0xfffffffeu, 0x00000000u, 0x00007ffeu, 0xf0f0f0f0u, 0xfffffffeu, 0xffffffffu, 0xffffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000000u, 0x00007ffeu, 0x00000000u, 0x00007ffeu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x52caca6eu, 0xffff8001u, 0xf0f070f0u, 0xf0f170efu, 0x2d2d2d30u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0x7afb2c68u, 0x80000000u, 0x00010003u, 0x00010003u, 0x7a86f7a2u, 0x8504d397u, 0x8504d397u, 0x7fffffffu, 0xffffffffu, 0xffffffffu, 0xf0000000u, 0x1634df5eu, 0x00000001u, 0x1634df5eu, 0x0000000eu, 0x0000027fu, 0x0000002du, 0x00000012u, 0x00000013u, 0x00000000u, 0x00000000u, 0x00000003u, 0x00000003u, 0x00000001u, 0x00000000u, 0x00000001u, 0x00000001u, 0x00000068u, 0x00002c68u, 0x00010003u, 0x0001000bu, 0x00007fffu, 0x00010003u, 0x7a86f7a2u, 0x0001000bu, 0x7a86f7a2u, 0x000000ffu, 0x000080ffu, 0x00000000u, 0x7afb2c68u, 0x0cf03cc0u, 0x3fccffcfu, 0x7a86f7a2u, 0x00010003u, 0x7a86f7a2u, 0x00000000u, 0x00000000u, 0x000000ffu, 0x00010003u, 0x7a86f7a2u, 0x7afb2c68u, 0x7afb2c68u, 0x00010003u, 0x7a86f7a2u, 0x7afb2c68u, 0x80000000u, 0x00010003u, 0x7a86f7a2u, 0x7afb2c68u, 0x80000000u, 0x80000000u, 0x00000000u, 0x00000000u, 0x0000000eu, 0x80000000u, 0xfafb2c68u, 0x80000000u, 0xfafb2c68u, 0x80000000u, 0x7afb2c68u, 0x80000000u, 0x7fffffffu, 0x80000000u, 0xffffffffu, 0x80000000u, 0x0504d397u, 0x80000000u, 0x0504d397u, 0x00000000u, 0x0000007fu, 0x80000000u, 0x80000000u, 0x80000000u, 0x8504d397u, 0x80000000u, 0x80000000u, 0x7afb2c68u, 0x7afb2c68u, 0x00010003u, 0x7a86f7a2u, 0x00010000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x00010003u, 0x7a86f7a2u, 0x7afb2c6bu, 0xfa86f7a2u, 0x00010003u, 0x7a86f7a2u, 0x7afa2c6bu, 0xfa86f7a2u, 0x00010003u, 0x7a86f7a2u, 0x7afa2c68u, 0x80000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00010003u, 0x7a86f7a2u, 0xfffffffcu, 0x8579085du, 0x00010003u, 0x7a86f7a2u, 0xfffeffffu, 0xffffffffu, 0x00010003u, 0x7a86f7a2u, 0x8504d394u, 0x0579085du, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00010003u, 0x7a86f7a2u, 0x8505d394u, 0x0579085du, 0x00010003u, 0x7a86f7a2u, 0x00000003u, 0x7a86f7a2u, 0x00010003u, 0x7a86f7a2u, 0x8505d397u, 0x7fffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000003u, 0x7a86f7a2u, 0x00000003u, 0x7a86f7a2u, 0x7afa2c68u, 0x80000000u, 0x7afa2c68u, 0x80000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x6e38ab8eu, 0xffff8001u, 0x7afaac68u, 0x7afbac67u, 0x8f0e7ac8u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0xaaaaaaaau, 0x00000001u, 0xaaaaaaaau, 0xaaaaaaaau, 0xdd02de92u, 0x55555555u, 0x55555555u, 0xfffffffeu, 0xffffffffu, 0xffffffffu, 0x0000000fu, 0x55555555u, 0x80000000u, 0x55555555u, 0x00000010u, 0x0000027fu, 0x0000002fu, 0x00000010u, 0x00000011u, 0x00000000u, 0x00000000u, 0x00000001u, 0x00000001u, 0x00000000u, 0x0000001fu, 0x00000001u, 0x0000001fu, 0xffffffaau, 0xffffaaaau, 0xaaaaaaaau, 0xaaaaaeaau, 0x00007fffu, 0xaaaaaaaau, 0xdd02da92u, 0xaaaaaaaau, 0xdd02de92u, 0x000000ffu, 0x000001ffu, 0x00000000u, 0x55555556u, 0xccccccccu, 0xccccccccu, 0xaaaaaaaau, 0xaaaaaaaau, 0xdd02de92u, 0x00000000u, 0x00000000u, 0x000000ffu, 0xaaaaaaaau, 0xdd02de92u, 0xaaaaaaaau, 0x00000001u, 0xaaaaaaaau, 0xdd02de92u, 0xaaaaaaaau, 0x00000001u, 0xaaaaaaaau, 0xdd02de92u, 0xaaaaaaaau, 0x00000001u, 0x00000001u, 0x00000000u, 0x00000000u, 0x0000000eu, 0x00000001u, 0xaaaaaaabu, 0x00000001u, 0xaaaaaaabu, 0x00000001u, 0xaaaaaaaau, 0x00000001u, 0xfffffffeu, 0x00000001u, 0xffffffffu, 0x00000001u, 0x55555554u, 0x00000001u, 0x55555554u, 0x00000000u, 0x0000007fu, 0x00000001u, 0x00000001u, 0x00000001u, 0x55555555u, 0x00000001u, 0x00000001u, 0xaaaaaaaau, 0xaaaaaaaau, 0xaaaaaaaau, 0xdd02de92u, 0xaaaaaaaau, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0xaaaaaaaau, 0xdd02de92u, 0xaaaaaaaau, 0xdd02de93u, 0xaaaaaaaau, 0xdd02de92u, 0x00000000u, 0xdd02de93u, 0xaaaaaaaau, 0xdd02de92u, 0x00000000u, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0xaaaaaaaau, 0xdd02de92u, 0xffffffffu, 0x22fd216du, 0xaaaaaaaau, 0xdd02de92u, 0x55555555u, 0xffffffffu, 0xaaaaaaaau, 0xdd02de92u, 0x55555555u, 0x22fd216cu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0xaaaaaaaau, 0xdd02de92u, 0xffffffffu, 0x22fd216cu, 0xaaaaaaaau, 0xdd02de92u, 0x00000000u, 0xdd02de92u, 0xaaaaaaaau, 0xdd02de92u, 0xffffffffu, 0xfffffffeu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000000u, 0xdd02de92u, 0x00000000u, 0xdd02de92u, 0x00000000u, 0x00000001u, 0x00000000u, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x72cad26eu, 0xffff8001u, 0xaaaa2aaau, 0xaaab2aa9u, 0x00000002u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0x00000021u, 0x00010000u, 0x55555555u, 0x55555555u, 0x00010000u, 0xffffffdeu, 0xffffffdeu, 0xfffeffffu, 0x000000ffu, 0x000000ffu, 0x000f0000u, 0x84000000u, 0x00008000u, 0x84000000u, 0x0000001eu, 0x0000027fu, 0x0000003du, 0x00000002u, 0x00000003u, 0x00000001u, 0x00000001u, 0x00000000u, 0x00000000u, 0x0000001au, 0x0000000fu, 0x0000001au, 0x0000000fu, 0x00000021u, 0x00000021u, 0x55555555u, 0x55755555u, 0x00007fffu, 0x55555555u, 0x00010000u, 0x55755555u, 0x00010000u, 0x00000003u, 0x00001003u, 0x00000000u, 0x00000021u, 0x00000c03u, 0x00000000u, 0x00010000u, 0x00000021u, 0x00010000u, 0x00000000u, 0x00000000u, 0x000000ffu, 0x55555555u, 0x00000021u, 0x00000021u, 0x00010000u, 0x00000021u, 0x00010000u, 0x00000021u, 0x00010000u, 0x55555555u, 0x00010000u, 0x00000021u, 0x00010000u, 0x00010000u, 0x00000000u, 0x00000000u, 0x0000000eu, 0x00010000u, 0x00010021u, 0x00010000u, 0x00010021u, 0x00010000u, 0x00000021u, 0x00010000u, 0xfffeffffu, 0x00010000u, 0xffffffffu, 0x00010000u, 0xfffeffdeu, 0x00010000u, 0xfffeffdeu, 0x00000000u, 0x0000007fu, 0x00010000u, 0x00010000u, 0x00010000u, 0xffffffdeu, 0x00010000u, 0x00010000u, 0x00000021u, 0x00000021u, 0x55555555u, 0x00010000u, 0x00000001u, 0x00010000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x55555555u, 0x00010000u, 0x55555575u, 0x00010000u, 0x55555555u, 0x00010000u, 0x55555574u, 0x00000000u, 0x55555555u, 0x00010000u, 0x00000020u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x55555555u, 0x00010000u, 0xaaaaaaabu, 0xffffffffu, 0x55555555u, 0x00010000u, 0xfffffffeu, 0xfffeffffu, 0x55555555u, 0x00010000u, 0xaaaaaa8au, 0xfffeffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x55555555u, 0x00010000u, 0xaaaaaa8bu, 0xffffffffu, 0x55555555u, 0x00010000u, 0x55555554u, 0x00000000u, 0x55555555u, 0x00010000u, 0xffffffdfu, 0xffffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x55555554u, 0x00000000u, 0x55555554u, 0x00000000u, 0x00000020u, 0x00000000u, 0x00000020u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x69a6d389u, 0xffff8001u, 0xffff8021u, 0x00008020u, 0xffffff9du, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000019u},
{0x31f51707u, 0xd17e4497u, 0x31f51707u, 0x31f51707u, 0xd17e4497u, 0xce0ae8f8u, 0xce0ae8f8u, 0x2e81bb68u, 0xffffff0fu, 0xffffff0fu, 0xffffffffu, 0xe0e8af8cu, 0xe9227e8bu, 0xe0e8af8cu, 0x00000010u, 0x000003ffu, 0x0000001fu, 0x00000010u, 0x00000021u, 0x00000003u, 0x00000003u, 0x00000000u, 0x00000000u, 0x00000002u, 0x00000000u, 0x00000002u, 0x00000002u, 0x00000007u, 0x00001707u, 0x00010000u, 0x00010001u, 0x00007fffu, 0x00010000u, 0xd17e4497u, 0x00010001u, 0xd17e4497u, 0x000000fdu, 0x0000fffdu, 0x00000000u, 0x31f51707u, 0x033f003fu, 0x0f03ff33u, 0x31f51707u, 0x31f51707u, 0xd17e4497u, 0x00000000u, 0x00000000u, 0x000000ffu, 0x31f51707u, 0xd17e4497u, 0x31f51707u, 0xd17e4497u, 0x31f51707u, 0xd17e4497u, 0x31f51707u, 0xd17e4497u, 0x00010000u, 0x31f51707u, 0x31f51707u, 0xd17e4497u, 0xd17e4497u, 0x11740407u, 0x00000000u, 0x0000000fu, 0xd17e4497u, 0xf1ff5797u, 0xd17e4497u, 0xe08b5390u, 0xd17e4497u, 0x20811300u, 0xd17e4497u, 0x3ff5bf6fu, 0xd17e4497u, 0xee8bfbf8u, 0xd17e4497u, 0x0e00a868u, 0xd17e4497u, 0x1f74ac6fu, 0x00000000u, 0x0000007fu, 0xd17e4497u, 0xc00a4090u, 0xd17e4497u, 0xdf7eecffu, 0xc00a4090u, 0xc00a4090u, 0x20811300u, 0x20811300u, 0x00010000u, 0xd17e4497u, 0x00010000u, 0xd17e4497u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x00010000u, 0xd17e4497u, 0x31f51707u, 0xd17e4497u, 0x00010000u, 0xd17e4497u, 0x31f41707u, 0x00000000u, 0x00010000u, 0xd17e4497u, 0x31f41707u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00010000u, 0xd17e4497u, 0xffffffffu, 0xffffffffu, 0x00010000u, 0xd17e4497u, 0xfffeffffu, 0x2e81bb68u, 0x00010000u, 0xd17e4497u, 0xce0ae8f8u, 0x2e81bb68u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00010000u, 0xd17e4497u, 0xce0be8f8u, 0xffffffffu, 0x00010000u, 0xd17e4497u, 0x00000000u, 0x00000000u, 0x00010000u, 0xd17e4497u, 0xce0be8f8u, 0xffffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000005u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x31f41707u, 0x00000000u, 0x31f41707u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x2e38ab8eu, 0xffff8001u, 0x31f49707u, 0x31f59706u, 0x6a20baebu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0x00007fffu, 0x00000040u, 0x00007fffu, 0x00007fffu, 0x00000040u, 0xffff8000u, 0xffff8000u, 0xffffffbfu, 0x0000ffffu, 0x0000ffffu, 0x000000f0u, 0xfffe0000u, 0x02000000u, 0xfffe0000u, 0x00000011u, 0x000003ffu, 0x00000030u, 0x0000000fu, 0x00000010u, 0x0000000fu, 0x0000000fu, 0x00000000u, 0x00000000u, 0x00000011u, 0x00000019u, 0x00000011u, 0x00000019u, 0xffffffffu, 0x00007fffu, 0xf4de2c08u, 0xf4de2d08u, 0x00007fffu, 0xf4de2c08u, 0x00020001u, 0xf4de2d08u, 0x00020001u, 0x0000000fu, 0x0000020fu, 0x00000000u, 0x00007fffu, 0x3fffffffu, 0x00000000u, 0x00007fffu, 0x00007fffu, 0x00000040u, 0x00000000u, 0x00000000u, 0x000000ffu, 0x00007fffu, 0x00020001u, 0x00007fffu, 0x00000040u, 0x00007fffu, 0x00000040u, 0x00007fffu, 0x00000040u, 0xf4de2c08u, 0x00020001u, 0x00007fffu, 0x00000040u, 0x00000040u, 0x00000040u, 0x00000000u, 0x0000000fu, 0x00000040u, 0x00007fffu, 0x00000040u, 0x00007fbfu, 0x00000040u, 0x00007fbfu, 0x00000040u, 0xffffffffu, 0x00000040u, 0xffffffbfu, 0x00000040u, 0xffff8000u, 0x00000040u, 0xffff8040u, 0x00000000u, 0x0000007fu, 0x00000040u, 0x00000000u, 0x00000040u, 0xffff8040u, 0x00000000u, 0x00000000u, 0x00007fbfu, 0x00007fbfu, 0xf4de2c08u, 0x00020001u, 0x00002c08u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000000bu, 0xf4de2c08u, 0x00020001u, 0xf4de7fffu, 0x00020041u, 0xf4de2c08u, 0x00020001u, 0xf4de53f7u, 0x00020041u, 0xf4de2c08u, 0x00020001u, 0x000053f7u, 0x00000040u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0xf4de2c08u, 0x00020001u, 0x0b21ffffu, 0xfffdfffeu, 0xf4de2c08u, 0x00020001u, 0xffffd3f7u, 0xffffffffu, 0xf4de2c08u, 0x00020001u, 0x0b218000u, 0xfffdffbeu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0xf4de2c08u, 0x00020001u, 0x0b21ac08u, 0xfffdffbeu, 0xf4de2c08u, 0x00020001u, 0xf4de0000u, 0x00020001u, 0xf4de2c08u, 0x00020001u, 0xffffac08u, 0xffffffbfu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0xf4de0000u, 0x00020001u, 0xf4de0000u, 0x00020001u, 0x000053f7u, 0x00000040u, 0x000053f7u, 0x00000040u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x6e26a988u, 0xffff8001u, 0xffffffffu, 0x0000fffeu, 0xfffe8003u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000019u},
{0x00010000u, 0x00010003u, 0x00010000u, 0x00010000u, 0x00010003u, 0xfffeffffu, 0xfffeffffu, 0xfffefffcu, 0x000f0000u, 0x000f0000u, 0x000f000fu, 0x00008000u, 0xc0008000u, 0x00008000u, 0x0000001fu, 0x000003ffu, 0x0000003cu, 0x00000001u, 0x00000004u, 0x00000000u, 0x00000000u, 0x00000010u, 0x00000010u, 0x0000000fu, 0x0000000fu, 0x0000000fu, 0x0000000fu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000001u, 0x00007fffu, 0x00000000u, 0x00010003u, 0x00000001u, 0x00010003u, 0x00000010u, 0x00001110u, 0x00000000u, 0x00010000u, 0x00000000u, 0x00000003u, 0x00010000u, 0x00010000u, 0x00010003u, 0x00000000u, 0x00000000u, 0x000000ffu, 0x00010000u, 0x00010003u, 0x00010000u, 0x00010003u, 0x00010000u, 0x00010003u, 0x00010000u, 0x00010003u, 0x00010000u, 0x00010003u, 0x00010000u, 0x00010003u, 0x00010003u, 0x00010000u, 0x00000000u, 0x0000000fu, 0x00010003u, 0x00010003u, 0x00010003u, 0x00000003u, 0x00010003u, 0x00000000u, 0x00010003u, 0xfffffffcu, 0x00010003u, 0xfffeffffu, 0x00010003u, 0xfffefffcu, 0x00010003u, 0xfffffffcu, 0x00000000u, 0x0000006fu, 0x00010003u, 0x00000003u, 0x00010003u, 0xffffffffu, 0x00000003u, 0x00000003u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00010003u, 0x00000000u, 0x00010003u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001du, 0x00000000u, 0x00010003u, 0x00010000u, 0x00010003u, 0x00000000u, 0x00010003u, 0x00010000u, 0x00000000u, 0x00000000u, 0x00010003u, 0x00010000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000000u, 0x00010003u, 0xffffffffu, 0xffffffffu, 0x00000000u, 0x00010003u, 0xffffffffu, 0xfffefffcu, 0x00000000u, 0x00010003u, 0xfffeffffu, 0xfffefffcu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000000u, 0x00010003u, 0xfffeffffu, 0xffffffffu, 0x00000000u, 0x00010003u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00010003u, 0xfffeffffu, 0xffffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000005u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00010000u, 0x00000000u, 0x00010000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x2e38d38eu, 0xffff8001u, 0x00008000u, 0x00017fffu, 0xfffd0000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0xe8e72789u, 0x00000040u, 0xe8e72789u, 0xe8e72789u, 0x00000040u, 0x1718d876u, 0x1718d876u, 0xffffffbfu, 0xffffffffu, 0xffffffffu, 0x000000f0u, 0x91e4e717u, 0x02000000u, 0x91e4e717u, 0x0000000fu, 0x000003ffu, 0x0000002eu, 0x00000011u, 0x00000012u, 0x00000001u, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000019u, 0x00000003u, 0x00000019u, 0xffffff89u, 0x00002789u, 0xe8e72589u, 0xe8e72789u, 0x00007fffu, 0xe8e72589u, 0x00010003u, 0xe8e72789u, 0x00010003u, 0x000000ffu, 0x000002ffu, 0x00000000u, 0x1718d877u, 0x0c3fc0c3u, 0xfcc0fc3fu, 0x00000040u, 0xe8e72789u, 0x00000040u, 0x00000000u, 0x00000000u, 0x000000ffu, 0xe8e72789u, 0xe8e72789u, 0xe8e72789u, 0x00000040u, 0xe8e72789u, 0x00000040u, 0xe8e72789u, 0x00000040u, 0xe8e72789u, 0x00010003u, 0xe8e72789u, 0x00000040u, 0x00000040u, 0x00000000u, 0x00000000u, 0x0000000eu, 0x00000040u, 0xe8e727c9u, 0x00000040u, 0xe8e727c9u, 0x00000040u, 0xe8e72789u, 0x00000040u, 0xffffffbfu, 0x00000040u, 0xffffffffu, 0x00000040u, 0x1718d836u, 0x00000040u, 0x1718d836u, 0x00000000u, 0x0000007fu, 0x00000040u, 0x00000040u, 0x00000040u, 0x1718d876u, 0x00000040u, 0x00000040u, 0xe8e72789u, 0xe8e72789u, 0xe8e72789u, 0x00010003u, 0xe8e72789u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0xe8e72789u, 0x00010003u, 0xe8e72789u, 0x00010043u, 0xe8e72789u, 0x00010003u, 0x00000000u, 0x00010043u, 0xe8e72789u, 0x00010003u, 0x00000000u, 0x00000040u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0xe8e72789u, 0x00010003u, 0xffffffffu, 0xfffefffcu, 0xe8e72789u, 0x00010003u, 0x1718d876u, 0xffffffffu, 0xe8e72789u, 0x00010003u, 0x1718d876u, 0xfffeffbcu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0xe8e72789u, 0x00010003u, 0xffffffffu, 0xfffeffbcu, 0xe8e72789u, 0x00010003u, 0x00000000u, 0x00010003u, 0xe8e72789u, 0x00010003u, 0xffffffffu, 0xffffffbfu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x00000000u, 0x00010003u, 0x00000000u, 0x00010003u, 0x00000000u, 0x00000040u, 0x00000000u, 0x00000040u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x72caaa6eu, 0xffff8001u, 0xe8e6a789u, 0xe8e7a788u, 0x454a8965u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0x7691b06fu, 0x80000000u, 0x7691b06fu, 0x7691b06fu, 0x80000000u, 0x896e4f90u, 0x896e4f90u, 0x7fffffffu, 0xfffff0ffu, 0xfffff0ffu, 0xf0000000u, 0xf60d896eu, 0x00000001u, 0xf60d896eu, 0x0000000fu, 0x000003ffu, 0x0000002eu, 0x00000011u, 0x00000012u, 0x00000004u, 0x00000004u, 0x00000000u, 0x00000000u, 0x00000001u, 0x00000000u, 0x00000001u, 0x00000001u, 0x0000006fu, 0xffffb06fu, 0x2b855c1fu, 0xab855c1fu, 0x00007fffu, 0x2b855c1fu, 0x070d7109u, 0xab855c1fu, 0x070d7109u, 0x000000fbu, 0x000080fbu, 0x00000000u, 0x7691b06fu, 0xcf003cffu, 0x3f3cc303u, 0x070d7109u, 0x2b855c1fu, 0x070d7109u, 0x00000000u, 0x00000000u, 0x000000ffu, 0x2b855c1fu, 0x070d7109u, 0x7691b06fu, 0x7691b06fu, 0x2b855c1fu, 0x070d7109u, 0x7691b06fu, 0x80000000u, 0x2b855c1fu, 0x070d7109u, 0x7691b06fu, 0x80000000u, 0x80000000u, 0x00000000u, 0x00000000u, 0x0000000eu, 0x80000000u, 0xf691b06fu, 0x80000000u, 0xf691b06fu, 0x80000000u, 0x7691b06fu, 0x80000000u, 0x7fffffffu, 0x80000000u, 0xffffffffu, 0x80000000u, 0x096e4f90u, 0x80000000u, 0x096e4f90u, 0x00000000u, 0x0000007fu, 0x80000000u, 0x80000000u, 0x80000000u, 0x896e4f90u, 0x80000000u, 0x80000000u, 0x7691b06fu, 0x7691b06fu, 0x2b855c1fu, 0x070d7109u, 0x2281100fu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0x2b855c1fu, 0x070d7109u, 0x7f95fc7fu, 0x870d7109u, 0x2b855c1fu, 0x070d7109u, 0x5d14ec70u, 0x870d7109u, 0x2b855c1fu, 0x070d7109u, 0x5410a060u, 0x80000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x2b855c1fu, 0x070d7109u, 0xf6fbb3efu, 0xf8f28ef6u, 0x2b855c1fu, 0x070d7109u, 0xdd7eeff0u, 0xffffffffu, 0x2b855c1fu, 0x070d7109u, 0x806a0380u, 0x78f28ef6u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x2b855c1fu, 0x070d7109u, 0xa2eb138fu, 0x78f28ef6u, 0x2b855c1fu, 0x070d7109u, 0x09044c10u, 0x070d7109u, 0x2b855c1fu, 0x070d7109u, 0xabef5f9fu, 0x7fffffffu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x09044c10u, 0x070d7109u, 0x09044c10u, 0x070d7109u, 0x5410a060u, 0x80000000u, 0x5410a060u, 0x80000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x6e38d38eu, 0xffff8001u, 0x7691306fu, 0x7692306eu, 0x9c4aeeb3u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u},
{0x256badf9u, 0x988af3fbu, 0x256badf9u, 0x256badf9u, 0x988af3fbu, 0xda945206u, 0xda945206u, 0x67750c04u, 0xffffffffu, 0xffffffffu, 0xffffffffu, 0x9fb5d6a4u, 0xdfcf5119u, 0x9fb5d6a4u, 0x0000000du, 0x000003ffu, 0x0000001au, 0x00000013u, 0x00000026u, 0x00000001u, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000002u, 0x00000000u, 0x00000002u, 0x00000001u, 0xfffffff9u, 0xffffadf9u, 0xa842bc19u, 0xaa42bc19u, 0x00007fffu, 0xa842bc19u, 0x27e9e06fu, 0xaa42bc19u, 0x27e9e06fu, 0x000000ffu, 0x0000ffffu, 0x00000000u, 0x256badf9u, 0xccf3ffc3u, 0x0c333ccfu, 0x988af3fbu, 0x256badf9u, 0x988af3fbu, 0x00000000u, 0x00000000u, 0x000000ffu, 0xa842bc19u, 0x256badf9u, 0x256badf9u, 0x988af3fbu, 0x256badf9u, 0x988af3fbu, 0x256badf9u, 0x988af3fbu, 0xa842bc19u, 0x27e9e06fu, 0x988af3fbu, 0x988af3fbu, 0x988af3fbu, 0x000aa1f9u, 0x00000000u, 0x0000000fu, 0x988af3fbu, 0xbdebfffbu, 0x988af3fbu, 0xbde15e02u, 0x988af3fbu, 0x25610c00u, 0x988af3fbu, 0x677fadfdu, 0x988af3fbu, 0xfff55e06u, 0x988af3fbu, 0x42140004u, 0x988af3fbu, 0x421ea1fdu, 0x00000000u, 0x0000007fu, 0x988af3fbu, 0x98805202u, 0x988af3fbu, 0xda9ef3ffu, 0x98805202u, 0x98805202u, 0x25610c00u, 0x25610c00u, 0xa842bc19u, 0x27e9e06fu, 0x2042ac19u, 0x0088e06bu, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000001fu, 0xa842bc19u, 0x27e9e06fu, 0xad6bbdf9u, 0xbfebf3ffu, 0xa842bc19u, 0x27e9e06fu, 0x8d2911e0u, 0xbf631394u, 0xa842bc19u, 0x27e9e06fu, 0x052901e0u, 0x98021390u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0xa842bc19u, 0x27e9e06fu, 0x77ffefffu, 0xd89efffbu, 0xa842bc19u, 0x27e9e06fu, 0xdfbd53e6u, 0xff771f94u, 0xa842bc19u, 0x27e9e06fu, 0x52944206u, 0x40140c00u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0xa842bc19u, 0x27e9e06fu, 0x72d6ee1fu, 0x409cec6bu, 0xa842bc19u, 0x27e9e06fu, 0x88001000u, 0x27610004u, 0xa842bc19u, 0x27e9e06fu, 0xfad6fe1fu, 0x67fdec6fu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000007u, 0x88001000u, 0x27610004u, 0x88001000u, 0x27610004u, 0x052901e0u, 0x98021390u, 0x052901e0u, 0x98021390u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x6e26d38eu, 0xffff8001u, 0x256b2df9u, 0x256c2df8u, 0x8fbcf615u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000009u}
};
constexpr const char* Names[176] = {"mov_b64 s12", "mov_b64 s13", "cmov_b32 s12", "cmov_b64 s12", "cmov_b64 s13", "not_b32 s12", "not_b64 s12", "not_b64 s13", "wqm_b32 s12", "wqm_b64 s12", "wqm_b64 s13", "brev_b32 s12", "brev_b64 s12", "brev_b64 s13", "bcnt0_i32_b32 s12", "scc mov_b64,cmov_b32,cmov_b64,not_b32,not_b64,wqm_b32,wqm_b64,brev_b32,brev_b64,bcnt0_i32_b32", "bcnt0_i32_b64 s12", "bcnt1_i32_b32 s12", "bcnt1_i32_b64 s12", "ff0_i32_b32 s12", "ff0_i32_b64 s12", "ff1_i32_b32 s12", "ff1_i32_b64 s12", "flbit_i32_b32 s12", "flbit_i32_b64 s12", "flbit_i32 s12", "flbit_i32_i64 s12", "sext_i32_i8 s12", "sext_i32_i16 s12", "bitset0_b32 s12", "bitset1_b32 s12", "scc bcnt0_i32_b64,bcnt1_i32_b32,bcnt1_i32_b64,ff0_i32_b32,ff0_i32_b64,ff1_i32_b32,ff1_i32_b64,flbit_i32_b32,flbit_i32_b64,flbit_i32,flbit_i32_i64,sext_i32_i8,sext_i32_i16,bitset0_b32,bitset1_b32", "bitset0_b64 s12", "bitset0_b64 s13", "bitset1_b64 s12", "bitset1_b64 s13", "quadmask_b32 s12", "quadmask_b64 s12", "quadmask_b64 s13", "abs_i32 s12", "bitreplicate_b64_b32 s12", "bitreplicate_b64_b32 s13", "movrels_b32 s12", "movrels_b64 s12", "movrels_b64 s13", nullptr, nullptr, "scc bitset0_b64,bitset1_b64,quadmask_b32,quadmask_b64,abs_i32,bitreplicate_b64_b32,movrels_b32,movrels_b64", "movreld_b32 s12", "movreld_b32 s13", "movreld_b32 s14", "movreld_b32 s15", "movreld_b64 s12", "movreld_b64 s13", "movreld_b64 s14", "movreld_b64 s15", "movrelsd_2_b32 s12", "movrelsd_2_b32 s13", "movrelsd_2_b32 s14", "movrelsd_2_b32 s15", "and_saveexec_b32 s12", "and_saveexec_b32 s13", nullptr, "scc movreld_b32,movreld_b64,movrelsd_2_b32,and_saveexec_b32", "or_saveexec_b32 s12", "or_saveexec_b32 s13", "xor_saveexec_b32 s12", "xor_saveexec_b32 s13", "andn2_saveexec_b32 s12", "andn2_saveexec_b32 s13", "orn2_saveexec_b32 s12", "orn2_saveexec_b32 s13", "nand_saveexec_b32 s12", "nand_saveexec_b32 s13", "nor_saveexec_b32 s12", "nor_saveexec_b32 s13", "xnor_saveexec_b32 s12", "xnor_saveexec_b32 s13", nullptr, "scc or_saveexec_b32,xor_saveexec_b32,andn2_saveexec_b32,orn2_saveexec_b32,nand_saveexec_b32,nor_saveexec_b32,xnor_saveexec_b32", "andn1_saveexec_b32 s12", "andn1_saveexec_b32 s13", "orn1_saveexec_b32 s12", "orn1_saveexec_b32 s13", "andn1_wrexec_b32 s12", "andn1_wrexec_b32 s13", "andn2_wrexec_b32 s12", "andn2_wrexec_b32 s13", "and_saveexec_b64 s12", "and_saveexec_b64 s13", "and_saveexec_b64 s14", "and_saveexec_b64 s15", nullptr, nullptr, nullptr, "scc andn1_saveexec_b32,orn1_saveexec_b32,andn1_wrexec_b32,andn2_wrexec_b32,and_saveexec_b64", "or_saveexec_b64 s12", "or_saveexec_b64 s13", "or_saveexec_b64 s14", "or_saveexec_b64 s15", "xor_saveexec_b64 s12", "xor_saveexec_b64 s13", "xor_saveexec_b64 s14", "xor_saveexec_b64 s15", "andn2_saveexec_b64 s12", "andn2_saveexec_b64 s13", "andn2_saveexec_b64 s14", "andn2_saveexec_b64 s15", nullptr, nullptr, nullptr, "scc or_saveexec_b64,xor_saveexec_b64,andn2_saveexec_b64", "orn2_saveexec_b64 s12", "orn2_saveexec_b64 s13", "orn2_saveexec_b64 s14", "orn2_saveexec_b64 s15", "nand_saveexec_b64 s12", "nand_saveexec_b64 s13", "nand_saveexec_b64 s14", "nand_saveexec_b64 s15", "nor_saveexec_b64 s12", "nor_saveexec_b64 s13", "nor_saveexec_b64 s14", "nor_saveexec_b64 s15", nullptr, nullptr, nullptr, "scc orn2_saveexec_b64,nand_saveexec_b64,nor_saveexec_b64", "xnor_saveexec_b64 s12", "xnor_saveexec_b64 s13", "xnor_saveexec_b64 s14", "xnor_saveexec_b64 s15", "andn1_saveexec_b64 s12", "andn1_saveexec_b64 s13", "andn1_saveexec_b64 s14", "andn1_saveexec_b64 s15", "orn1_saveexec_b64 s12", "orn1_saveexec_b64 s13", "orn1_saveexec_b64 s14", "orn1_saveexec_b64 s15", nullptr, nullptr, nullptr, "scc xnor_saveexec_b64,andn1_saveexec_b64,orn1_saveexec_b64", "andn1_wrexec_b64 s12", "andn1_wrexec_b64 s13", "andn1_wrexec_b64 s14", "andn1_wrexec_b64 s15", "andn2_wrexec_b64 s12", "andn2_wrexec_b64 s13", "andn2_wrexec_b64 s14", "andn2_wrexec_b64 s15", nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, "scc andn1_wrexec_b64,andn2_wrexec_b64,cmp_eq_i32,cmp_lg_i32,cmp_gt_i32,cmp_ge_i32,cmp_lt_i32,cmp_le_i32,cmp_eq_u32,cmp_lg_u32,cmp_gt_u32,cmp_ge_u32,cmp_lt_u32,cmp_le_u32,cmp_eq_u64,cmp_lg_u64,bitcmp0_b32,bitcmp1_b32,bitcmp0_b64,bitcmp1_b64,cmpk_eq_i32,cmpk_lg_i32,cmpk_gt_i32,cmpk_ge_i32,cmpk_lt_i32,cmpk_le_i32,cmpk_eq_u32,cmpk_lg_u32,cmpk_gt_u32,cmpk_ge_u32,cmpk_lt_u32", "movk_i32 s12", "addk_i32 0x8000 s12", "addk_i32 0x7fff s12", "mulk_i32 s12", nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, "scc cmpk_le_u32,movk_i32,addk_i32,addk_i32,mulk_i32"};
void Fill(std::uint32_t tid, std::uint32_t* words) {
std::copy(std::begin(Rows[tid]), std::end(Rows[tid]), words);
}
std::array<std::uint32_t, 4> BufferDescriptor(const void* data, std::uint32_t bytes) {
const auto address = reinterpret_cast<std::uintptr_t>(data);
return {static_cast<std::uint32_t>(address), static_cast<std::uint32_t>((address >> 32u) & 0xffffu), bytes, 0x01016facu};
}
std::string Hex(std::uint32_t value) {
char text[16];
std::snprintf(text, sizeof(text), "0x%08x", value);
return text;
}
void Expect(std::uint32_t tid, std::uint32_t actual, std::uint32_t expected, const char* name) {
Require(actual == expected, std::string("scalar sop1: lane ") + std::to_string(tid) + " " + name + " is " + Hex(actual) + ", expected " + Hex(expected));
}
void Run(AgcDriver::VulkanDevice& device) {
for (std::uint32_t tid = 0; tid < Threads; ++tid) Fill(tid, &Input[tid * Inputs]);
Output.fill(0xdeadbeefu);
std::vector<std::uint32_t> userData(8, 0u);
const auto input = BufferDescriptor(Input.data(), static_cast<std::uint32_t>(Input.size() * 4u));
const auto output = BufferDescriptor(Output.data(), static_cast<std::uint32_t>(Output.size() * 4u));
std::copy(input.begin(), input.end(), userData.begin());
std::copy(output.begin(), output.end(), userData.begin() + 4);
const std::span<const std::uint32_t> code(Code);
const std::array<ShaderRecompiler::MemoryRegion, 1> memory{{{reinterpret_cast<std::uintptr_t>(code.data()), std::as_bytes(code)}}};
const ShaderRecompiler::ShaderComputeStageInfo compute{{Threads, 1, 1}, 0u, {false, false, false}, false, 1};
ShaderRecompiler::RecompileRequest request{
{ShaderStage::Compute, reinterpret_cast<std::uintptr_t>(code.data()), code, 0, {}},
{32, 0, userData, compute, std::nullopt, std::nullopt, memory},
device.Target(),
{0, 0, 0, 128}
};
request.useCache = false;
const auto result = ShaderRecompiler::Recompile(request);
device.Dispatch(result, 1, 1, 1, {}, reinterpret_cast<std::uintptr_t>(code.data()));
device.WaitIdle();
}
void Check() {
for (std::uint32_t tid = 0; tid < Threads; ++tid) {
const std::uint32_t* in = &Input[tid * Inputs];
const std::uint32_t* out = &Output[tid * Results];
for (std::uint32_t i = 0; i < Results; ++i) {
if (Names[i] != nullptr) Expect(tid, out[i], Expected[tid][i], Names[i]);
}
}
}
}
int main() {
try {
const auto device = OpenVulkanTestDevice();
if (!device) return VulkanTestSkipped;
Run(*device);
Check();
std::puts("scalar sop1 tests passed");
return 0;
} catch (const std::exception& error) {
std::cerr << error.what() << '\n';
return 1;
}
}

View File

@ -248,7 +248,7 @@ private:
bool vCndmaskB32(const RdnaInstruction& inst);
bool packB16(const RdnaInstruction& inst, bool high0, bool high1);
void sSubvectorLoop(const RdnaInstruction& inst, bool begin);
void sSaveexec(const RdnaInstruction& inst, IrOpcode operation, bool negateExec, bool negateSource, bool write64, bool negateResult = false, bool writeDestination = true);
void sSaveexec(const RdnaInstruction& inst, IrOpcode operation, bool negateExec, bool negateSource, bool write64, bool negateResult = false, bool writeResult = false);
void addU32(const RdnaInstruction& inst, bool vector, bool useCarryIn);
void subU32(const RdnaInstruction& inst, bool vector, bool reverse);
void subbU32(const RdnaInstruction& inst, bool vector, bool reverse);

View File

@ -25,17 +25,17 @@ bool SaveexecWritesDestinationFirst() {
return writeFirst;
}
void TranslationContext::sSaveexec(const RdnaInstruction& inst, IrOpcode operation, bool negateExec, bool negateSource, bool write64, bool negateResult, bool writeDestination) {
void TranslationContext::sSaveexec(const RdnaInstruction& inst, IrOpcode operation, bool negateExec, bool negateSource, bool write64, bool negateResult, bool writeResult) {
// Callers name the lane-wise operation; the exec mask words themselves combine bitwise.
if (operation == IrOpcode::LogicalAnd) operation = IrOpcode::BitwiseAnd32;
else if (operation == IrOpcode::LogicalOr) operation = IrOpcode::BitwiseOr32;
else if (operation == IrOpcode::LogicalXor) operation = IrOpcode::BitwiseXor32;
const bool writeFirst = SaveexecWritesDestinationFirst() && writeDestination;
const bool writeFirst = SaveexecWritesDestinationFirst() && !writeResult;
if (write64) {
const std::array<IrU32, 2> oldExec{IrU32(ir.GetExecLo()), IrU32(ir.GetExecHi())};
if (writeFirst) writeU32Pair(inst.destination, oldExec);
const std::array<IrU32, 2> source = readU32Pair(sourceAt(inst, 0u));
if (!writeFirst && writeDestination) writeU32Pair(inst.destination, oldExec);
if (!writeFirst && !writeResult) writeU32Pair(inst.destination, oldExec);
IrValue& lowExecOperand = negateExec ? ir.BitwiseNot(oldExec[0].Value()) : oldExec[0].Value();
IrValue& lowSourceOperand = negateSource ? ir.BitwiseNot(source[0].Value()) : source[0].Value();
IrValue& highExecOperand = negateExec ? ir.BitwiseNot(oldExec[1].Value()) : oldExec[1].Value();
@ -46,6 +46,7 @@ void TranslationContext::sSaveexec(const RdnaInstruction& inst, IrOpcode operati
const IrU32 newExecHi(negateResult ? ir.BitwiseNot(highCombined) : highCombined);
ir.SetExecLo(newExecLo.Value());
ir.SetExecHi(newExecHi.Value());
if (writeResult) writeU32Pair(inst.destination, {newExecLo, newExecHi});
const IrU1 nonZero(ir.LogicalOr(ir.INotEqual(newExecLo.Value(), ir.Constant(0u)), ir.INotEqual(newExecHi.Value(), ir.Constant(0u))));
ir.SetScc(nonZero.Value());
ir.SetExec(threadBit({newExecLo, newExecHi}).Value());
@ -54,12 +55,13 @@ void TranslationContext::sSaveexec(const RdnaInstruction& inst, IrOpcode operati
const IrU32 oldExec(ir.GetExecLo());
if (writeFirst) writeRawU32(inst.destination, oldExec);
const IrU32 source = readU32(sourceAt(inst, 0u));
if (!writeFirst && writeDestination) writeRawU32(inst.destination, oldExec);
if (!writeFirst && !writeResult) writeRawU32(inst.destination, oldExec);
IrValue& execOperand = negateExec ? ir.BitwiseNot(oldExec.Value()) : oldExec.Value();
IrValue& sourceOperand = negateSource ? ir.BitwiseNot(source.Value()) : source.Value();
IrValue& combined = ir.Emit(operation, IrType::U32, {&execOperand, &sourceOperand});
const IrU32 newExec(negateResult ? ir.BitwiseNot(combined) : combined);
ir.SetExecLo(newExec.Value());
if (writeResult) writeRawU32(inst.destination, newExec);
const IrU1 nonZero(ir.INotEqual(newExec.Value(), ir.Constant(0u)));
ir.SetScc(nonZero.Value());
ir.SetExec(threadBit({newExec, IrU32(ir.GetExecHi())}).Value());
@ -254,13 +256,17 @@ void TranslationContext::sWqm(const RdnaInstruction& inst, bool wide) {
const std::array<IrU32, 2> source = readU32Pair(sourceAt(inst, 0u));
const IrU64 wide64(ir.ConstructU64(source[0].Value(), source[1].Value()));
const IrU64 result(ir.Emit(IrOpcode::WqmU64, IrType::U64, {&wide64.Value()}));
writeU32Pair(inst.destination, extractU64(result));
const std::array<IrU32, 2> words = extractU64(result);
writeU32Pair(inst.destination, words);
ir.SetScc(ir.LogicalOr(ir.INotEqual(words[0].Value(), ir.Constant(0u)), ir.INotEqual(words[1].Value(), ir.Constant(0u))));
return;
}
const IrU32 source = readU32(sourceAt(inst, 0u));
const IrU64 wide64(ir.ConstructU64(source.Value(), ir.Constant(0u)));
const IrU64 result(ir.Emit(IrOpcode::WqmU64, IrType::U64, {&wide64.Value()}));
writeRawU32(inst.destination, extractU64(result)[0]);
const IrU32 low = extractU64(result)[0];
writeRawU32(inst.destination, low);
ir.SetScc(ir.INotEqual(low.Value(), ir.Constant(0u)));
}
// M0 holds a uniform register offset. Vector registers are SSA values with fixed indices, so an indexed

View File

@ -115,10 +115,10 @@ bool TranslationContext::emitScalar(const RdnaInstruction& inst) {
sSaveexec(inst, IrOpcode::LogicalXor, false, false, false, true);
return true;
case RdnaOpcode::SAndn1WrexecB32:
sSaveexec(inst, IrOpcode::LogicalAnd, false, true, false, false, false);
sSaveexec(inst, IrOpcode::LogicalAnd, false, true, false, false, true);
return true;
case RdnaOpcode::SAndn2WrexecB32:
sSaveexec(inst, IrOpcode::LogicalAnd, true, false, false, false, false);
sSaveexec(inst, IrOpcode::LogicalAnd, true, false, false, false, true);
return true;
case RdnaOpcode::SAndSaveexecB64:
sSaveexec(inst, IrOpcode::LogicalAnd, false, false, true);
@ -151,10 +151,10 @@ bool TranslationContext::emitScalar(const RdnaInstruction& inst) {
sSaveexec(inst, IrOpcode::LogicalOr, false, true, true);
return true;
case RdnaOpcode::SAndn1WrexecB64:
sSaveexec(inst, IrOpcode::LogicalAnd, false, true, true, false, false);
sSaveexec(inst, IrOpcode::LogicalAnd, false, true, true, false, true);
return true;
case RdnaOpcode::SAndn2WrexecB64:
sSaveexec(inst, IrOpcode::LogicalAnd, true, false, true, false, false);
sSaveexec(inst, IrOpcode::LogicalAnd, true, false, true, false, true);
return true;
case RdnaOpcode::SAddU32:
addU32(inst, false, false);