From bb60170d9a3e1c5e18c942125a857041d1886305 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Sun, 13 Aug 2023 16:28:28 +1000 Subject: [PATCH] Move frontend-common to util/core --- duckstation.sln | 28 - src/CMakeLists.txt | 1 - src/core/CMakeLists.txt | 30 +- .../achievements.cpp | 33 +- src/core/achievements.h | 2 + .../achievements_private.h} | 9 +- src/{frontend-common => core}/common_host.cpp | 79 +- src/{frontend-common => core}/common_host.h | 14 +- src/core/core.props | 10 +- src/core/core.vcxproj | 21 +- src/core/core.vcxproj.filters | 15 +- .../fullscreen_ui.cpp | 59 +- src/{frontend-common => core}/fullscreen_ui.h | 0 src/{frontend-common => core}/game_list.cpp | 19 +- src/{frontend-common => core}/game_list.h | 10 +- src/core/gdb_protocol.cpp | 2 +- src/core/gpu.cpp | 2 +- src/core/gpu_hw.h | 2 +- src/core/gpu_hw_d3d11.cpp | 2 +- src/core/gpu_hw_d3d12.cpp | 2 +- src/core/gpu_hw_opengl.cpp | 2 +- src/core/gpu_hw_shadergen.h | 2 +- src/core/gpu_hw_vulkan.cpp | 2 +- src/core/gpu_sw.cpp | 2 +- src/core/gpu_sw.h | 2 +- src/core/gpu_sw_backend.cpp | 2 +- src/core/gte.cpp | 2 +- src/core/guncon.cpp | 2 +- .../host_settings.cpp | 0 .../imgui_overlays.cpp | 47 +- .../imgui_overlays.h | 2 +- src/core/playstation_mouse.cpp | 2 +- src/core/resources.cpp | 1826 ++++++++++++++++ src/core/resources.h | 8 + src/core/settings.cpp | 6 +- src/core/settings.h | 2 - src/core/system.cpp | 2 +- src/duckstation-nogui/CMakeLists.txt | 2 +- .../duckstation-nogui.vcxproj | 5 +- src/duckstation-nogui/nogui_host.cpp | 49 +- src/duckstation-nogui/nogui_platform.h | 2 +- .../win32_nogui_platform.cpp | 2 +- src/duckstation-qt/CMakeLists.txt | 2 +- src/duckstation-qt/achievementlogindialog.cpp | 2 +- .../achievementsettingswidget.cpp | 9 +- src/duckstation-qt/audiosettingswidget.cpp | 11 +- .../controllerbindingwidgets.cpp | 2 +- .../controllerglobalsettingswidget.cpp | 2 +- .../controllersettingsdialog.cpp | 2 +- src/duckstation-qt/controllersettingsdialog.h | 2 +- src/duckstation-qt/coverdownloaddialog.cpp | 4 +- src/duckstation-qt/displaysettingswidget.cpp | 6 +- src/duckstation-qt/displaywidget.cpp | 2 +- src/duckstation-qt/duckstation-qt.vcxproj | 6 +- src/duckstation-qt/gamelistmodel.h | 9 +- src/duckstation-qt/gamelistrefreshthread.cpp | 5 +- src/duckstation-qt/gamelistsettingswidget.cpp | 10 +- src/duckstation-qt/gamelistwidget.cpp | 13 +- src/duckstation-qt/gamelistwidget.h | 4 +- src/duckstation-qt/gamesummarywidget.cpp | 12 +- src/duckstation-qt/hotkeysettingswidget.cpp | 2 +- src/duckstation-qt/inputbindingdialog.h | 2 +- src/duckstation-qt/inputbindingwidgets.h | 2 +- src/duckstation-qt/mainwindow.cpp | 27 +- .../postprocessingchainconfigwidget.cpp | 2 +- .../postprocessingchainconfigwidget.h | 2 +- .../postprocessingshaderconfigwidget.h | 2 +- src/duckstation-qt/qthost.cpp | 52 +- src/duckstation-qt/qthost.h | 8 +- src/duckstation-qt/qtkeycodes.cpp | 2 +- src/duckstation-qt/qttranslations.cpp | 2 +- src/duckstation-qt/qtutils.cpp | 7 +- src/duckstation-qt/settingsdialog.cpp | 15 +- src/duckstation-regtest/CMakeLists.txt | 2 +- .../duckstation-regtest.vcxproj | 5 +- src/frontend-common/CMakeLists.txt | 154 -- src/frontend-common/evdev_input_source.cpp | 542 ----- src/frontend-common/evdev_input_source.h | 92 - src/frontend-common/frontend-common.props | 13 - src/frontend-common/frontend-common.vcxproj | 110 - .../frontend-common.vcxproj.filters | 64 - src/frontend-common/icon.cpp | 1829 ----------------- src/frontend-common/icon.h | 12 - src/util/CMakeLists.txt | 113 +- src/util/audio_stream.h | 13 + .../cubeb_audio_stream.cpp | 9 +- .../cubeb_audio_stream.h | 4 +- .../d3d11_host_display.cpp | 2 +- .../d3d11_host_display.h | 4 +- .../d3d12_host_display.cpp | 2 +- .../d3d12_host_display.h | 2 +- .../dinput_source.cpp | 1 - src/{frontend-common => util}/dinput_source.h | 0 src/{frontend-common => util}/display_ps.hlsl | 0 .../display_ps.hlsl.h | 0 .../display_ps_alpha.hlsl.h | 0 src/{frontend-common => util}/display_vs.hlsl | 0 .../display_vs.hlsl.h | 0 src/{core => util}/host_display.cpp | 2 +- src/{core => util}/host_display.h | 3 +- .../imgui_fullscreen.cpp | 2 +- .../imgui_fullscreen.h | 0 .../imgui_impl_dx11.cpp | 0 .../imgui_impl_dx11.h | 0 .../imgui_impl_dx12.cpp | 0 .../imgui_impl_dx12.h | 0 .../imgui_impl_opengl3.cpp | 0 .../imgui_impl_opengl3.h | 0 .../imgui_impl_vulkan.cpp | 0 .../imgui_impl_vulkan.h | 0 .../imgui_manager.cpp | 8 +- src/{frontend-common => util}/imgui_manager.h | 0 .../input_manager.cpp | 7 - src/{frontend-common => util}/input_manager.h | 3 - .../input_source.cpp | 0 src/{frontend-common => util}/input_source.h | 0 .../make_d3d_display_shader_bytecode.bat | 0 .../opengl_host_display.cpp | 2 +- .../opengl_host_display.h | 2 +- src/{frontend-common => util}/platform_misc.h | 0 .../platform_misc_mac.mm | 0 .../platform_misc_unix.cpp | 0 .../platform_misc_win32.cpp | 0 .../postprocessing_chain.cpp | 0 .../postprocessing_chain.h | 0 .../postprocessing_shader.cpp | 2 +- .../postprocessing_shader.h | 0 .../postprocessing_shadergen.cpp | 0 .../postprocessing_shadergen.h | 2 +- .../sdl_input_source.cpp | 0 .../sdl_input_source.h | 0 src/{core => util}/shadergen.cpp | 0 src/{core => util}/shadergen.h | 3 +- src/util/util.props | 11 +- src/util/util.vcxproj | 70 + src/util/util.vcxproj.filters | 48 + .../vulkan_host_display.cpp | 2 +- .../vulkan_host_display.h | 2 +- .../win32_raw_input_source.cpp | 0 .../win32_raw_input_source.h | 0 .../xaudio2_audio_stream.cpp | 5 +- .../xaudio2_audio_stream.h | 0 .../xinput_source.cpp | 0 src/{frontend-common => util}/xinput_source.h | 0 144 files changed, 2506 insertions(+), 3180 deletions(-) rename src/{frontend-common => core}/achievements.cpp (99%) rename src/{frontend-common/achievements.h => core/achievements_private.h} (98%) rename src/{frontend-common => core}/common_host.cpp (97%) rename src/{frontend-common => core}/common_host.h (67%) rename src/{frontend-common => core}/fullscreen_ui.cpp (99%) rename src/{frontend-common => core}/fullscreen_ui.h (100%) rename src/{frontend-common => core}/game_list.cpp (99%) rename src/{frontend-common => core}/game_list.h (98%) rename src/{frontend-common => core}/host_settings.cpp (100%) rename src/{frontend-common => core}/imgui_overlays.cpp (97%) rename src/{frontend-common => core}/imgui_overlays.h (94%) delete mode 100644 src/frontend-common/CMakeLists.txt delete mode 100644 src/frontend-common/evdev_input_source.cpp delete mode 100644 src/frontend-common/evdev_input_source.h delete mode 100644 src/frontend-common/frontend-common.props delete mode 100644 src/frontend-common/frontend-common.vcxproj delete mode 100644 src/frontend-common/frontend-common.vcxproj.filters delete mode 100644 src/frontend-common/icon.cpp delete mode 100644 src/frontend-common/icon.h rename src/{frontend-common => util}/cubeb_audio_stream.cpp (95%) rename src/{frontend-common => util}/cubeb_audio_stream.h (96%) rename src/{frontend-common => util}/d3d11_host_display.cpp (99%) rename src/{frontend-common => util}/d3d11_host_display.h (98%) rename src/{frontend-common => util}/d3d12_host_display.cpp (99%) rename src/{frontend-common => util}/d3d12_host_display.h (99%) rename src/{frontend-common => util}/dinput_source.cpp (99%) rename src/{frontend-common => util}/dinput_source.h (100%) rename src/{frontend-common => util}/display_ps.hlsl (100%) rename src/{frontend-common => util}/display_ps.hlsl.h (100%) rename src/{frontend-common => util}/display_ps_alpha.hlsl.h (100%) rename src/{frontend-common => util}/display_vs.hlsl (100%) rename src/{frontend-common => util}/display_vs.hlsl.h (100%) rename src/{core => util}/host_display.cpp (99%) rename src/{core => util}/host_display.h (99%) rename src/{frontend-common => util}/imgui_fullscreen.cpp (99%) rename src/{frontend-common => util}/imgui_fullscreen.h (100%) rename src/{frontend-common => util}/imgui_impl_dx11.cpp (100%) rename src/{frontend-common => util}/imgui_impl_dx11.h (100%) rename src/{frontend-common => util}/imgui_impl_dx12.cpp (100%) rename src/{frontend-common => util}/imgui_impl_dx12.h (100%) rename src/{frontend-common => util}/imgui_impl_opengl3.cpp (100%) rename src/{frontend-common => util}/imgui_impl_opengl3.h (100%) rename src/{frontend-common => util}/imgui_impl_vulkan.cpp (100%) rename src/{frontend-common => util}/imgui_impl_vulkan.h (100%) rename src/{frontend-common => util}/imgui_manager.cpp (99%) rename src/{frontend-common => util}/imgui_manager.h (100%) rename src/{frontend-common => util}/input_manager.cpp (99%) rename src/{frontend-common => util}/input_manager.h (99%) rename src/{frontend-common => util}/input_source.cpp (100%) rename src/{frontend-common => util}/input_source.h (100%) rename src/{frontend-common => util}/make_d3d_display_shader_bytecode.bat (100%) rename src/{frontend-common => util}/opengl_host_display.cpp (99%) rename src/{frontend-common => util}/opengl_host_display.h (99%) rename src/{frontend-common => util}/platform_misc.h (100%) rename src/{frontend-common => util}/platform_misc_mac.mm (100%) rename src/{frontend-common => util}/platform_misc_unix.cpp (100%) rename src/{frontend-common => util}/platform_misc_win32.cpp (100%) rename src/{frontend-common => util}/postprocessing_chain.cpp (100%) rename src/{frontend-common => util}/postprocessing_chain.h (100%) rename src/{frontend-common => util}/postprocessing_shader.cpp (99%) rename src/{frontend-common => util}/postprocessing_shader.h (100%) rename src/{frontend-common => util}/postprocessing_shadergen.cpp (100%) rename src/{frontend-common => util}/postprocessing_shadergen.h (92%) rename src/{frontend-common => util}/sdl_input_source.cpp (100%) rename src/{frontend-common => util}/sdl_input_source.h (100%) rename src/{core => util}/shadergen.cpp (100%) rename src/{core => util}/shadergen.h (99%) rename src/{frontend-common => util}/vulkan_host_display.cpp (99%) rename src/{frontend-common => util}/vulkan_host_display.h (99%) rename src/{frontend-common => util}/win32_raw_input_source.cpp (100%) rename src/{frontend-common => util}/win32_raw_input_source.h (100%) rename src/{frontend-common => util}/xaudio2_audio_stream.cpp (95%) rename src/{frontend-common => util}/xaudio2_audio_stream.h (100%) rename src/{frontend-common => util}/xinput_source.cpp (100%) rename src/{frontend-common => util}/xinput_source.h (100%) diff --git a/duckstation.sln b/duckstation.sln index a5c6bc294..b9da4c2ae 100644 --- a/duckstation.sln +++ b/duckstation.sln @@ -35,8 +35,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchdr", "dep\libchdr\libc EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lzma", "dep\lzma\lzma.vcxproj", "{DD944834-7899-4C1C-A4C1-064B5009D239}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "frontend-common", "src\frontend-common\frontend-common.vcxproj", "{6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xxhash", "dep\xxhash\xxhash.vcxproj", "{09553C96-9F39-49BF-8AE6-7ACBD07C410C}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "googletest", "dep\googletest\googletest.vcxproj", "{49953E1B-2EF7-46A4-B88B-1BF9E099093B}" @@ -401,30 +399,6 @@ Global {DD944834-7899-4C1C-A4C1-064B5009D239}.ReleaseLTCG|x64.Build.0 = ReleaseLTCG|x64 {DD944834-7899-4C1C-A4C1-064B5009D239}.ReleaseLTCG|x86.ActiveCfg = ReleaseLTCG|Win32 {DD944834-7899-4C1C-A4C1-064B5009D239}.ReleaseLTCG|x86.Build.0 = ReleaseLTCG|Win32 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.Debug|ARM64.Build.0 = Debug|ARM64 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.Debug|x64.ActiveCfg = Debug|x64 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.Debug|x64.Build.0 = Debug|x64 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.Debug|x86.ActiveCfg = Debug|Win32 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.Debug|x86.Build.0 = Debug|Win32 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.DebugFast|ARM64.ActiveCfg = DebugFast|ARM64 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.DebugFast|ARM64.Build.0 = DebugFast|ARM64 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.DebugFast|x64.ActiveCfg = DebugFast|x64 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.DebugFast|x64.Build.0 = DebugFast|x64 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.DebugFast|x86.ActiveCfg = DebugFast|Win32 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.DebugFast|x86.Build.0 = DebugFast|Win32 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.Release|ARM64.ActiveCfg = Release|ARM64 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.Release|ARM64.Build.0 = Release|ARM64 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.Release|x64.ActiveCfg = Release|x64 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.Release|x64.Build.0 = Release|x64 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.Release|x86.ActiveCfg = Release|Win32 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.Release|x86.Build.0 = Release|Win32 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.ReleaseLTCG|ARM64.ActiveCfg = ReleaseLTCG|ARM64 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.ReleaseLTCG|ARM64.Build.0 = ReleaseLTCG|ARM64 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.ReleaseLTCG|x64.ActiveCfg = ReleaseLTCG|x64 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.ReleaseLTCG|x64.Build.0 = ReleaseLTCG|x64 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.ReleaseLTCG|x86.ActiveCfg = ReleaseLTCG|Win32 - {6245DEC8-D2DA-47EE-A373-CBD6FCF3ECE6}.ReleaseLTCG|x86.Build.0 = ReleaseLTCG|Win32 {09553C96-9F39-49BF-8AE6-7ACBD07C410C}.Debug|ARM64.ActiveCfg = Debug|ARM64 {09553C96-9F39-49BF-8AE6-7ACBD07C410C}.Debug|ARM64.Build.0 = Debug|ARM64 {09553C96-9F39-49BF-8AE6-7ACBD07C410C}.Debug|x64.ActiveCfg = Debug|x64 @@ -611,12 +585,10 @@ Global {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.Debug|x86.Build.0 = Debug|Win32 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.DebugFast|ARM64.ActiveCfg = DebugFast|ARM64 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.DebugFast|x64.ActiveCfg = DebugFast|x64 - {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.DebugFast|x64.Build.0 = DebugFast|x64 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.DebugFast|x86.ActiveCfg = DebugFast|Win32 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.DebugFast|x86.Build.0 = DebugFast|Win32 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.Release|ARM64.ActiveCfg = Release|ARM64 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.Release|x64.ActiveCfg = Release|x64 - {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.Release|x64.Build.0 = Release|x64 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.Release|x86.ActiveCfg = Release|Win32 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.Release|x86.Build.0 = Release|Win32 {0A172B2E-DC67-49FC-A4C1-975F93C586C4}.ReleaseLTCG|ARM64.ActiveCfg = ReleaseLTCG|ARM64 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index dd24bec1a..c8a8d755a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,7 +2,6 @@ add_subdirectory(common) add_subdirectory(util) add_subdirectory(core) add_subdirectory(scmversion) -add_subdirectory(frontend-common) if(NOT ANDROID) add_subdirectory(common-tests) diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 158af6b30..0b450e515 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -16,6 +16,8 @@ add_library(core cheats.h controller.cpp controller.h + common_host.cpp + common_host.h cpu_code_cache.cpp cpu_code_cache.h cpu_core.cpp @@ -29,8 +31,12 @@ add_library(core digital_controller.h dma.cpp dma.h + fullscreen_ui.cpp + fullscreen_ui.h game_database.cpp game_database.h + game_list.cpp + game_list.h gdb_protocol.cpp gdb_protocol.h gpu.cpp @@ -54,12 +60,13 @@ add_library(core gte_types.h host.cpp host.h - host_display.cpp - host_display.h host_interface_progress_callback.cpp host_interface_progress_callback.h + host_settings.cpp host_settings.h input_types.h + imgui_overlays.cpp + imgui_overlays.h interrupt_controller.cpp interrupt_controller.h libcrypt_serials.cpp @@ -90,8 +97,6 @@ add_library(core settings.cpp settings.h shader_cache_version.h - shadergen.cpp - shadergen.h sio.cpp sio.h spu.cpp @@ -181,5 +186,20 @@ else() endif() if(ENABLE_CHEEVOS) - target_compile_definitions(core PRIVATE -DWITH_CHEEVOS=1) + target_sources(core PRIVATE + achievements.cpp + achievements_private.h + ) + target_compile_definitions(core PUBLIC -DWITH_CHEEVOS=1) + target_link_libraries(core PRIVATE rcheevos rapidjson) endif() + +if(ENABLE_DISCORD_PRESENCE) + target_compile_definitions(core PUBLIC -DWITH_DISCORD_PRESENCE=1) + target_link_libraries(core PRIVATE discord-rpc) +endif() + +# Copy the provided data directory to the output directory. +add_custom_command(TARGET core POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/data" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" +) diff --git a/src/frontend-common/achievements.cpp b/src/core/achievements.cpp similarity index 99% rename from src/frontend-common/achievements.cpp rename to src/core/achievements.cpp index 5797e2366..98337235a 100644 --- a/src/frontend-common/achievements.cpp +++ b/src/core/achievements.cpp @@ -1,7 +1,17 @@ // SPDX-FileCopyrightText: 2019-2022 Connor McLaughlin // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) -#include "achievements.h" +#include "achievements_private.h" +#include "bios.h" +#include "bus.h" +#include "cpu_core.h" +#include "fullscreen_ui.h" +#include "host.h" +#include "host_settings.h" +#include "system.h" + +#include "scmversion/scmversion.h" + #include "common/assert.h" #include "common/file_system.h" #include "common/http_downloader.h" @@ -10,16 +20,12 @@ #include "common/path.h" #include "common/platform.h" #include "common/string_util.h" -#include "core/bios.h" -#include "core/bus.h" -#include "core/cpu_core.h" -#include "core/host.h" -#include "core/host_display.h" -#include "core/host_settings.h" -#include "core/system.h" -#include "fullscreen_ui.h" -#include "imgui_fullscreen.h" -#include "platform_misc.h" + +#include "util/cd_image.h" +#include "util/imgui_fullscreen.h" +#include "util/platform_misc.h" +#include "util/state_wrapper.h" + #include "rapidjson/document.h" #include "rc_api_info.h" #include "rc_api_request.h" @@ -27,9 +33,7 @@ #include "rc_api_user.h" #include "rc_url.h" #include "rcheevos.h" -#include "scmversion/scmversion.h" -#include "util/cd_image.h" -#include "util/state_wrapper.h" + #include #include #include @@ -38,6 +42,7 @@ #include #include #include + Log_SetChannel(Achievements); #ifdef WITH_RAINTEGRATION diff --git a/src/core/achievements.h b/src/core/achievements.h index 8e121416e..11574f042 100644 --- a/src/core/achievements.h +++ b/src/core/achievements.h @@ -4,6 +4,8 @@ #pragma once #include "common/types.h" +#include + class StateWrapper; class CDImage; diff --git a/src/frontend-common/achievements.h b/src/core/achievements_private.h similarity index 98% rename from src/frontend-common/achievements.h rename to src/core/achievements_private.h index 9314b820b..171b347d6 100644 --- a/src/frontend-common/achievements.h +++ b/src/core/achievements_private.h @@ -2,10 +2,13 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #pragma once + +#include "achievements.h" +#include "settings.h" +#include "types.h" + #include "common/string.h" -#include "core/achievements.h" -#include "core/settings.h" -#include "core/types.h" + #include #include #include diff --git a/src/frontend-common/common_host.cpp b/src/core/common_host.cpp similarity index 97% rename from src/frontend-common/common_host.cpp rename to src/core/common_host.cpp index 6ceb7d9a0..49f2a3f36 100644 --- a/src/frontend-common/common_host.cpp +++ b/src/core/common_host.cpp @@ -2,7 +2,38 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #include "common_host.h" -#include "IconsFontAwesome5.h" +#include "cdrom.h" +#include "cheats.h" +#include "controller.h" +#include "cpu_code_cache.h" +#include "dma.h" +#include "fullscreen_ui.h" +#include "game_list.h" +#include "gpu.h" +#include "gte.h" +#include "host.h" +#include "host_settings.h" +#include "imgui_overlays.h" +#include "mdec.h" +#include "pgxp.h" +#include "resources.h" +#include "save_state_version.h" +#include "settings.h" +#include "spu.h" +#include "system.h" +#include "texture_replacements.h" +#include "timers.h" + +#include "scmversion/scmversion.h" + +#include "util/audio_stream.h" +#include "util/host_display.h" +#include "util/imgui_fullscreen.h" +#include "util/imgui_manager.h" +#include "util/ini_settings_interface.h" +#include "util/input_manager.h" +#include "util/platform_misc.h" + #include "common/assert.h" #include "common/byte_stream.h" #include "common/crash_handler.h" @@ -10,36 +41,10 @@ #include "common/log.h" #include "common/path.h" #include "common/string_util.h" -#include "core/cdrom.h" -#include "core/cheats.h" -#include "core/controller.h" -#include "core/cpu_code_cache.h" -#include "core/dma.h" -#include "core/gpu.h" -#include "core/gte.h" -#include "core/host.h" -#include "core/host_display.h" -#include "core/host_settings.h" -#include "core/mdec.h" -#include "core/pgxp.h" -#include "core/save_state_version.h" -#include "core/settings.h" -#include "core/spu.h" -#include "core/system.h" -#include "core/texture_replacements.h" -#include "core/timers.h" -#include "fullscreen_ui.h" -#include "game_list.h" -#include "icon.h" + +#include "IconsFontAwesome5.h" #include "imgui.h" -#include "imgui_fullscreen.h" -#include "imgui_manager.h" -#include "imgui_overlays.h" -#include "input_manager.h" -#include "platform_misc.h" -#include "scmversion/scmversion.h" -#include "util/audio_stream.h" -#include "util/ini_settings_interface.h" + #include #include #include @@ -50,24 +55,24 @@ #endif #ifdef WITH_CHEEVOS -#include "achievements.h" +#include "achievements_private.h" #endif #ifdef _WIN32 #include "common/windows_headers.h" -#include "frontend-common/d3d11_host_display.h" -#include "frontend-common/d3d12_host_display.h" +#include "util/d3d11_host_display.h" +#include "util/d3d12_host_display.h" #include #include #include #endif #ifdef WITH_OPENGL -#include "frontend-common/opengl_host_display.h" +#include "util/opengl_host_display.h" #endif #ifdef WITH_VULKAN -#include "frontend-common/vulkan_host_display.h" +#include "util/vulkan_host_display.h" #endif Log_SetChannel(CommonHostInterface); @@ -196,12 +201,12 @@ std::unique_ptr Host::CreateAudioStream(AudioBackend backend, u32 s { #ifdef WITH_CUBEB case AudioBackend::Cubeb: - return CommonHost::CreateCubebAudioStream(sample_rate, channels, buffer_ms, latency_ms, stretch); + return AudioStream::CreateCubebAudioStream(sample_rate, channels, buffer_ms, latency_ms, stretch); #endif #ifdef _WIN32 case AudioBackend::XAudio2: - return CommonHost::CreateXAudio2Stream(sample_rate, channels, buffer_ms, latency_ms, stretch); + return AudioStream::CreateXAudio2Stream(sample_rate, channels, buffer_ms, latency_ms, stretch); #endif case AudioBackend::Null: diff --git a/src/frontend-common/common_host.h b/src/core/common_host.h similarity index 67% rename from src/frontend-common/common_host.h rename to src/core/common_host.h index b8d342f71..2adb82f1b 100644 --- a/src/frontend-common/common_host.h +++ b/src/core/common_host.h @@ -2,7 +2,9 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #pragma once -#include "core/system.h" + +#include "system.h" + #include #include #include @@ -39,16 +41,6 @@ void ReleaseHostDisplayResources(); /// Returns the time elapsed in the current play session. u64 GetSessionPlayedTime(); -#ifdef WITH_CUBEB -std::unique_ptr CreateCubebAudioStream(u32 sample_rate, u32 channels, u32 buffer_ms, u32 latency_ms, - AudioStretchMode stretch); -std::vector GetCubebDriverNames(); -std::vector> GetCubebOutputDevices(const char* driver); -#endif -#ifdef _WIN32 -std::unique_ptr CreateXAudio2Stream(u32 sample_rate, u32 channels, u32 buffer_ms, u32 latency_ms, - AudioStretchMode stretch); -#endif } // namespace CommonHost namespace ImGuiManager { diff --git a/src/core/core.props b/src/core/core.props index b41302eba..dfd09d146 100644 --- a/src/core/core.props +++ b/src/core/core.props @@ -4,16 +4,16 @@ - WITH_CHEEVOS=1;WITH_CUBEB=1;%(PreprocessorDefinitions) + WITH_CHEEVOS=1;WITH_DISCORD_PRESENCE=1;%(PreprocessorDefinitions) WITH_RAINTEGRATION=1;%(PreprocessorDefinitions) WITH_RECOMPILER=1;%(PreprocessorDefinitions) WITH_MMAP_FASTMEM=1;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories);$(SolutionDir)dep\tinyxml2\include;$(SolutionDir)dep\glad\include;$(SolutionDir)dep\stb\include;$(SolutionDir)dep\imgui\include;$(SolutionDir)dep\xxhash\include;$(SolutionDir)dep\zlib\include;$(SolutionDir)dep\rcheevos\include;$(SolutionDir)dep\rapidjson\include - $(SolutionDir)dep\rainterface;%(AdditionalIncludeDirectories) + %(AdditionalIncludeDirectories);$(SolutionDir)dep\tinyxml2\include;$(SolutionDir)dep\xxhash\include;$(SolutionDir)dep\zlib\include;$(SolutionDir)dep\rcheevos\include;$(SolutionDir)dep\rapidjson\include;$(SolutionDir)dep\discord-rpc\include + %(AdditionalIncludeDirectories);$(SolutionDir)dep\rainterface - $(SolutionDir)dep\xbyak\xbyak;%(AdditionalIncludeDirectories) - $(SolutionDir)dep\vixl\include;%(AdditionalIncludeDirectories) + %(AdditionalIncludeDirectories);$(SolutionDir)dep\xbyak\xbyak + %(AdditionalIncludeDirectories);$(SolutionDir)dep\vixl\include diff --git a/src/core/core.vcxproj b/src/core/core.vcxproj index c0465735f..4e55da3b5 100644 --- a/src/core/core.vcxproj +++ b/src/core/core.vcxproj @@ -2,6 +2,7 @@ + @@ -9,6 +10,7 @@ + @@ -32,7 +34,9 @@ + + @@ -52,8 +56,9 @@ true - + + @@ -70,7 +75,6 @@ - @@ -79,6 +83,7 @@ + @@ -87,6 +92,7 @@ + @@ -104,7 +110,9 @@ true + + @@ -126,9 +134,9 @@ - + @@ -147,7 +155,6 @@ - @@ -158,6 +165,9 @@ + + {4266505b-dbaf-484b-ab31-b53b9c8235b3} + {bb08260f-6fbc-46af-8924-090ee71360c6} @@ -185,6 +195,9 @@ {73ee0c55-6ffe-44e7-9c12-baa52434a797} + + {075ced82-6a20-46df-94c7-9624ac9ddbeb} + {57f6206d-f264-4b07-baf8-11b9bbe1f455} diff --git a/src/core/core.vcxproj.filters b/src/core/core.vcxproj.filters index 871da6173..bbba3e0a1 100644 --- a/src/core/core.vcxproj.filters +++ b/src/core/core.vcxproj.filters @@ -35,7 +35,6 @@ - @@ -47,7 +46,6 @@ - @@ -60,6 +58,12 @@ + + + + + + @@ -86,7 +90,6 @@ - @@ -109,7 +112,6 @@ - @@ -127,5 +129,10 @@ + + + + + \ No newline at end of file diff --git a/src/frontend-common/fullscreen_ui.cpp b/src/core/fullscreen_ui.cpp similarity index 99% rename from src/frontend-common/fullscreen_ui.cpp rename to src/core/fullscreen_ui.cpp index cfe4e8e20..07a19f2d7 100644 --- a/src/frontend-common/fullscreen_ui.cpp +++ b/src/core/fullscreen_ui.cpp @@ -4,7 +4,30 @@ #define IMGUI_DEFINE_MATH_OPERATORS #include "fullscreen_ui.h" -#include "IconsFontAwesome5.h" +#include "achievements.h" +#include "bios.h" +#include "cheats.h" +#include "common_host.h" +#include "controller.h" +#include "core/memory_card_image.h" +#include "cpu_core.h" +#include "game_list.h" +#include "gpu.h" +#include "host.h" +#include "host_settings.h" +#include "resources.h" +#include "settings.h" +#include "system.h" +#include "util/host_display.h" + +#include "scmversion/scmversion.h" + +#include "util/imgui_fullscreen.h" +#include "util/imgui_manager.h" +#include "util/ini_settings_interface.h" +#include "util/input_manager.h" +#include "util/postprocessing_chain.h" + #include "common/byte_stream.h" #include "common/file_system.h" #include "common/log.h" @@ -13,43 +36,25 @@ #include "common/string.h" #include "common/string_util.h" #include "common/threading.h" -#include "common_host.h" -#include "core/achievements.h" -#include "core/bios.h" -#include "core/cheats.h" -#include "core/controller.h" -#include "core/cpu_core.h" -#include "core/gpu.h" -#include "core/host.h" -#include "core/host_display.h" -#include "core/host_settings.h" -#include "core/memory_card_image.h" -#include "core/resources.h" -#include "core/settings.h" -#include "core/system.h" + +#include "IconsFontAwesome5.h" #include "fmt/chrono.h" #include "fmt/format.h" -#include "game_list.h" -#include "icon.h" #include "imgui.h" -#include "imgui_fullscreen.h" #include "imgui_internal.h" -#include "imgui_manager.h" #include "imgui_stdlib.h" -#include "input_manager.h" -#include "postprocessing_chain.h" -#include "scmversion/scmversion.h" -#include "util/ini_settings_interface.h" + #include #include #include #include #include #include + Log_SetChannel(FullscreenUI); #ifdef WITH_CHEEVOS -#include "achievements.h" +#include "achievements_private.h" #endif using ImGuiFullscreen::g_large_font; @@ -4863,9 +4868,9 @@ void FullscreenUI::PopulateSaveStateScreenshot(SaveStateListEntry* li, const Ext } else { - li->preview_texture = - g_host_display->CreateTexture(PLACEHOLDER_ICON_WIDTH, PLACEHOLDER_ICON_HEIGHT, 1, 1, 1, GPUTexture::Format::RGBA8, - PLACEHOLDER_ICON_DATA, sizeof(u32) * PLACEHOLDER_ICON_WIDTH, false); + li->preview_texture = g_host_display->CreateTexture( + Resources::PLACEHOLDER_ICON_WIDTH, Resources::PLACEHOLDER_ICON_HEIGHT, 1, 1, 1, GPUTexture::Format::RGBA8, + Resources::PLACEHOLDER_ICON_DATA, sizeof(u32) * Resources::PLACEHOLDER_ICON_WIDTH, false); } if (!li->preview_texture) diff --git a/src/frontend-common/fullscreen_ui.h b/src/core/fullscreen_ui.h similarity index 100% rename from src/frontend-common/fullscreen_ui.h rename to src/core/fullscreen_ui.h diff --git a/src/frontend-common/game_list.cpp b/src/core/game_list.cpp similarity index 99% rename from src/frontend-common/game_list.cpp rename to src/core/game_list.cpp index f2c37c731..0e1a4916f 100644 --- a/src/frontend-common/game_list.cpp +++ b/src/core/game_list.cpp @@ -2,6 +2,15 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #include "game_list.h" +#include "bios.h" +#include "host.h" +#include "host_settings.h" +#include "psf_loader.h" +#include "settings.h" +#include "system.h" + +#include "util/cd_image.h" + #include "common/assert.h" #include "common/byte_stream.h" #include "common/file_system.h" @@ -12,14 +21,9 @@ #include "common/path.h" #include "common/progress_callback.h" #include "common/string_util.h" -#include "core/bios.h" -#include "core/host.h" -#include "core/host_settings.h" -#include "core/psf_loader.h" -#include "core/settings.h" -#include "core/system.h" + #include "tinyxml2.h" -#include "util/cd_image.h" + #include #include #include @@ -28,6 +32,7 @@ #include #include #include + Log_SetChannel(GameList); #ifdef _WIN32 diff --git a/src/frontend-common/game_list.h b/src/core/game_list.h similarity index 98% rename from src/frontend-common/game_list.h rename to src/core/game_list.h index 049c5b24b..e4b0a5e6c 100644 --- a/src/frontend-common/game_list.h +++ b/src/core/game_list.h @@ -2,10 +2,14 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #pragma once -#include "common/string.h" -#include "core/game_database.h" -#include "core/types.h" + +#include "game_database.h" +#include "types.h" + #include "util/cd_image.h" + +#include "common/string.h" + #include #include #include diff --git a/src/core/gdb_protocol.cpp b/src/core/gdb_protocol.cpp index d97b484e7..bdc5a78ed 100644 --- a/src/core/gdb_protocol.cpp +++ b/src/core/gdb_protocol.cpp @@ -7,7 +7,7 @@ #include "common/log.h" #include "common/string_util.h" #include "cpu_core.h" -#include "frontend-common/common_host.h" +#include "common_host.h" #include "system.h" #include #include diff --git a/src/core/gpu.cpp b/src/core/gpu.cpp index c61e7d5af..1b4f8c67c 100644 --- a/src/core/gpu.cpp +++ b/src/core/gpu.cpp @@ -8,7 +8,7 @@ #include "common/string_util.h" #include "dma.h" #include "host.h" -#include "host_display.h" +#include "util/host_display.h" #include "imgui.h" #include "interrupt_controller.h" #include "settings.h" diff --git a/src/core/gpu_hw.h b/src/core/gpu_hw.h index c4f399dff..bb352a5d3 100644 --- a/src/core/gpu_hw.h +++ b/src/core/gpu_hw.h @@ -4,7 +4,7 @@ #pragma once #include "common/heap_array.h" #include "gpu.h" -#include "host_display.h" +#include "util/host_display.h" #include #include #include diff --git a/src/core/gpu_hw_d3d11.cpp b/src/core/gpu_hw_d3d11.cpp index fa7a17ccc..d84883051 100644 --- a/src/core/gpu_hw_d3d11.cpp +++ b/src/core/gpu_hw_d3d11.cpp @@ -8,7 +8,7 @@ #include "common/timer.h" #include "gpu_hw_shadergen.h" #include "gpu_sw_backend.h" -#include "host_display.h" +#include "util/host_display.h" #include "shader_cache_version.h" #include "system.h" #include "util/state_wrapper.h" diff --git a/src/core/gpu_hw_d3d12.cpp b/src/core/gpu_hw_d3d12.cpp index 533d674e9..21f018411 100644 --- a/src/core/gpu_hw_d3d12.cpp +++ b/src/core/gpu_hw_d3d12.cpp @@ -13,7 +13,7 @@ #include "common/scoped_guard.h" #include "common/timer.h" #include "gpu_hw_shadergen.h" -#include "host_display.h" +#include "util/host_display.h" #include "system.h" Log_SetChannel(GPU_HW_D3D12); diff --git a/src/core/gpu_hw_opengl.cpp b/src/core/gpu_hw_opengl.cpp index 214307a25..f66991f04 100644 --- a/src/core/gpu_hw_opengl.cpp +++ b/src/core/gpu_hw_opengl.cpp @@ -7,7 +7,7 @@ #include "common/timer.h" #include "gpu_hw_shadergen.h" #include "host.h" -#include "host_display.h" +#include "util/host_display.h" #include "shader_cache_version.h" #include "system.h" #include "texture_replacements.h" diff --git a/src/core/gpu_hw_shadergen.h b/src/core/gpu_hw_shadergen.h index 099e2f518..248fb12cd 100644 --- a/src/core/gpu_hw_shadergen.h +++ b/src/core/gpu_hw_shadergen.h @@ -3,7 +3,7 @@ #pragma once #include "gpu_hw.h" -#include "shadergen.h" +#include "util/shadergen.h" class GPU_HW_ShaderGen : public ShaderGen { diff --git a/src/core/gpu_hw_vulkan.cpp b/src/core/gpu_hw_vulkan.cpp index 8a2137f01..0fe0d67a0 100644 --- a/src/core/gpu_hw_vulkan.cpp +++ b/src/core/gpu_hw_vulkan.cpp @@ -11,7 +11,7 @@ #include "common/vulkan/shader_cache.h" #include "common/vulkan/util.h" #include "gpu_hw_shadergen.h" -#include "host_display.h" +#include "util/host_display.h" #include "system.h" #include "util/state_wrapper.h" Log_SetChannel(GPU_HW_Vulkan); diff --git a/src/core/gpu_sw.cpp b/src/core/gpu_sw.cpp index 188e1b9fb..95e780cec 100644 --- a/src/core/gpu_sw.cpp +++ b/src/core/gpu_sw.cpp @@ -7,7 +7,7 @@ #include "common/log.h" #include "common/make_array.h" #include "common/platform.h" -#include "host_display.h" +#include "util/host_display.h" #include "system.h" #include Log_SetChannel(GPU_SW); diff --git a/src/core/gpu_sw.h b/src/core/gpu_sw.h index 57bb1d778..83d3dccad 100644 --- a/src/core/gpu_sw.h +++ b/src/core/gpu_sw.h @@ -5,7 +5,7 @@ #include "common/heap_array.h" #include "gpu.h" #include "gpu_sw_backend.h" -#include "host_display.h" +#include "util/host_display.h" #include #include #include diff --git a/src/core/gpu_sw_backend.cpp b/src/core/gpu_sw_backend.cpp index 017418658..fc4fb2549 100644 --- a/src/core/gpu_sw_backend.cpp +++ b/src/core/gpu_sw_backend.cpp @@ -5,7 +5,7 @@ #include "common/assert.h" #include "common/log.h" #include "gpu_sw_backend.h" -#include "host_display.h" +#include "util/host_display.h" #include "system.h" #include Log_SetChannel(GPU_SW_Backend); diff --git a/src/core/gte.cpp b/src/core/gte.cpp index 54ee5dbbf..410e0e94b 100644 --- a/src/core/gte.cpp +++ b/src/core/gte.cpp @@ -6,7 +6,7 @@ #include "common/bitutils.h" #include "cpu_core.h" #include "cpu_core_private.h" -#include "host_display.h" +#include "util/host_display.h" #include "pgxp.h" #include "settings.h" #include "timing_event.h" diff --git a/src/core/guncon.cpp b/src/core/guncon.cpp index d80efd24a..cd2289e6b 100644 --- a/src/core/guncon.cpp +++ b/src/core/guncon.cpp @@ -6,7 +6,7 @@ #include "common/log.h" #include "gpu.h" #include "host.h" -#include "host_display.h" +#include "util/host_display.h" #include "resources.h" #include "system.h" #include "util/state_wrapper.h" diff --git a/src/frontend-common/host_settings.cpp b/src/core/host_settings.cpp similarity index 100% rename from src/frontend-common/host_settings.cpp rename to src/core/host_settings.cpp diff --git a/src/frontend-common/imgui_overlays.cpp b/src/core/imgui_overlays.cpp similarity index 97% rename from src/frontend-common/imgui_overlays.cpp rename to src/core/imgui_overlays.cpp index 1cf32a698..45c6056e2 100644 --- a/src/frontend-common/imgui_overlays.cpp +++ b/src/core/imgui_overlays.cpp @@ -2,33 +2,36 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #include "imgui_overlays.h" -#include "IconsFontAwesome5.h" +#include "controller.h" +#include "fullscreen_ui.h" +#include "gpu.h" +#include "host.h" +#include "host_settings.h" +#include "resources.h" +#include "settings.h" +#include "spu.h" +#include "system.h" + +#include "util/audio_stream.h" +#include "util/host_display.h" +#include "util/imgui_fullscreen.h" +#include "util/imgui_manager.h" +#include "util/input_manager.h" + #include "common/align.h" #include "common/assert.h" #include "common/file_system.h" #include "common/log.h" #include "common/string_util.h" #include "common/timer.h" -#include "common_host.h" -#include "core/controller.h" -#include "core/gpu.h" -#include "core/host.h" -#include "core/host_display.h" -#include "core/host_settings.h" -#include "core/settings.h" -#include "core/spu.h" -#include "core/system.h" + +#include "IconsFontAwesome5.h" #include "fmt/chrono.h" #include "fmt/format.h" -#include "fullscreen_ui.h" #include "gsl/span" -#include "icon.h" #include "imgui.h" -#include "imgui_fullscreen.h" #include "imgui_internal.h" -#include "imgui_manager.h" -#include "input_manager.h" -#include "util/audio_stream.h" + #include #include #include @@ -729,9 +732,9 @@ void SaveStateSelectorUI::InitializeListEntry(ListEntry* li, ExtendedSaveStateIn } else { - li->preview_texture = g_host_display->CreateTexture(PLACEHOLDER_ICON_WIDTH, PLACEHOLDER_ICON_HEIGHT, 1, 1, 1, - GPUTexture::Format::RGBA8, PLACEHOLDER_ICON_DATA, - sizeof(u32) * PLACEHOLDER_ICON_WIDTH, false); + li->preview_texture = g_host_display->CreateTexture( + Resources::PLACEHOLDER_ICON_WIDTH, Resources::PLACEHOLDER_ICON_HEIGHT, 1, 1, 1, GPUTexture::Format::RGBA8, + Resources::PLACEHOLDER_ICON_DATA, sizeof(u32) * Resources::PLACEHOLDER_ICON_WIDTH, false); } if (!li->preview_texture) @@ -750,9 +753,9 @@ void SaveStateSelectorUI::InitializePlaceholderListEntry(ListEntry* li, std::str if (g_host_display) { - li->preview_texture = - g_host_display->CreateTexture(PLACEHOLDER_ICON_WIDTH, PLACEHOLDER_ICON_HEIGHT, 1, 1, 1, GPUTexture::Format::RGBA8, - PLACEHOLDER_ICON_DATA, sizeof(u32) * PLACEHOLDER_ICON_WIDTH, false); + li->preview_texture = g_host_display->CreateTexture( + Resources::PLACEHOLDER_ICON_WIDTH, Resources::PLACEHOLDER_ICON_HEIGHT, 1, 1, 1, GPUTexture::Format::RGBA8, + Resources::PLACEHOLDER_ICON_DATA, sizeof(u32) * Resources::PLACEHOLDER_ICON_WIDTH, false); if (!li->preview_texture) Log_ErrorPrintf("Failed to upload save state image to GPU"); } diff --git a/src/frontend-common/imgui_overlays.h b/src/core/imgui_overlays.h similarity index 94% rename from src/frontend-common/imgui_overlays.h rename to src/core/imgui_overlays.h index c295202b5..3a5378224 100644 --- a/src/frontend-common/imgui_overlays.h +++ b/src/core/imgui_overlays.h @@ -3,7 +3,7 @@ #pragma once -#include "imgui_manager.h" +#include "util/imgui_manager.h" namespace ImGuiManager { void RenderTextOverlays(); diff --git a/src/core/playstation_mouse.cpp b/src/core/playstation_mouse.cpp index ae01ef32e..e6bfe2a5e 100644 --- a/src/core/playstation_mouse.cpp +++ b/src/core/playstation_mouse.cpp @@ -6,7 +6,7 @@ #include "common/log.h" #include "gpu.h" #include "host.h" -#include "host_display.h" +#include "util/host_display.h" #include "system.h" #include "util/state_wrapper.h" #include diff --git a/src/core/resources.cpp b/src/core/resources.cpp index 9292b140a..f4ea79d38 100644 --- a/src/core/resources.cpp +++ b/src/core/resources.cpp @@ -1031,4 +1031,1830 @@ const std::array CROSSHAIR_I 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff}}; +unsigned int WINDOW_ICON_DATA[WINDOW_ICON_WIDTH * WINDOW_ICON_HEIGHT] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000C2FF, 0x0500C2FF, + 0x0A00C2FF, 0x0000C0FF, 0x0000CCFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000C3FF, 0x0000C8FF, 0x2300C2FF, + 0x8B00C2FF, 0xAE00C2FF, 0x4600C2FF, 0x0600C1FF, 0x0000C1FF, 0x0000CEFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000C1FF, 0x0100C1FF, 0x0600C2FF, 0x0100C2FF, 0x0000C1FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000C3FF, 0x0000C1FF, 0x1300C2FF, 0x6C00C2FF, + 0xD700C2FF, 0xFE00C2FF, 0xFF00C2FF, 0xEF00C2FF, 0x9A00C2FF, 0x2D00C2FF, 0x0100C1FF, 0x0000C1FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000C0FF, 0x0000C2FF, 0x0C00C2FF, 0x5C00C2FF, 0xAD00C2FF, 0x5D00C2FF, + 0x0C00C2FF, 0x0000C2FF, 0x0000C0FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000C2FF, 0x0800C3FF, 0x4E00C2FF, 0xBF00C2FF, + 0xFA00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xE000C2FF, 0x7A00C2FF, 0x1900C2FF, + 0x0000C2FF, 0x0000C2FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000C2FF, 0x0400C3FF, 0x3E00C2FF, 0xAF00C2FF, 0xF700C2FF, 0xFF00C2FF, + 0xF700C2FF, 0xB000C2FF, 0x3F00C2FF, 0x0400C3FF, 0x0000C2FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000C2FF, 0x0200C3FF, 0x3300C2FF, 0xA300C2FF, 0xF200C2FF, + 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFD00C2FF, + 0xCB00C2FF, 0x5B00C2FF, 0x0C00C2FF, 0x0000C2FF, 0x0000CFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00009FF8, 0x0000FFFF, 0x2600C1FE, 0x9200C2FF, 0xEC00C1FF, 0xFF00C1FF, 0xFF00C1FF, + 0xFF00C1FF, 0xFF00C1FF, 0xFF00C1FF, 0xEC00C1FF, 0x9200C1FF, 0x2600BEFF, 0x0000FFFF, 0x0000BEFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000C1FF, 0x0000C9FF, 0x1E00C2FF, 0x8300C2FF, 0xE500C2FF, 0xFF00C2FF, + 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, + 0xFF00C2FF, 0xFF00C2FF, 0xF700C2FF, 0xB000C2FF, 0x3F00C2FF, 0x0400C2FF, 0x0000C2FF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000072FC, 0x0A0065FD, 0xB30089F5, 0xFF00A8FA, 0xFF00B5FF, 0xFF00B5FF, + 0xFF00B4FF, 0xFF00B4FF, 0xFF00B4FF, 0xFF00B4FF, 0xFF00B5FF, 0xFF00B5FF, 0xB000BBFF, 0x0A00CEFF, 0x0000C9FF, + 0x00000000, 0x00000000, 0x0000E0FF, 0x0000C2FF, 0x0F00C2FF, 0x6300C2FF, 0xD100C2FF, 0xFE00C2FF, 0xFF00C2FF, + 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, + 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xEC00C2FF, 0x9100C2FF, 0x2700C2FF, 0x0100C1FF, + 0x0000C2FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x0D0068FF, 0xC70064F6, 0xFF006BE6, 0xFD008DF0, + 0xFE00AAFD, 0xFF00B1FF, 0xFF00B0FF, 0xFF00B0FF, 0xFE00B0FF, 0xFD00B1FF, 0xFF00B4FF, 0xC300C6FF, 0x0D00D4FF, + 0x0000CEFF, 0x00000000, 0x0000C2FF, 0x0600C2FF, 0x4600C2FF, 0xB700C2FF, 0xF900C2FF, 0xFF00C2FF, 0xFF00C2FF, + 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, + 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xDB00C2FF, + 0x7200C2FF, 0x1500C2FF, 0x0000C3FF, 0x0000C0FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x0D0067FF, 0xC70067FF, 0xFF0061EC, + 0xFF005FDD, 0xFE0072E5, 0xFD0097F5, 0xFE00AEFE, 0xFD00B1FF, 0xFE00B1FF, 0xFF00B0FF, 0xFF00BEFF, 0xC300CEFF, + 0x0D00CFFF, 0x0000D0FF, 0x0100F6FF, 0x2D00C6FF, 0x9A00C2FF, 0xEF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, + 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, + 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, + 0xFF00C2FF, 0xFB00C2FF, 0xC400C2FF, 0x5300C3FF, 0x0900C7FF, 0x0000C3FF, 0x0000FFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x0D0067FF, 0xC70067FF, + 0xFF0066FA, 0xFF005FE2, 0xFF005DDC, 0xFE0061DE, 0xFD008FF2, 0xFE00B1FF, 0xFF00B0FF, 0xFF00B5FF, 0xFF00CAFF, + 0xC300CEFF, 0x0D00CEFF, 0x00009FF7, 0x410088F7, 0xDE00AAFA, 0xFF00B9FF, 0xFF00B9FF, 0xFF00B8FF, 0xFF00B8FF, + 0xFF00B8FF, 0xFF00B8FF, 0xFF00B8FF, 0xFF00B8FF, 0xFF00B8FF, 0xFF00B8FF, 0xFF00B8FF, 0xFF00B8FF, 0xFF00B8FF, + 0xFF00B8FF, 0xFF00B8FF, 0xFF00B8FF, 0xFF00B8FF, 0xFF00B8FF, 0xFF00B8FF, 0xFF00B8FF, 0xFF00B8FF, 0xFF00B8FF, + 0xFF00B8FF, 0xFF00B8FF, 0xFF00B8FF, 0xFF00B9FF, 0xF500B7FF, 0x8500B2FF, 0x0200ABFF, 0x0000B1FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x0D0067FF, + 0xC70067FF, 0xFF0067FF, 0xFF0063F0, 0xFF005EDD, 0xFF005CDC, 0xFE0084EE, 0xFF00B1FF, 0xFF00B0FF, 0xFF00C1FF, + 0xFF00CEFF, 0xC300CEFF, 0x0C00CFFF, 0x0B00E5FF, 0x8B0081FB, 0xFF006EEC, 0xFF008DF0, 0xFF00AAFD, 0xFF00B1FF, + 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, + 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, + 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFD00ABFF, 0xFF00A5FF, 0xB400AAFF, 0x0600B9FF, 0x0000B2FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, + 0x0D0067FF, 0xC70067FF, 0xFF0067FF, 0xFF0066FC, 0xFF0060E4, 0xFF005DDC, 0xFE0085EE, 0xFF00B1FF, 0xFF00B7FF, + 0xFF00CBFF, 0xFF00CEFF, 0xC600CEFF, 0x4D00C4FF, 0xB200C4FF, 0xF7009EFF, 0xFF0064F5, 0xFF005FDF, 0xFF0072E5, + 0xFF0097F5, 0xFF00AEFE, 0xFF00B1FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, + 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, + 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFE00AEFF, 0xFD00A5FF, 0xFE009EFF, 0xFF00A5FF, 0xB400B0FF, 0x0600B3FF, + 0x0000B2FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000067FF, 0x090067FF, 0xAA0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0064F3, 0xFF005DDD, 0xFE0085EE, 0xFF00B2FF, + 0xFF00C3FF, 0xFF00CEFF, 0xFF00CEFF, 0xF300CAFF, 0xEF00C2FF, 0xFF00C4FF, 0xFF009FFF, 0xFF0067FE, 0xFF0061E9, + 0xFF005DDC, 0xFF0062DF, 0xFF007CE9, 0xFF009FF8, 0xFF00B0FF, 0xFF00B1FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, + 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, + 0xFF00B0FF, 0xFF00B0FF, 0xFE00AFFF, 0xFD00A8FF, 0xFE00A0FF, 0xFF009DFF, 0xFF009FFF, 0xFF00ADFF, 0xB400B0FF, + 0x0600B2FF, 0x0000B2FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000069FF, 0x000064FF, 0x1A0067FF, 0x7B0067FF, 0xE00067FF, 0xFF0067FD, 0xFF005FE6, 0xFE0084EE, + 0xFF00BAFF, 0xFF00CDFF, 0xFF00CDFF, 0xFF00C8FF, 0xFF00C3FF, 0xFF00C2FF, 0xFF00C4FF, 0xFF009FFF, 0xFF0067FF, + 0xFF0065F8, 0xFF005FE0, 0xFF005EDD, 0xFF005DDD, 0xFF0066E0, 0xFF0085ED, 0xFF00A6FB, 0xFF00B1FF, 0xFF00B0FF, + 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, + 0xFF00B0FF, 0xFE00B0FF, 0xFD00AAFF, 0xFE00A2FF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF00A7FF, 0xFF00B0FF, + 0xB400B0FF, 0x0600B2FF, 0x0000B2FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x010067FF, 0x2D0067FF, 0x9A0067FF, 0xED0062F4, + 0xFE0086F0, 0xFF00C6FF, 0xFF00CAFF, 0xFF00C4FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C4FF, 0xFF009FFF, + 0xFF0067FF, 0xFF0067FF, 0xFF0062EC, 0xFF005EDD, 0xFF005EDD, 0xFF005DDD, 0xFF005EDD, 0xFF006CE3, 0xFF0090F2, + 0xFF00ABFD, 0xFF00B1FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, + 0xFF00B0FF, 0xFD00ACFF, 0xFD00A4FF, 0xFF009EFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF00A0FF, 0xFF00AEFF, + 0xFF00B0FF, 0xB400B0FF, 0x0600B2FF, 0x0000B2FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00008CFF, 0x0A008AFF, + 0x80008CFC, 0xF900A3FA, 0xFF00C5FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C4FF, + 0xFF009FFF, 0xFF0067FF, 0xFF0067FF, 0xFF0066FA, 0xFF005FE2, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005DDD, + 0xFF005FDE, 0xFF0075E6, 0xFF0099F6, 0xFF00AFFE, 0xFF00B1FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, + 0xFE00AEFF, 0xFD00A6FF, 0xFE009FFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF00A8FF, + 0xFF00B0FF, 0xFF00B0FF, 0xB400B0FF, 0x0600B2FF, 0x0000B2FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000C2FF, 0x0000C3FF, 0x2400C2FF, + 0x8C00C2FF, 0xE700C3FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, + 0xFF00C4FF, 0xFF009FFF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0063EF, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, + 0xFF005EDD, 0xFF005EDD, 0xFF005DDD, 0xFF0063DF, 0xFF007EEA, 0xFF00A1F9, 0xFF00B0FF, 0xFF00B1FF, 0xFF00AFFF, + 0xFF00A9FF, 0xFF00A0FF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF00A2FF, + 0xFF00AFFF, 0xFF00B1FF, 0xFF00B0FF, 0xB400B0FF, 0x0600B2FF, 0x0000B2FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000D2FF, 0x0000BDFF, 0x1300C4FF, 0x6D00C3FF, + 0xD700C2FF, 0xFE00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, 0xFF00C2FF, + 0xFF00C2FF, 0xFF00C4FF, 0xFF009FFF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0066FB, 0xFF0060E4, 0xFF005EDD, + 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005DDD, 0xFF0068E1, 0xFF0089EF, 0xFF00A7FD, + 0xFF00A3FF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009EFF, + 0xFF00ACFF, 0xFF00ADF9, 0xFF029DE3, 0xFF00AEFD, 0xB400B0FF, 0x0600B2FF, 0x0000B2FF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000086F9, 0x010038EE, 0x4900B0FC, 0xC000BFFF, + 0xFB00BFFF, 0xFF00BFFF, 0xFF00BFFF, 0xFF00BFFF, 0xFF00BFFF, 0xFF00BFFF, 0xFF00BFFF, 0xFF00BFFF, 0xFF00BFFF, + 0xFF00BFFF, 0xFF00BFFF, 0xFF00C0FF, 0xFF009DFF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0064F2, + 0xFF005EDE, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005DDD, 0xFF0060DE, + 0xFF008FF7, 0xFF009EFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, + 0xFF00A3FE, 0xFF0196DA, 0xFF065071, 0xFF15536F, 0xFF02ACF9, 0xB400B0FF, 0x0600B2FF, 0x0000B2FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00006BFD, 0x090063FF, 0xBA0079F3, + 0xFF0096F4, 0xFF00AFFE, 0xFF00B2FF, 0xFF00B1FF, 0xFF00B1FF, 0xFF00B1FF, 0xFF00B1FF, 0xFF00B1FF, 0xFF00B1FF, + 0xFF00B1FF, 0xFF00B1FF, 0xFF00B1FF, 0xFF00B3FF, 0xFF0094FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0066FD, 0xFF0060E6, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, + 0xFF0060DE, 0xFF008EF7, 0xFF009EFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, + 0xFF00A0FF, 0xFF0282C2, 0xFF051F2C, 0xFF161111, 0xFF235166, 0xFF01ACF9, 0xB400B0FF, 0x0600B2FF, 0x0000B2FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x090068FF, + 0xBD0065FA, 0xFF0062E5, 0xFD0079E8, 0xFD009EF8, 0xFF00B0FF, 0xFF00B1FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, + 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B1FF, 0xFF0093FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0064F5, 0xFF005EDF, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, + 0xFF005EDD, 0xFF0060DE, 0xFF008EF7, 0xFF009EFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, 0xFF009DFF, + 0xFF009DFF, 0xFF00A8FF, 0xFF026D9D, 0xFF0A090A, 0xFF292524, 0xFF255266, 0xFF01ABF8, 0xB400B1FF, 0x0600B2FF, + 0x0000B2FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, + 0x090067FF, 0xBD0067FF, 0xFF0063F2, 0xFF005DDD, 0xFE0065E0, 0xFD0083EC, 0xFE00A5FA, 0xFF00B1FF, 0xFF00B0FF, + 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B1FF, 0xFF0093FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FE, 0xFF0061E9, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, + 0xFF005EDD, 0xFF005EDD, 0xFF0060DE, 0xFF008EF7, 0xFF009EFF, 0xFF009DFF, 0xFF009EFF, 0xFF009DFC, 0xFF009AFB, + 0xFF009DFF, 0xFF009FFF, 0xFF00AFFF, 0xFF026E9E, 0xFF1B1919, 0xFF2B3E48, 0xFF1479A7, 0xFF00AFFD, 0xB400B0FF, + 0x0600B2FF, 0x0000B2FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000067FF, 0x090067FF, 0xBD0067FF, 0xFF0066FD, 0xFF0060E6, 0xFF005DDC, 0xFF005DDD, 0xFE006BE2, 0xFD008DF1, + 0xFE00AAFD, 0xFF00B1FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B1FF, 0xFF0093FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0065F7, 0xFF005FE0, 0xFF005EDD, 0xFF005EDD, + 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF0060DE, 0xFF008EF7, 0xFF009EFF, 0xFF009EFF, 0xFF008BE1, 0xFF095687, + 0xFF097BC3, 0xFF009FFF, 0xFF00A6FF, 0xFF00B2FF, 0xFF067BB0, 0xFF175B7A, 0xFF0998D8, 0xFF00B0FE, 0xFF00B0FF, + 0xB400B0FF, 0x0600B2FF, 0x0000B2FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000067FF, 0x090067FF, 0xBD0067FF, 0xFF0067FF, 0xFF0064F5, 0xFF005EDF, 0xFF005EDD, 0xFF005DDD, + 0xFF005FDD, 0xFE0072E6, 0xFD0097F5, 0xFE00AEFE, 0xFF00B1FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B1FF, 0xFF0093FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0062EC, 0xFF005EDD, + 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF0060DE, 0xFF008EF7, 0xFF009DFD, 0xFF0267A7, 0xFF052134, + 0xFF1E1E1F, 0xFF1075B4, 0xFF00A2FF, 0xFF00AEFF, 0xFF00B0FF, 0xFF01A9F5, 0xFF01AEF9, 0xFF00ADFF, 0xFF00A7FF, + 0xFF00B0FF, 0xB400B1FF, 0x0600B1FF, 0x0000B2FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x000067FF, 0x090067FF, 0xBD0067FF, 0xFF0067FF, 0xFF0067FE, 0xFF0061E9, 0xFF005EDD, + 0xFF005EDD, 0xFF005EDD, 0xFF005DDD, 0xFE0062DF, 0xFD007CE9, 0xFE00A0F8, 0xFF00B0FF, 0xFF00B1FF, 0xFF00B1FF, + 0xFF0093FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0066FA, + 0xFF005FE2, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF0060DE, 0xFF008EF8, 0xFF0097F4, 0xFF04263C, + 0xFF100D0C, 0xFF2E2E2E, 0xFF1175B4, 0xFF00AAFF, 0xFF00B0FF, 0xFF00B1FF, 0xFF00AFFF, 0xFF009BFF, 0xFF007AFF, + 0xFF0072FF, 0xFF008FFF, 0xB400A7FF, 0x0600B7FF, 0x0000AEFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x090067FF, 0xBD0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0065F7, + 0xFF005FE0, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005DDD, 0xFE0066E0, 0xFD0086EE, 0xFE00A7FB, + 0xFF00B2FF, 0xFF0094FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0063EF, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF0060DE, 0xFF008EF8, 0xFF0097F3, + 0xFF07283E, 0xFF24201F, 0xFF2D3A44, 0xFF0C83C7, 0xFF00B1FF, 0xFF00B0FF, 0xFF00A2FF, 0xFF0083FF, 0xFF006BFF, + 0xFF0066FF, 0xFF0066FF, 0xFF0068FF, 0xE10070FF, 0x580069FF, 0x0A0066FF, 0x000066FF, 0x00006BFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x090067FF, 0xBD0067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0062EC, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005DDD, 0xFF005EDD, + 0xFE006DE3, 0xFD0091F2, 0xFE008FFD, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0066FB, 0xFF0060E4, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF0060DE, 0xFF008EF8, + 0xFF0096F3, 0xFF113953, 0xFF1F5070, 0xFF0A84CF, 0xFF00A9FC, 0xFF00A9FF, 0xFF008CFF, 0xFF006FFF, 0xFF0066FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xF50067FF, 0xAB0067FF, 0x3A0067FF, 0x030066FF, + 0x000066FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x090067FF, 0xBD0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0066FA, 0xFF005FE2, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, + 0xFF005EDD, 0xFF005DDD, 0xFF0060DE, 0xFE0069E7, 0xFF0067F7, 0xFF0068FE, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0064F2, 0xFF005EDE, 0xFF005EDD, 0xFF005EDD, 0xFF0060DE, + 0xFF008EF7, 0xFF009BFA, 0xFF0783D1, 0xFF0298F5, 0xFF00A2FF, 0xFF0095FF, 0xFF0076FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0068FF, 0xFF0068FF, 0xFF0068FF, 0xFF0068FF, 0xFF0068FF, 0xFF0068FF, 0xFF0068FF, 0xFF0068FF, 0xE90068FF, + 0x8C0068FF, 0x24006BFF, 0x0000B3FF, 0x00007BFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x090067FF, 0xBD0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0063EF, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, + 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005DDD, 0xFF0060DF, 0xFE0064EB, 0xFF0068FA, 0xFF0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0066FD, 0xFF0060E6, 0xFF005EDD, 0xFF005EDD, + 0xFF0060DE, 0xFF008EF7, 0xFF009EFF, 0xFF009FFF, 0xFF008FFA, 0xFF006EFB, 0xFF005FFF, 0xFF005CFF, 0xFF005DFF, + 0xFF005DFF, 0xFF005DFF, 0xFF005DFF, 0xFF005DFF, 0xFF005DFF, 0xFF005DFF, 0xFF005DFF, 0xFF005DFF, 0xFF005DFF, + 0xFF005DFF, 0xFE005DFF, 0xD8005BFF, 0x5F0060FF, 0x020097FF, 0x000077FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x090067FF, + 0xBD0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0066FB, 0xFF0060E4, 0xFF005EDD, 0xFF005EDD, + 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF0061E2, + 0xFE0067F0, 0xFF006BFE, 0xFF0066FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0064F5, 0xFF005EDF, + 0xFF005EDD, 0xFF0060DE, 0xFF008EF7, 0xFF009EFF, 0xFF009FFF, 0xFF0072E5, 0xFF0033CE, 0xFF003EED, 0xFF0043FE, + 0xFF0043FF, 0xFF0043FF, 0xFF0043FF, 0xFF0043FF, 0xFF0043FF, 0xFF0043FF, 0xFF0043FF, 0xFF0043FF, 0xFF0043FF, + 0xFF0043FF, 0xFF0043FF, 0xFE0046FF, 0xFF005DFF, 0xBC007CFF, 0x090092FF, 0x000088FF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, + 0x090067FF, 0xBD0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0064F2, 0xFF005EDE, + 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, + 0xFF005EDD, 0xFF0064E0, 0xFF0094FA, 0xFF0083FF, 0xFF006AFF, 0xFF0066FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FE, + 0xFF0061E9, 0xFF005EDC, 0xFF0060DE, 0xFF008EF7, 0xFF009EFF, 0xFF00A1FF, 0xFF0077E3, 0xFF002BB9, 0xFF002EBE, + 0xFF0036D6, 0xFF003FF3, 0xFF0042FF, 0xFF0042FF, 0xFF0042FF, 0xFF0042FF, 0xFF0042FF, 0xFF0042FF, 0xFF0042FF, + 0xFF0041FF, 0xFE0044FF, 0xFD004FFF, 0xFE0067FF, 0xFF0084FF, 0xBD008CFF, 0x09008BFF, 0x00008BFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000067FF, 0x090067FF, 0xBD0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0066FD, + 0xFF0060E6, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, + 0xFF005EDD, 0xFF005EDD, 0xFF0064E0, 0xFF00A3F9, 0xFF00AFFF, 0xFF009AFF, 0xFF007AFF, 0xFF0068FF, 0xFF0066FF, + 0xFF0067FF, 0xFF0065F7, 0xFF005FE0, 0xFF0060DE, 0xFF008EF7, 0xFF009EFF, 0xFF00A9FF, 0xFF007CE4, 0xFF002BB9, + 0xFF002BB9, 0xFF002CB9, 0xFF002FC3, 0xFF0039DF, 0xFF0040F9, 0xFF0042FF, 0xFF0042FF, 0xFF0042FF, 0xFF0042FF, + 0xFF0042FF, 0xFE004BFF, 0xFD005CFF, 0xFF006EFF, 0xFF0085FF, 0xFF008BFF, 0xBA008BFF, 0x09008BFF, 0x00008BFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000067FF, 0x090067FF, 0xBD0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0064F5, 0xFF005EDF, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, + 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF0064E0, 0xFF00A2F9, 0xFF00B1FF, 0xFF00B1FF, 0xFF00ABFF, 0xFF0092FF, + 0xFF0073FF, 0xFF0067FF, 0xFF0066FF, 0xFF0062EC, 0xFF0060DE, 0xFF008EF7, 0xFF00A1FF, 0xFF00AEFF, 0xFF00A0F7, + 0xFF0065D7, 0xFF0037BF, 0xFF002AB9, 0xFF002BB9, 0xFF002CBA, 0xFE0031C8, 0xFE003BE7, 0xFF0041FC, 0xFF0042FF, + 0xFE0048FF, 0xFD0058FF, 0xFE0064FF, 0xFF0070FF, 0xFF0085FF, 0xFB008BFF, 0xC2008BFF, 0x49008BFF, 0x01008CFF, + 0x00008BFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x000067FF, 0x090067FF, 0xBD0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0067FE, 0xFF0061E9, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, + 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF0064E0, 0xFF00A2F9, 0xFF00B1FF, 0xFF00B0FF, 0xFF00B0FF, + 0xFF00B1FF, 0xFF00A6FF, 0xFF0089FF, 0xFF006EFF, 0xFF0065F9, 0xFF0061E3, 0xFF008EF7, 0xFF00A9FF, 0xFF00B1FF, + 0xFF00BAFF, 0xFF00C4FE, 0xFF00A4ED, 0xFF005CCF, 0xFF0030BC, 0xFF002AB9, 0xFF002CB9, 0xFF002DBC, 0xFE0033D0, + 0xFD004EF7, 0xFE0062FF, 0xFF0067FF, 0xFF0071FF, 0xFF0086FF, 0xD9008BFF, 0x6F008BFF, 0x14008BFF, 0x00008AFF, + 0x00008EFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x090067FF, 0xBD0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0065F7, 0xFF005FE0, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, + 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF0064E0, 0xFF00A2F9, 0xFF00B1FF, 0xFF00B0FF, + 0xFF00B0FF, 0xFF00B0FF, 0xFF00B1FF, 0xFF00B0FF, 0xFF00A0FF, 0xFF0080FF, 0xFF0067F0, 0xFF0092F7, 0xFF00B5FF, + 0xFF00C3FF, 0xFF00CCFF, 0xFF00CFFF, 0xFF00D0FF, 0xFF00C6FB, 0xFF0092E6, 0xFE004BC7, 0xFE002CBA, 0xFF002CBA, + 0xFF002DBB, 0xFF0057EB, 0xFF0068FF, 0xFF0072FF, 0xEB0086FF, 0x8F008CFF, 0x25008BFF, 0x000089FF, 0x00008BFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x090067FF, 0xBD0067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0062EC, 0xFF005EDD, 0xFF005EDD, + 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF0064E0, 0xFF00A2F9, 0xFF00B1FF, + 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B1FF, 0xFF00ADFF, 0xFF009EFC, 0xFF00B3FC, + 0xFF00CBFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CFFF, 0xFF00D0FF, 0xE100BBF7, 0x900042C3, + 0xE0002BBA, 0xFF002DBB, 0xFF0057EC, 0xF60072FF, 0xAE0085FF, 0x3D008DFF, 0x04008BFF, 0x00008BFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x090067FF, 0xBD0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0066F9, 0xFF005FE1, + 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF0064E0, 0xFF00A2F9, + 0xFF00B1FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B2FF, 0xFF00C7FF, + 0xFF00CFFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xD600CFFF, + 0x1A00C7FB, 0x2D0026B7, 0x9E002EBD, 0xC3005AE9, 0x590083FF, 0x0B0094FF, 0x00008EFF, 0x000091FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x090067FF, 0xBD0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0063EF, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF0064E0, + 0xFF00A2F9, 0xFF00B1FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00BCFF, + 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, + 0xD600CEFF, 0x1800CDFF, 0x0000ADF2, 0x090038C6, 0x110059E1, 0x0000FFFF, 0x0000AEFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x090067FF, + 0xBD0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0066FB, 0xFF0060E4, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, + 0xFF0064E0, 0xFF00A2F9, 0xFF00B1FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B3FF, + 0xFF00C8FF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, + 0xFF00CEFF, 0xD600CEFF, 0x1800CDFF, 0x0000CDFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, + 0x090067FF, 0xBD0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0063F2, 0xFF005EDE, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, + 0xFF005EDD, 0xFF0064E0, 0xFF00A2F9, 0xFF00B1FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, + 0xFF00BFFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, + 0xFF00CEFF, 0xFF00CEFF, 0xD600CEFF, 0x1800CDFF, 0x0000CDFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000067FF, 0x090067FF, 0xBD0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0066FD, 0xFF0060E6, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, + 0xFF005EDD, 0xFF005EDD, 0xFF0064E0, 0xFF00A2F9, 0xFF00B1FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, + 0xFF00B5FF, 0xFF00CAFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, + 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xD600CEFF, 0x1900CDFF, 0x0000CDFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000067FF, 0x080067FF, 0xB70067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0064F5, 0xFF005EDE, 0xFF005EDD, + 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF0064E0, 0xFF00A2F9, 0xFF00B1FF, 0xFF00B0FF, 0xFF00B0FF, 0xFF00B0FF, + 0xFF00B0FF, 0xFF00C1FF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, + 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xD100CEFF, 0x1600CDFF, 0x0000CDFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x000067FF, 0x000068FF, 0x3C0067FF, 0xB30067FF, 0xF70067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FE, 0xFF0061E9, + 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF0064E0, 0xFF00A2F9, 0xFF00B1FF, 0xFF00B0FF, 0xFF00B0FF, + 0xFF00B0FF, 0xFF00B7FF, 0xFF00CCFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, + 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFB00CEFF, 0xC400CEFF, 0x5000CEFF, 0x0300CEFF, 0x0000CEFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000068FF, 0x000067FF, 0x0D0067FF, 0x5E0067FF, 0xCD0067FF, + 0xFD0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0065F7, 0xFF005FE0, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF0064E0, 0xFF00A2F9, 0xFF00B1FF, 0xFF00B0FF, + 0xFF00B0FF, 0xFF00B1FF, 0xFF00C4FF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, + 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xDA00CEFF, 0x7100CEFF, 0x1500CEFF, 0x0000CEFF, 0x0000CEFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x000067FF, + 0x1B0067FF, 0x7D0067FF, 0xE20067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0062EC, 0xFF005EDD, 0xFF005EDD, 0xFF005EDD, 0xFF0064E0, 0xFF00A2F9, 0xFF00B1FF, + 0xFF00B0FF, 0xFF00B0FF, 0xFF00B9FF, 0xFF00CDFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, + 0xFF00CEFF, 0xFF00CEFF, 0xEB00CEFF, 0x9100CEFF, 0x2700CEFF, 0x0100CFFF, 0x0000CFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000066FF, 0x020065FF, 0x2F0067FF, 0x9D0067FF, 0xF00067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0066F9, 0xFF005FE1, 0xFF005EDD, 0xFF005EDD, 0xFF0064E0, 0xFF00A2F9, + 0xFF00B1FF, 0xFF00B0FF, 0xFF00B2FF, 0xFF00C6FF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, + 0xFF00CFFF, 0xF900CDFF, 0xB000CDFF, 0x3E00CEFF, 0x0400CEFF, 0x0000CEFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x070067FF, 0x490067FF, 0xBA0067FF, 0xF90067FF, + 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0063EF, 0xFF005EDD, 0xFF005EDD, 0xFF0064E0, + 0xFF00A2F9, 0xFF00B1FF, 0xFF00B0FF, 0xFF00BCFF, 0xFF00CDFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CFFF, + 0xFF00CEFF, 0xFF00B0FF, 0xD1007FFF, 0x190086FF, 0x00007EFF, 0x0000CFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x000067FF, 0x100067FF, + 0x660067FF, 0xD20067FF, 0xFE0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0066FB, 0xFF0060E3, 0xFF005EDC, + 0xFF0064E0, 0xFF00A2F9, 0xFF00B1FF, 0xFF00B3FF, 0xFF00C8FF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00CFFF, 0xFF00D0FF, + 0xFE00BDFE, 0xFF0085FF, 0xFF0050FF, 0xCA0040FF, 0x0F003FFF, 0x000040FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000066FF, 0x000081FF, 0x1F0067FF, 0x850067FF, 0xE60067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0067FF, 0xFF0063F2, + 0xFF005EDD, 0xFF0064E0, 0xFF00A2F9, 0xFF00B1FF, 0xFF00BEFF, 0xFF00CEFF, 0xFF00CEFF, 0xFF00D0FF, 0xFF00C4FB, + 0xFD008EE3, 0xF60055EB, 0xFF0042FF, 0xFF0041FF, 0xCD0044FF, 0x150050FF, 0x00004DFF, 0x00006BFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000067FF, 0x020068FF, 0x350067FF, 0xBC0161FB, 0xFF0065FD, 0xFF0068FF, + 0xFF0066FD, 0xFF0060E6, 0xFF0064DF, 0xFF00A2F9, 0xFF00B6FF, 0xFF00CAFF, 0xFF00CEFF, 0xFC00CCFE, 0xFC00A2EC, + 0xF9005ACD, 0xFB002FBB, 0xF30037E1, 0xFC0043FF, 0xF7004DFF, 0xF0005EFF, 0xA10067FF, 0x300067FF, 0x010068FF, + 0x000068FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000542EA, 0x75043CE0, 0xFF0348EB, + 0xFF015CF8, 0xFF0067FE, 0xFF0064F4, 0xFF0064E1, 0xFF00A2F9, 0xFF00C2FF, 0xFD00CEFF, 0xCE00D0FF, 0x8500A4ED, + 0xEB0036BE, 0xFC002AB9, 0xF4002BB9, 0xEC013EE0, 0xF5005BFF, 0xFB0066FF, 0xFF0067FF, 0xFF0067FF, 0xE20067FF, + 0x790067FE, 0x10015AF7, 0x00015EF9, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00063BE6, 0x730438DE, + 0xFF0539E2, 0xFF0338D6, 0xFD0046DA, 0xFD0060FA, 0xFF0067EC, 0xFF00AAF9, 0xE900CAFF, 0x8200CEFF, 0x1B00DEFF, + 0x2B012CC6, 0xE9012DC0, 0xFF002CBA, 0xFE002CB9, 0xF90235C3, 0xF90352E3, 0xFD0165FB, 0xFF0068FF, 0xFE0068FF, + 0xFB0162FC, 0xF0034FF0, 0x490441E6, 0x000442E7, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00063BE6, + 0x720439DF, 0xFF0438DD, 0xFF012EC0, 0xF9002DBE, 0xF90044F4, 0xFF005AFA, 0xFF0084FC, 0x920075FF, 0x0100FFFF, + 0x000F48D9, 0x36204AD1, 0xEE083ADB, 0xFF0132CF, 0xFF002DBE, 0xFF002BB9, 0xFE012DBB, 0xFB033ECC, 0xFA0358EB, + 0xF60256F4, 0xF90442E7, 0xF9053AE2, 0x50053AE2, 0x00053AE2, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00053BE4, 0x700439DE, 0xFF0233CD, 0xFF002CBA, 0xF9002DBF, 0xF9003EF4, 0xFF0043FF, 0xFF0043FF, 0x89003FFF, + 0x02FFFF00, 0x3FA6A59F, 0xB59E9FA1, 0xFC6A7DB6, 0xFF244ED4, 0xFF0437DA, 0xFF0130CA, 0xFF002DBC, 0xFF002BB8, + 0xFD0534C3, 0xFD063BE0, 0xFF053AE2, 0xFB0438DD, 0x540336D6, 0x000336D7, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000231CA, 0x6C0233CD, 0xFF012DBE, 0xFF002CB9, 0xF9002DBF, 0xF9003EF4, 0xFF0042FF, 0xFF0041FF, + 0xA81854F1, 0x90A7A69E, 0xECA6A49E, 0xFFA5A49F, 0xFFA7A59E, 0xFF9499A5, 0xFF566FBF, 0xFF1745D9, 0xFF0235D7, + 0xFF002FC4, 0xFF0632C2, 0xFF0639DD, 0xFF0334D3, 0xFB022FC2, 0x550330BF, 0x00032FBF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00002CBA, 0x62002CBB, 0xF6002CBA, 0xFA002CBA, 0xF8002DBF, 0xF9003EF4, 0xFD0246FF, + 0xFA0355FD, 0xF80F69F6, 0xFE5586CE, 0xFF959EA8, 0xFFA7A59E, 0xFFA5A49F, 0xFFA6A59F, 0xFFA6A49F, 0xFF8790AA, + 0xFF4262C7, 0xFF0D3EDB, 0xFF0435D3, 0xFF0331C5, 0xE4022EBC, 0x7F0832BB, 0x14113ABF, 0x000F38BE, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00002CB9, 0x64002CBA, 0xFE002CBA, 0xF9002CBA, 0xF2012EBE, 0xF5054BF0, + 0xFB0361FF, 0xFE0167FF, 0xFF0067FF, 0xFF0167FE, 0xFF2274EB, 0xFF6F8FBE, 0xFFA3A3A0, 0xFFA5A49F, 0xFFA5A49F, + 0xFFA7A59E, 0xFFA2A2A0, 0xFF7886B1, 0xEF2B51C9, 0xA10430BE, 0x310B35BC, 0x022B4EC3, 0x001D43C0, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00012FC4, 0x680130C6, 0xFF012DBE, 0xFF002CB9, 0xFD012CBA, + 0xFD063FCB, 0xFF065BEB, 0xFF0267FD, 0xFF0068FF, 0xFF0167FE, 0xFF035EF7, 0xFF225BDD, 0xFF969AA5, 0xFFA6A59F, + 0xFFA5A49F, 0xFFA5A49F, 0xF7A5A49F, 0xB0A8A69E, 0x418C92A6, 0x070533C9, 0x002046C1, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00063AE1, 0x670539DE, 0xFE0437DA, 0xFF0231C9, + 0xFF002DBC, 0xFF002BB9, 0xFF0331BD, 0xFF0647D4, 0xFF065DF0, 0xFF0952EC, 0xFF063EE4, 0xFF1D49D8, 0xFF9599A6, + 0xFFA6A59F, 0xFDA5A49F, 0xCAA5A49F, 0x5BA5A49F, 0x0CA5A49F, 0x00A5A49F, 0x00A5A59F, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000C3EDC, 0x180C3DD9, 0x850A3DDE, + 0xE6063ADF, 0xFF0436D6, 0xFF0130C4, 0xFF002CBA, 0xFF012CB8, 0xFF0738CD, 0xFF063BE2, 0xFF0339E2, 0xFF1A46D2, + 0xFF9398A5, 0xE0A6A59F, 0x7BA5A49F, 0x19A5A49F, 0x00A4A6A0, 0x00A5A39F, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x001842D0, + 0x022348C5, 0x350E3EDA, 0xA5093CDF, 0xF30639DE, 0xFF0334D1, 0xFF012EC0, 0xFF0534CC, 0xFF0438DD, 0xFF0132CC, + 0xF3123ABC, 0x9C888FA5, 0x2DACA99D, 0x01A5A49F, 0x00A5A49F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x000D3DD8, 0x081743CF, 0x4F0C3EDB, 0xC1083CDF, 0xFB0538DC, 0xFF0434CE, 0xFC012FC1, + 0xC8022EBB, 0x540A34BC, 0x075269B3, 0x003151B9, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x003C55B2, 0x000033EF, 0x131341D4, 0x6E0B3DDE, 0xC30635CE, + 0x78032FBC, 0x170A35C0, 0x000018B3, 0x004365D1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00244BC4, 0x02214AC7, + 0x11123EC9, 0x03103CC9, 0x000E3AC8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000}; + +unsigned int PLACEHOLDER_ICON_DATA[PLACEHOLDER_ICON_WIDTH * PLACEHOLDER_ICON_HEIGHT] = { + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xA2787878, + 0x0C090909, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0E0A0A0A, 0xA87D7D7D, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x5E464646, + 0xF3B4B4B4, 0xFFBDBDBD, 0xD79F9F9F, 0x2D212121, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x35272727, 0xDCA3A3A3, 0xFFBDBDBD, 0xF2B3B3B3, 0x5A434343, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0x00000000, 0x281E1E1E, 0xD29C9C9C, 0xFFBDBDBD, 0xF6B6B6B6, 0x654B4B4B, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x01010101, 0x72545454, 0xF9B9B9B9, 0xFFBDBDBD, 0xCC979797, 0x241B1B1B, 0x00000000, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x09070707, 0x9A727272, 0xFFBDBDBD, 0xFFBDBDBD, + 0xA67B7B7B, 0x0D0A0A0A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x140F0F0F, 0xB4858585, 0xFFBDBDBD, 0xFEBCBCBC, 0x906B6B6B, 0x07050505, 0x00000000, + 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x59424242, 0xF2B3B3B3, 0xFFBDBDBD, 0xDAA2A2A2, 0x31242424, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x3F2F2F2F, 0xE4A9A9A9, 0xFFBDBDBD, 0xECAFAFAF, 0x4E3A3A3A, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x251B1B1B, 0xCF999999, 0xFFBDBDBD, 0xF7B7B7B7, 0x6A4F4F4F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03020202, 0x7E5D5D5D, 0xFCBBBBBB, 0xFFBDBDBD, 0xC2909090, 0x1D151515, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x08060606, 0x966F6F6F, 0xFFBDBDBD, + 0xFFBDBDBD, 0xAA7E7E7E, 0x0F0B0B0B, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1A131313, 0xBE8D8D8D, 0xFFBDBDBD, 0xFDBCBCBC, 0x83616161, + 0x04030303, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x553F3F3F, 0xF0B2B2B2, 0xFFBDBDBD, 0xDCA3A3A3, 0x33262626, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x49363636, 0xEAADADAD, 0xFFBDBDBD, 0xE6AAAAAA, + 0x43323232, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x231A1A1A, 0xCC979797, 0xFFBDBDBD, 0xF8B8B8B8, 0x6D515151, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x05040404, 0x8A666666, 0xFEBCBCBC, 0xFFBDBDBD, + 0xB9898989, 0x16101010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x07050505, 0x926C6C6C, + 0xFFBDBDBD, 0xFFBDBDBD, 0xAD808080, 0x100C0C0C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x21181818, 0xC8949494, 0xFFBDBDBD, + 0xFBBABABA, 0x77585858, 0x02010101, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x523D3D3D, 0xEFB1B1B1, 0xFFBDBDBD, 0xDEA5A5A5, 0x36282828, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x543E3E3E, 0xEFB1B1B1, + 0xFFBDBDBD, 0xE0A6A6A6, 0x392A2A2A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x21181818, 0xC9959595, 0xFFBDBDBD, 0xF9B9B9B9, + 0x71545454, 0x01010101, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x08060606, 0x966F6F6F, + 0xFFBDBDBD, 0xFFBDBDBD, 0xAD808080, 0x110D0D0D, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x06040404, + 0x8E696969, 0xFEBCBCBC, 0xFFBDBDBD, 0xB1838383, 0x120D0D0D, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x281E1E1E, + 0xD19B9B9B, 0xFFBDBDBD, 0xF7B7B7B7, 0x6B4F4F4F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x4E3A3A3A, 0xEDB0B0B0, 0xFFBDBDBD, 0xE1A7A7A7, 0x392A2A2A, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x5F464646, 0xF4B5B5B5, 0xFFBDBDBD, 0xD9A1A1A1, 0x30242424, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1E161616, 0xC6939393, 0xFFBDBDBD, + 0xFAB9B9B9, 0x75575757, 0x01010101, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0C090909, 0xA2787878, 0xFFBDBDBD, 0xFFBDBDBD, 0xA2787878, 0x0C090909, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x05040404, 0x8A666666, 0xFEBCBCBC, 0xFFBDBDBD, 0xB4858585, 0x140F0F0F, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x30242424, 0xD9A1A1A1, 0xFFBDBDBD, 0xF4B5B5B5, 0x5F464646, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x4B383838, 0xEBAEAEAE, 0xFFBDBDBD, 0xE3A8A8A8, 0x3C2C2C2C, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x6B4F4F4F, 0xF7B7B7B7, 0xFFBDBDBD, 0xD19B9B9B, 0x281E1E1E, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1C151515, 0xC3919191, + 0xFFBDBDBD, 0xFBBABABA, 0x795A5A5A, 0x02010101, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x110D0D0D, 0xAD808080, 0xFFBDBDBD, 0xFFBDBDBD, 0x966F6F6F, 0x08060606, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x04030303, 0x86636363, 0xFDBCBCBC, 0xFFBDBDBD, 0xB8888888, 0x16101010, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x392A2A2A, 0xE0A6A6A6, 0xFFBDBDBD, 0xEFB1B1B1, 0x543E3E3E, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x47353535, 0xEAADADAD, 0xFFBDBDBD, 0xE5AAAAAA, + 0x402F2F2F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x02010101, 0x77585858, 0xFBBABABA, 0xFFBDBDBD, 0xC8949494, 0x21181818, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1A131313, + 0xC08E8E8E, 0xFFBDBDBD, 0xFCBBBBBB, 0x7E5D5D5D, 0x02010101, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x15101010, 0xB6878787, 0xFFBDBDBD, 0xFEBCBCBC, 0x916B6B6B, + 0x06040404, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03020202, 0x82606060, 0xFDBCBCBC, 0xFFBDBDBD, 0xBC8B8B8B, 0x18121212, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x43323232, 0xE7ABABAB, 0xFFBDBDBD, 0xEAADADAD, + 0x49363636, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x43323232, 0xE7ABABAB, 0xFFBDBDBD, + 0xE8ACACAC, 0x43323232, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04030303, 0x84626262, 0xFDBCBCBC, 0xFFBDBDBD, + 0xBE8D8D8D, 0x1A131313, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x18121212, 0xBC8B8B8B, 0xFFBDBDBD, 0xFDBCBCBC, 0x82606060, 0x03020202, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1C151515, 0xC2909090, 0xFFBDBDBD, + 0xFCBBBBBB, 0x805F5F5F, 0x03020202, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x02010101, 0x7D5D5D5D, 0xFCBBBBBB, 0xFFBDBDBD, 0xBF8E8E8E, 0x1A131313, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x4E3A3A3A, 0xECAFAFAF, + 0xFFBDBDBD, 0xE3A8A8A8, 0x3E2E2E2E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x402F2F2F, 0xE5AAAAAA, + 0xFFBDBDBD, 0xE9ADADAD, 0x47353535, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x07050505, 0x906B6B6B, + 0xFEBCBCBC, 0xFFBDBDBD, 0xB3858585, 0x140F0F0F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x16101010, 0xB9898989, 0xFFBDBDBD, 0xFDBCBCBC, 0x86636363, 0x04030303, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x20181818, + 0xC7939393, 0xFFBDBDBD, 0xFBBABABA, 0x805F5F5F, 0x02010101, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02010101, 0x7A5A5A5A, 0xFBBABABA, 0xFFBDBDBD, 0xC3919191, + 0x1C151515, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x59424242, 0xF1B3B3B3, 0xFFBDBDBD, 0xDDA4A4A4, 0x35272727, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3D2D2D2D, + 0xE3A8A8A8, 0xFFBDBDBD, 0xEBAEAEAE, 0x4A373737, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0A070707, 0x9C747474, 0xFFBDBDBD, 0xFFBDBDBD, 0xA87D7D7D, 0x0E0A0A0A, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x140F0F0F, 0xB5868686, 0xFFBDBDBD, 0xFEBCBCBC, 0x8A666666, 0x05040404, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x2C212121, 0xD59E9E9E, 0xFFBDBDBD, 0xF6B6B6B6, 0x654B4B4B, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01010101, 0x6F525252, 0xF9B9B9B9, 0xFFBDBDBD, + 0xCA969696, 0x21181818, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x664C4C4C, 0xF6B6B6B6, 0xFFBDBDBD, 0xD59E9E9E, 0x2C212121, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x3A2B2B2B, 0xE1A7A7A7, 0xFFBDBDBD, 0xEDB0B0B0, 0x4D393939, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0E0A0A0A, 0xA87D7D7D, 0xFFBDBDBD, 0xFFBDBDBD, 0x9C747474, 0x0A070707, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x120D0D0D, 0xB2848484, 0xFFBDBDBD, 0xFEBCBCBC, 0x8D696969, 0x06040404, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x35272727, 0xDCA3A3A3, 0xFFBDBDBD, 0xF1B3B3B3, 0x59424242, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01010101, 0x6F525252, 0xF9B9B9B9, + 0xFFBDBDBD, 0xCB969696, 0x231A1A1A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x01010101, 0x6F525252, 0xF9B9B9B9, 0xFFBDBDBD, 0xCD989898, 0x241B1B1B, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x37292929, 0xDFA5A5A5, 0xFFBDBDBD, 0xEFB1B1B1, 0x513C3C3C, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x140F0F0F, 0xB3858585, 0xFFBDBDBD, 0xFEBCBCBC, 0x906B6B6B, + 0x07050505, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x110D0D0D, 0xAE818181, 0xFFBDBDBD, 0xFEBCBCBC, 0x926C6C6C, + 0x07050505, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3E2E2E2E, 0xE3A8A8A8, 0xFFBDBDBD, 0xEDB0B0B0, + 0x4E3A3A3A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01010101, 0x6E525252, + 0xF8B8B8B8, 0xFFBDBDBD, 0xCC979797, 0x231A1A1A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01010101, 0x6F525252, 0xFAB9B9B9, 0xFFBDBDBD, + 0xC9959595, 0x21181818, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x32252525, 0xDBA2A2A2, 0xFFBDBDBD, 0xF2B3B3B3, 0x58414141, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1A131313, 0xBE8D8D8D, 0xFFBDBDBD, + 0xFDBCBCBC, 0x84626262, 0x04030303, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0F0B0B0B, 0xAA7E7E7E, 0xFFBDBDBD, 0xFFBDBDBD, + 0x966F6F6F, 0x08060606, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x49363636, 0xEAADADAD, + 0xFFBDBDBD, 0xE6AAAAAA, 0x43323232, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x694E4E4E, 0xF7B7B7B7, 0xFFBDBDBD, 0xCF999999, 0x261C1C1C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x05040404, 0x8A666666, + 0xFEBCBCBC, 0xFFBDBDBD, 0xB8888888, 0x16101010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x2B202020, 0xD59E9E9E, 0xFFBDBDBD, 0xF2B3B3B3, 0x5B434343, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1E161616, + 0xC4919191, 0xFFBDBDBD, 0xFBBABABA, 0x805F5F5F, 0x02010101, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0D0A0A0A, 0xA67B7B7B, 0xFFBDBDBD, + 0xFFBDBDBD, 0x9A727272, 0x09070707, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x533E3E3E, 0xEFB1B1B1, 0xFFBDBDBD, 0xE0A6A6A6, 0x392A2A2A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x654B4B4B, 0xF6B6B6B6, 0xFFBDBDBD, 0xD29C9C9C, 0x281E1E1E, 0x00000000, 0x00000000, 0x00000000, + 0x08060606, 0x966F6F6F, 0xFFBDBDBD, 0xFFBDBDBD, 0xAE818181, 0x110D0D0D, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x2D212121, 0xD79F9F9F, 0xFFBDBDBD, 0xF3B4B4B4, 0x5D454545, + 0x00000000, 0x271D1D1D, 0xCF999999, 0xFFBDBDBD, 0xF8B8B8B8, 0x6F525252, 0x01010101, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x09070707, 0x9A727272, + 0xFFBDBDBD, 0xFFBDBDBD, 0xC4929292, 0xF4B4B4B4, 0xFFBDBDBD, 0xD9A1A1A1, 0x31242424, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x664C4C4C, 0xFBBABABA, 0xFFBDBDBD, 0xFFBDBDBD, 0xB2848484, 0x0C090909, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x2B202020, 0xD49D9D9D, 0xFFBDBDBD, 0xFDBCBCBC, 0xFFBDBDBD, 0xF7B7B7B7, + 0x6F525252, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x5E464646, 0xF6B6B6B6, 0xFFBDBDBD, 0xD59E9E9E, 0x33262626, + 0x916B6B6B, 0xFFBDBDBD, 0xFFBDBDBD, 0xA2787878, 0x0C090909, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x110D0D0D, 0xAE818181, 0xFFBDBDBD, 0xFFBDBDBD, 0x966F6F6F, + 0x08060606, 0x00000000, 0x00000000, 0x5D454545, 0xF3B4B4B4, 0xFFBDBDBD, 0xD79F9F9F, 0x2D212121, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x392A2A2A, 0xE0A6A6A6, 0xFFBDBDBD, 0xEFB1B1B1, + 0x533E3E3E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x281E1E1E, 0xD29C9C9C, 0xFFBDBDBD, + 0xF6B6B6B6, 0x654B4B4B, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01010101, 0x6F525252, 0xFAB9B9B9, 0xFFBDBDBD, + 0xCA969696, 0x231A1A1A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x09070707, 0x9A727272, 0xFFBDBDBD, 0xFFBDBDBD, 0xA67B7B7B, 0x0D0A0A0A, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x16101010, 0xB8888888, 0xFFBDBDBD, + 0xFEBCBCBC, 0x8A666666, 0x05040404, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x533E3E3E, 0xEFB1B1B1, 0xFFBDBDBD, 0xDAA2A2A2, 0x30242424, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x43323232, 0xE6AAAAAA, + 0xFFBDBDBD, 0xEAADADAD, 0x49363636, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x261C1C1C, 0xCF999999, + 0xFFBDBDBD, 0xF7B7B7B7, 0x694E4E4E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04030303, 0x84626262, + 0xFDBCBCBC, 0xFFBDBDBD, 0xBE8D8D8D, 0x1A131313, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x08060606, 0x966F6F6F, 0xFFBDBDBD, 0xFFBDBDBD, 0xAA7E7E7E, 0x0F0B0B0B, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1D151515, + 0xC2909090, 0xFFBDBDBD, 0xFCBBBBBB, 0x805F5F5F, 0x03020202, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x513C3C3C, 0xEEB0B0B0, 0xFFBDBDBD, 0xE0A6A6A6, + 0x382A2A2A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x4E3A3A3A, 0xEDB0B0B0, 0xFFBDBDBD, 0xE3A8A8A8, 0x3E2E2E2E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x231A1A1A, + 0xCC979797, 0xFFBDBDBD, 0xF8B8B8B8, 0x6E525252, 0x01010101, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x07050505, 0x906B6B6B, 0xFEBCBCBC, 0xFFBDBDBD, 0xB3858585, 0x140F0F0F, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x07050505, 0x926C6C6C, 0xFEBCBCBC, 0xFFBDBDBD, 0xAE818181, 0x110D0D0D, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x20181818, 0xC7939393, 0xFFBDBDBD, 0xFBBABABA, 0x805F5F5F, 0x02010101, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x513C3C3C, 0xEFB1B1B1, 0xFFBDBDBD, + 0xDFA5A5A5, 0x37292929, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x59424242, 0xF1B3B3B3, 0xFFBDBDBD, 0xDCA3A3A3, 0x35272727, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x1E161616, 0xC5929292, 0xFFBDBDBD, 0xFBBABABA, 0x805F5F5F, 0x02010101, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0A070707, 0x9C747474, 0xFFBDBDBD, 0xFFBDBDBD, 0xA87D7D7D, 0x0E0A0A0A, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x06040404, 0x8D696969, 0xFEBCBCBC, 0xFFBDBDBD, 0xB2848484, 0x120D0D0D, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x2C212121, 0xD59E9E9E, 0xFFBDBDBD, 0xF6B6B6B6, 0x664C4C4C, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x4D393939, 0xEDB0B0B0, + 0xFFBDBDBD, 0xE1A7A7A7, 0x3A2B2B2B, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x654B4B4B, 0xF6B6B6B6, 0xFFBDBDBD, 0xD59E9E9E, 0x2C212121, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x1D151515, 0xC4919191, 0xFFBDBDBD, 0xFBBABABA, 0x805F5F5F, 0x02010101, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0E0A0A0A, 0xA87D7D7D, 0xFFBDBDBD, 0xFFBDBDBD, 0x9C747474, + 0x0A070707, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x05040404, 0x8A666666, 0xFEBCBCBC, 0xFFBDBDBD, 0xB5868686, + 0x140F0F0F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x35272727, 0xDDA4A4A4, 0xFFBDBDBD, 0xF1B3B3B3, + 0x59424242, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x4A373737, + 0xEBAEAEAE, 0xFFBDBDBD, 0xE3A8A8A8, 0x3D2D2D2D, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01010101, 0x6F525252, 0xF9B9B9B9, 0xFFBDBDBD, + 0xCD989898, 0x251B1B1B, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x1C151515, 0xC3919191, 0xFFBDBDBD, 0xFBBABABA, 0x7A5A5A5A, 0x02010101, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x140F0F0F, 0xB3858585, 0xFFBDBDBD, + 0xFEBCBCBC, 0x906B6B6B, 0x07050505, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04030303, 0x86636363, 0xFDBCBCBC, 0xFFBDBDBD, + 0xB9898989, 0x16101010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3E2E2E2E, 0xE3A8A8A8, + 0xFFBDBDBD, 0xECAFAFAF, 0x4E3A3A3A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x47353535, 0xE9ADADAD, 0xFFBDBDBD, 0xE5AAAAAA, 0x402F2F2F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01010101, 0x6F525252, + 0xFAB9B9B9, 0xFFBDBDBD, 0xC8949494, 0x21181818, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x1A131313, 0xBF8E8E8E, 0xFFBDBDBD, 0xFCBBBBBB, 0x7D5D5D5D, 0x02010101, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1A131313, + 0xBE8D8D8D, 0xFFBDBDBD, 0xFDBCBCBC, 0x84626262, 0x04030303, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03020202, 0x82606060, 0xFDBCBCBC, + 0xFFBDBDBD, 0xBC8B8B8B, 0x18121212, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x49363636, 0xEAADADAD, 0xFFBDBDBD, 0xE7ABABAB, 0x43323232, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x43323232, 0xE8ACACAC, 0xFFBDBDBD, 0xE7ABABAB, 0x43323232, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x04030303, 0x805F5F5F, 0xFDBCBCBC, 0xFFBDBDBD, 0xBC8B8B8B, 0x19131313, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x18121212, 0xBC8B8B8B, 0xFFBDBDBD, 0xFDBCBCBC, 0x82606060, + 0x03020202, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x21181818, 0xC8949494, 0xFFBDBDBD, 0xFBBABABA, 0x77585858, 0x02010101, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02010101, 0x7E5D5D5D, + 0xFCBBBBBB, 0xFFBDBDBD, 0xC08E8E8E, 0x1A131313, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x543E3E3E, 0xEFB1B1B1, 0xFFBDBDBD, 0xE0A6A6A6, 0x392A2A2A, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x402F2F2F, 0xE5AAAAAA, 0xFFBDBDBD, 0xEAADADAD, 0x47353535, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x08060606, 0x966F6F6F, 0xFFBDBDBD, 0xFFBDBDBD, 0xAD808080, 0x110D0D0D, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x16101010, 0xB8888888, 0xFFBDBDBD, 0xFDBCBCBC, + 0x86636363, 0x04030303, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x281E1E1E, 0xD19B9B9B, 0xFFBDBDBD, 0xF7B7B7B7, 0x6B4F4F4F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02010101, + 0x795A5A5A, 0xFBBABABA, 0xFFBDBDBD, 0xC3919191, 0x1C151515, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x5F464646, 0xF4B5B5B5, 0xFFBDBDBD, 0xD9A1A1A1, 0x30242424, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x3C2C2C2C, 0xE3A8A8A8, 0xFFBDBDBD, 0xEBAEAEAE, 0x4B383838, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0C090909, 0xA2787878, 0xFFBDBDBD, 0xFFBDBDBD, 0xA2787878, + 0x0C090909, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x140F0F0F, 0xB4858585, 0xFFBDBDBD, + 0xFEBCBCBC, 0x8A666666, 0x05040404, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x30242424, 0xD9A1A1A1, 0xFFBDBDBD, 0xF4B5B5B5, + 0x5F464646, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x01010101, 0x75575757, 0xFAB9B9B9, 0xFFBDBDBD, 0xC6939393, 0x1E161616, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x6B4F4F4F, 0xF7B7B7B7, 0xFFBDBDBD, + 0xD19B9B9B, 0x281E1E1E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x392A2A2A, 0xE1A7A7A7, 0xFFBDBDBD, 0xEDB0B0B0, 0x4E3A3A3A, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x110D0D0D, 0xAD808080, 0xFFBDBDBD, + 0xFFBDBDBD, 0x966F6F6F, 0x08060606, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x120D0D0D, 0xB1838383, + 0xFFBDBDBD, 0xFEBCBCBC, 0x8E696969, 0x06040404, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x392A2A2A, 0xE0A6A6A6, + 0xFFBDBDBD, 0xEFB1B1B1, 0x543E3E3E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x01010101, 0x71545454, 0xF9B9B9B9, 0xFFBDBDBD, 0xC9959595, 0x21181818, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02010101, 0x77585858, + 0xFBBABABA, 0xFFBDBDBD, 0xC8949494, 0x21181818, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x36282828, 0xDEA5A5A5, 0xFFBDBDBD, 0xEFB1B1B1, + 0x523D3D3D, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x16101010, + 0xB9898989, 0xFFBDBDBD, 0xFEBCBCBC, 0x8A666666, 0x05040404, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x100C0C0C, + 0xAD808080, 0xFFBDBDBD, 0xFFBDBDBD, 0x926C6C6C, 0x07050505, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x43323232, 0xE6AAAAAA, 0xFFBDBDBD, 0xEAADADAD, 0x49363636, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x6D515151, 0xF8B8B8B8, 0xFFBDBDBD, 0xCC979797, 0x231A1A1A, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x04030303, 0x83616161, 0xFDBCBCBC, 0xFFBDBDBD, 0xBE8D8D8D, 0x1A131313, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x33262626, 0xDCA3A3A3, 0xFFBDBDBD, + 0xF0B2B2B2, 0x553F3F3F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x1D151515, 0xC2909090, 0xFFBDBDBD, 0xFCBBBBBB, 0x7E5D5D5D, 0x03020202, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0F0B0B0B, 0xAA7E7E7E, 0xFFBDBDBD, 0xFFBDBDBD, 0x966F6F6F, 0x08060606, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x4E3A3A3A, 0xECAFAFAF, 0xFFBDBDBD, 0xE4A9A9A9, 0x3F2F2F2F, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x6A4F4F4F, 0xF7B7B7B7, 0xFFBDBDBD, 0xCF999999, 0x251B1B1B, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0x00000000, 0x00000000, 0x07050505, 0x906B6B6B, 0xFEBCBCBC, 0xFFBDBDBD, 0xB4858585, 0x140F0F0F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x31242424, 0xDAA2A2A2, + 0xFFBDBDBD, 0xF2B3B3B3, 0x59424242, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0x00000000, 0x241B1B1B, 0xCC979797, 0xFFBDBDBD, 0xF9B9B9B9, 0x72545454, 0x01010101, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0D0A0A0A, 0xA67B7B7B, 0xFFBDBDBD, 0xFFBDBDBD, 0x9A727272, 0x09070707, 0x00000000, 0x00000000, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0x5A434343, 0xF2B3B3B3, 0xFFBDBDBD, 0xDCA3A3A3, 0x35272727, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x654B4B4B, 0xF6B6B6B6, 0xFFBDBDBD, 0xD29C9C9C, + 0x281E1E1E, 0x00000000, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xA87D7D7D, + 0x0E0A0A0A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x2D212121, + 0xD79F9F9F, 0xFFBDBDBD, 0xF3B4B4B4, 0x5E464646, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xF6B6B6B6, + 0x654B4B4B, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0C090909, 0xA2787878, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD, + 0xFFBDBDBD, 0xFFBDBDBD, 0xFFBDBDBD}; + } // namespace Resources \ No newline at end of file diff --git a/src/core/resources.h b/src/core/resources.h index 37ffd3900..efc13b986 100644 --- a/src/core/resources.h +++ b/src/core/resources.h @@ -12,4 +12,12 @@ constexpr u32 CROSSHAIR_IMAGE_WIDTH = 96; constexpr u32 CROSSHAIR_IMAGE_HEIGHT = 96; extern const std::array CROSSHAIR_IMAGE_DATA; +constexpr int WINDOW_ICON_WIDTH = 64; +constexpr int WINDOW_ICON_HEIGHT = 64; +extern unsigned int WINDOW_ICON_DATA[WINDOW_ICON_WIDTH * WINDOW_ICON_HEIGHT]; + +constexpr int PLACEHOLDER_ICON_WIDTH = 128; +constexpr int PLACEHOLDER_ICON_HEIGHT = 96; +extern unsigned int PLACEHOLDER_ICON_DATA[PLACEHOLDER_ICON_WIDTH * PLACEHOLDER_ICON_HEIGHT]; + } // namespace Resources diff --git a/src/core/settings.cpp b/src/core/settings.cpp index 68fb136b2..6b8946cdf 100644 --- a/src/core/settings.cpp +++ b/src/core/settings.cpp @@ -11,7 +11,7 @@ #include "common/string_util.h" #include "controller.h" #include "host.h" -#include "host_display.h" +#include "util/host_display.h" #include "host_settings.h" #include "system.h" #include @@ -354,7 +354,6 @@ void Settings::Load(SettingsInterface& si) memory_card_paths[1] = si.GetStringValue("MemoryCards", "Card2Path", ""); memory_card_use_playlist_title = si.GetBoolValue("MemoryCards", "UsePlaylistTitle", true); -#ifdef WITH_CHEEVOS achievements_enabled = si.GetBoolValue("Cheevos", "Enabled", false); achievements_test_mode = si.GetBoolValue("Cheevos", "TestMode", false); achievements_unofficial_test_mode = si.GetBoolValue("Cheevos", "UnofficialTestMode", false); @@ -365,7 +364,6 @@ void Settings::Load(SettingsInterface& si) achievements_notifications = si.GetBoolValue("Cheevos", "Notifications", true); achievements_sound_effects = si.GetBoolValue("Cheevos", "SoundEffects", true); achievements_primed_indicators = si.GetBoolValue("Cheevos", "PrimedIndicators", true); -#endif log_level = ParseLogLevelName(si.GetStringValue("Logging", "LogLevel", GetLogLevelName(DEFAULT_LOG_LEVEL)).c_str()) .value_or(DEFAULT_LOG_LEVEL); @@ -551,7 +549,6 @@ void Settings::Save(SettingsInterface& si) const si.SetStringValue("ControllerPorts", "MultitapMode", GetMultitapModeName(multitap_mode)); -#ifdef WITH_CHEEVOS si.SetBoolValue("Cheevos", "Enabled", achievements_enabled); si.SetBoolValue("Cheevos", "TestMode", achievements_test_mode); si.SetBoolValue("Cheevos", "UnofficialTestMode", achievements_unofficial_test_mode); @@ -562,7 +559,6 @@ void Settings::Save(SettingsInterface& si) const si.SetBoolValue("Cheevos", "Notifications", achievements_notifications); si.SetBoolValue("Cheevos", "SoundEffects", achievements_sound_effects); si.SetBoolValue("Cheevos", "PrimedIndicators", achievements_primed_indicators); -#endif si.SetStringValue("Logging", "LogLevel", GetLogLevelName(log_level)); si.SetStringValue("Logging", "LogFilter", log_filter.c_str()); diff --git a/src/core/settings.h b/src/core/settings.h index 061e4483c..8533692b7 100644 --- a/src/core/settings.h +++ b/src/core/settings.h @@ -178,7 +178,6 @@ struct Settings u32 gpu_fifo_size = DEFAULT_GPU_FIFO_SIZE; TickCount gpu_max_run_ahead = DEFAULT_GPU_MAX_RUN_AHEAD; -#ifdef WITH_CHEEVOS // achievements bool achievements_enabled = false; bool achievements_test_mode = false; @@ -190,7 +189,6 @@ struct Settings bool achievements_notifications = true; bool achievements_sound_effects = true; bool achievements_primed_indicators = true; -#endif struct DebugSettings { diff --git a/src/core/system.cpp b/src/core/system.cpp index bebcf373f..5503f1de8 100644 --- a/src/core/system.cpp +++ b/src/core/system.cpp @@ -25,7 +25,7 @@ #include "gpu.h" #include "gte.h" #include "host.h" -#include "host_display.h" +#include "util/host_display.h" #include "host_interface_progress_callback.h" #include "host_settings.h" #include "interrupt_controller.h" diff --git a/src/duckstation-nogui/CMakeLists.txt b/src/duckstation-nogui/CMakeLists.txt index 83643168c..60b97ec87 100644 --- a/src/duckstation-nogui/CMakeLists.txt +++ b/src/duckstation-nogui/CMakeLists.txt @@ -4,7 +4,7 @@ add_executable(duckstation-nogui nogui_platform.h ) -target_link_libraries(duckstation-nogui PRIVATE core util common imgui glad frontend-common scmversion) +target_link_libraries(duckstation-nogui PRIVATE core util common imgui glad scmversion) if(WIN32) message(STATUS "Building Win32 NoGUI Platform.") diff --git a/src/duckstation-nogui/duckstation-nogui.vcxproj b/src/duckstation-nogui/duckstation-nogui.vcxproj index 5916e9363..c55bd2d1f 100644 --- a/src/duckstation-nogui/duckstation-nogui.vcxproj +++ b/src/duckstation-nogui/duckstation-nogui.vcxproj @@ -48,9 +48,6 @@ {868b98c8-65a1-494b-8346-250a73a48c0a} - - {6245dec8-d2da-47ee-a373-cbd6fcf3ece6} - {57f6206d-f264-4b07-baf8-11b9bbe1f455} @@ -59,6 +56,6 @@ {0A172B2E-DC67-49FC-A4C1-975F93C586C4} - + \ No newline at end of file diff --git a/src/duckstation-nogui/nogui_host.cpp b/src/duckstation-nogui/nogui_host.cpp index 2d1799ae7..7396d6445 100644 --- a/src/duckstation-nogui/nogui_host.cpp +++ b/src/duckstation-nogui/nogui_host.cpp @@ -2,6 +2,30 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #include "nogui_host.h" +#include "nogui_platform.h" + +#include "scmversion/scmversion.h" + +#include "core/common_host.h" +#include "core/controller.h" +#include "core/fullscreen_ui.h" +#include "core/game_list.h" +#include "core/gpu.h" +#include "core/host.h" +#include "core/host_settings.h" +#include "core/imgui_overlays.h" +#include "core/settings.h" +#include "core/system.h" + +#include "util/host_display.h" +#include "util/imgui_manager.h" +#include "util/ini_settings_interface.h" +#include "util/input_manager.h" + +#include "imgui.h" +#include "imgui_internal.h" +#include "imgui_stdlib.h" + #include "common/assert.h" #include "common/byte_stream.h" #include "common/crash_handler.h" @@ -10,35 +34,17 @@ #include "common/path.h" #include "common/string_util.h" #include "common/threading.h" -#include "core/controller.h" -#include "core/gpu.h" -#include "core/host.h" -#include "core/host_display.h" -#include "core/host_settings.h" -#include "core/settings.h" -#include "core/system.h" -#include "frontend-common/common_host.h" -#include "frontend-common/fullscreen_ui.h" -#include "frontend-common/game_list.h" -#include "frontend-common/icon.h" -#include "frontend-common/imgui_manager.h" -#include "frontend-common/imgui_overlays.h" -#include "frontend-common/input_manager.h" -#include "imgui.h" -#include "imgui_internal.h" -#include "imgui_stdlib.h" -#include "nogui_platform.h" -#include "scmversion/scmversion.h" -#include "util/ini_settings_interface.h" + #include #include #include #include #include + Log_SetChannel(NoGUIHost); #ifdef WITH_CHEEVOS -#include "frontend-common/achievements.h" +#include "core/achievements_private.h" #endif #ifdef _WIN32 @@ -731,6 +737,7 @@ void NoGUIHost::ReleaseHostDisplay() InputManager::CloseSources(); CommonHost::ReleaseHostDisplayResources(); + FullscreenUI::Shutdown(); ImGuiManager::Shutdown(); g_host_display.reset(); g_nogui_window->ExecuteInMessageLoop([]() { diff --git a/src/duckstation-nogui/nogui_platform.h b/src/duckstation-nogui/nogui_platform.h index 17a21b355..cb79527ce 100644 --- a/src/duckstation-nogui/nogui_platform.h +++ b/src/duckstation-nogui/nogui_platform.h @@ -4,7 +4,7 @@ #pragma once #include "common/types.h" -#include "core/host_display.h" +#include "util/host_display.h" #include #include #include diff --git a/src/duckstation-nogui/win32_nogui_platform.cpp b/src/duckstation-nogui/win32_nogui_platform.cpp index afa14227a..912fbd16d 100644 --- a/src/duckstation-nogui/win32_nogui_platform.cpp +++ b/src/duckstation-nogui/win32_nogui_platform.cpp @@ -8,7 +8,7 @@ #include "common/threading.h" #include "core/host.h" #include "core/host_settings.h" -#include "frontend-common/imgui_manager.h" +#include "util/imgui_manager.h" #include "nogui_host.h" #include "resource.h" #include "win32_key_names.h" diff --git a/src/duckstation-qt/CMakeLists.txt b/src/duckstation-qt/CMakeLists.txt index dd568a82a..5c5ccf50d 100644 --- a/src/duckstation-qt/CMakeLists.txt +++ b/src/duckstation-qt/CMakeLists.txt @@ -170,7 +170,7 @@ qt6_add_translation(QM_FILES ${TS_FILES}) add_executable(duckstation-qt ${SRCS} ${QM_FILES}) target_include_directories(duckstation-qt PRIVATE "${Qt6Gui_PRIVATE_INCLUDE_DIRS}" "${CMAKE_CURRENT_SOURCE_DIR}") -target_link_libraries(duckstation-qt PRIVATE frontend-common core common imgui glad minizip scmversion Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Network) +target_link_libraries(duckstation-qt PRIVATE core common imgui glad minizip scmversion Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Network) if(WIN32) # We want a Windows subsystem application not console. diff --git a/src/duckstation-qt/achievementlogindialog.cpp b/src/duckstation-qt/achievementlogindialog.cpp index cc02bc231..c0b49adb7 100644 --- a/src/duckstation-qt/achievementlogindialog.cpp +++ b/src/duckstation-qt/achievementlogindialog.cpp @@ -2,7 +2,7 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #include "achievementlogindialog.h" -#include "frontend-common/achievements.h" +#include "core/achievements_private.h" #include "qthost.h" #include diff --git a/src/duckstation-qt/achievementsettingswidget.cpp b/src/duckstation-qt/achievementsettingswidget.cpp index 0f8a53408..40dae2877 100644 --- a/src/duckstation-qt/achievementsettingswidget.cpp +++ b/src/duckstation-qt/achievementsettingswidget.cpp @@ -3,13 +3,16 @@ #include "achievementsettingswidget.h" #include "achievementlogindialog.h" -#include "common/string_util.h" -#include "core/system.h" -#include "frontend-common/achievements.h" #include "mainwindow.h" #include "qtutils.h" #include "settingsdialog.h" #include "settingwidgetbinder.h" + +#include "core/achievements_private.h" +#include "core/system.h" + +#include "common/string_util.h" + #include #include diff --git a/src/duckstation-qt/audiosettingswidget.cpp b/src/duckstation-qt/audiosettingswidget.cpp index ee4ffa4ad..ab52c2627 100644 --- a/src/duckstation-qt/audiosettingswidget.cpp +++ b/src/duckstation-qt/audiosettingswidget.cpp @@ -2,11 +2,14 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #include "audiosettingswidget.h" -#include "core/spu.h" -#include "frontend-common/common_host.h" #include "settingsdialog.h" #include "settingwidgetbinder.h" + +#include "core/common_host.h" +#include "core/spu.h" + #include "util/audio_stream.h" + #include AudioSettingsWidget::AudioSettingsWidget(SettingsDialog* dialog, QWidget* parent) : QWidget(parent), m_dialog(dialog) @@ -107,8 +110,8 @@ void AudioSettingsWidget::updateDriverNames() #ifdef WITH_CUBEB if (backend == AudioBackend::Cubeb) { - names = CommonHost::GetCubebDriverNames(); - devices = CommonHost::GetCubebOutputDevices(m_dialog->getEffectiveStringValue("Audio", "Driver", "").c_str()); + names = AudioStream::GetCubebDriverNames(); + devices = AudioStream::GetCubebOutputDevices(m_dialog->getEffectiveStringValue("Audio", "Driver", "").c_str()); } #endif diff --git a/src/duckstation-qt/controllerbindingwidgets.cpp b/src/duckstation-qt/controllerbindingwidgets.cpp index 8bc208485..7af9ff822 100644 --- a/src/duckstation-qt/controllerbindingwidgets.cpp +++ b/src/duckstation-qt/controllerbindingwidgets.cpp @@ -8,7 +8,7 @@ #include "controllersettingwidgetbinder.h" #include "core/controller.h" #include "core/host_settings.h" -#include "frontend-common/input_manager.h" +#include "util/input_manager.h" #include "qthost.h" #include "qtutils.h" #include "settingsdialog.h" diff --git a/src/duckstation-qt/controllerglobalsettingswidget.cpp b/src/duckstation-qt/controllerglobalsettingswidget.cpp index beeed27e5..62178dd76 100644 --- a/src/duckstation-qt/controllerglobalsettingswidget.cpp +++ b/src/duckstation-qt/controllerglobalsettingswidget.cpp @@ -7,7 +7,7 @@ #include "qtutils.h" #include "settingwidgetbinder.h" -#include "frontend-common/sdl_input_source.h" +#include "util/sdl_input_source.h" ControllerGlobalSettingsWidget::ControllerGlobalSettingsWidget(QWidget* parent, ControllerSettingsDialog* dialog) : QWidget(parent), m_dialog(dialog) diff --git a/src/duckstation-qt/controllersettingsdialog.cpp b/src/duckstation-qt/controllersettingsdialog.cpp index 6a4ac1b35..a32c9035d 100644 --- a/src/duckstation-qt/controllersettingsdialog.cpp +++ b/src/duckstation-qt/controllersettingsdialog.cpp @@ -8,7 +8,7 @@ #include "controllerglobalsettingswidget.h" #include "core/controller.h" #include "core/host_settings.h" -#include "frontend-common/input_manager.h" +#include "util/input_manager.h" #include "hotkeysettingswidget.h" #include "qthost.h" #include "util/ini_settings_interface.h" diff --git a/src/duckstation-qt/controllersettingsdialog.h b/src/duckstation-qt/controllersettingsdialog.h index 49d17324b..d36eb3f14 100644 --- a/src/duckstation-qt/controllersettingsdialog.h +++ b/src/duckstation-qt/controllersettingsdialog.h @@ -3,7 +3,7 @@ #pragma once #include "common/types.h" -#include "frontend-common/input_manager.h" +#include "util/input_manager.h" #include "ui_controllersettingsdialog.h" #include #include diff --git a/src/duckstation-qt/coverdownloaddialog.cpp b/src/duckstation-qt/coverdownloaddialog.cpp index 31af30145..c6703648d 100644 --- a/src/duckstation-qt/coverdownloaddialog.cpp +++ b/src/duckstation-qt/coverdownloaddialog.cpp @@ -2,8 +2,10 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #include "coverdownloaddialog.h" + +#include "core/game_list.h" + #include "common/assert.h" -#include "frontend-common/game_list.h" CoverDownloadDialog::CoverDownloadDialog(QWidget* parent /*= nullptr*/) : QDialog(parent) { diff --git a/src/duckstation-qt/displaysettingswidget.cpp b/src/duckstation-qt/displaysettingswidget.cpp index d9f168510..8da67f4bc 100644 --- a/src/duckstation-qt/displaysettingswidget.cpp +++ b/src/duckstation-qt/displaysettingswidget.cpp @@ -12,11 +12,11 @@ // For enumerating adapters. #ifdef _WIN32 -#include "frontend-common/d3d11_host_display.h" -#include "frontend-common/d3d12_host_display.h" +#include "util/d3d11_host_display.h" +#include "util/d3d12_host_display.h" #endif #ifdef WITH_VULKAN -#include "frontend-common/vulkan_host_display.h" +#include "util/vulkan_host_display.h" #endif DisplaySettingsWidget::DisplaySettingsWidget(SettingsDialog* dialog, QWidget* parent) diff --git a/src/duckstation-qt/displaywidget.cpp b/src/duckstation-qt/displaywidget.cpp index 9bf25643a..12e1c1fd3 100644 --- a/src/duckstation-qt/displaywidget.cpp +++ b/src/duckstation-qt/displaywidget.cpp @@ -5,7 +5,7 @@ #include "common/assert.h" #include "common/bitutils.h" #include "common/log.h" -#include "frontend-common/imgui_manager.h" +#include "util/imgui_manager.h" #include "mainwindow.h" #include "qthost.h" #include "qtutils.h" diff --git a/src/duckstation-qt/duckstation-qt.vcxproj b/src/duckstation-qt/duckstation-qt.vcxproj index 96e815e95..b4aa59bfd 100644 --- a/src/duckstation-qt/duckstation-qt.vcxproj +++ b/src/duckstation-qt/duckstation-qt.vcxproj @@ -343,8 +343,8 @@ {868b98c8-65a1-494b-8346-250a73a48c0a} - - {6245dec8-d2da-47ee-a373-cbd6fcf3ece6} + + {075ced82-6a20-46df-94c7-9624ac9ddbeb} {57f6206d-f264-4b07-baf8-11b9bbe1f455} @@ -359,7 +359,7 @@ - + $(QtEntryPointLib);%(AdditionalDependencies) diff --git a/src/duckstation-qt/gamelistmodel.h b/src/duckstation-qt/gamelistmodel.h index 8e27cdd55..62c71a838 100644 --- a/src/duckstation-qt/gamelistmodel.h +++ b/src/duckstation-qt/gamelistmodel.h @@ -2,11 +2,14 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #pragma once + +#include "core/game_database.h" +#include "core/game_list.h" +#include "core/types.h" + #include "common/heterogeneous_containers.h" #include "common/lru_cache.h" -#include "core/game_database.h" -#include "core/types.h" -#include "frontend-common/game_list.h" + #include #include #include diff --git a/src/duckstation-qt/gamelistrefreshthread.cpp b/src/duckstation-qt/gamelistrefreshthread.cpp index d9c54f829..b2f2749ad 100644 --- a/src/duckstation-qt/gamelistrefreshthread.cpp +++ b/src/duckstation-qt/gamelistrefreshthread.cpp @@ -2,10 +2,13 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #include "gamelistrefreshthread.h" + +#include "core/game_list.h" + #include "common/log.h" #include "common/progress_callback.h" #include "common/timer.h" -#include "frontend-common/game_list.h" + #include AsyncRefreshProgressCallback::AsyncRefreshProgressCallback(GameListRefreshThread* parent) : m_parent(parent) {} diff --git a/src/duckstation-qt/gamelistsettingswidget.cpp b/src/duckstation-qt/gamelistsettingswidget.cpp index 497fcd9ea..1c0a64f65 100644 --- a/src/duckstation-qt/gamelistsettingswidget.cpp +++ b/src/duckstation-qt/gamelistsettingswidget.cpp @@ -2,14 +2,16 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #include "gamelistsettingswidget.h" -#include "common/assert.h" -#include "common/file_system.h" -#include "common/string_util.h" -#include "frontend-common/game_list.h" +#include "core/game_list.h" #include "gamelistsearchdirectoriesmodel.h" #include "mainwindow.h" #include "qthost.h" #include "qtutils.h" + +#include "common/assert.h" +#include "common/file_system.h" +#include "common/string_util.h" + #include #include #include diff --git a/src/duckstation-qt/gamelistwidget.cpp b/src/duckstation-qt/gamelistwidget.cpp index 2ab2c1adf..b09b324a9 100644 --- a/src/duckstation-qt/gamelistwidget.cpp +++ b/src/duckstation-qt/gamelistwidget.cpp @@ -2,15 +2,18 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #include "gamelistwidget.h" -#include "common/assert.h" -#include "common/string_util.h" -#include "core/host_settings.h" -#include "core/settings.h" -#include "frontend-common/game_list.h" #include "gamelistmodel.h" #include "gamelistrefreshthread.h" #include "qthost.h" #include "qtutils.h" + +#include "core/game_list.h" +#include "core/host_settings.h" +#include "core/settings.h" + +#include "common/assert.h" +#include "common/string_util.h" + #include #include #include diff --git a/src/duckstation-qt/gamelistwidget.h b/src/duckstation-qt/gamelistwidget.h index 0381db5c9..42339cb10 100644 --- a/src/duckstation-qt/gamelistwidget.h +++ b/src/duckstation-qt/gamelistwidget.h @@ -2,9 +2,11 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #pragma once -#include "frontend-common/game_list.h" #include "ui_emptygamelistwidget.h" #include "ui_gamelistwidget.h" + +#include "core/game_list.h" + #include #include diff --git a/src/duckstation-qt/gamesummarywidget.cpp b/src/duckstation-qt/gamesummarywidget.cpp index 8a41bc6f0..652f72244 100644 --- a/src/duckstation-qt/gamesummarywidget.cpp +++ b/src/duckstation-qt/gamesummarywidget.cpp @@ -2,13 +2,17 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #include "gamesummarywidget.h" -#include "common/string_util.h" -#include "core/game_database.h" -#include "fmt/format.h" -#include "frontend-common/game_list.h" #include "qthost.h" #include "qtprogresscallback.h" #include "settingsdialog.h" + +#include "core/game_database.h" +#include "core/game_list.h" + +#include "common/string_util.h" + +#include "fmt/format.h" + #include #include #include diff --git a/src/duckstation-qt/hotkeysettingswidget.cpp b/src/duckstation-qt/hotkeysettingswidget.cpp index a7a968a50..782499e35 100644 --- a/src/duckstation-qt/hotkeysettingswidget.cpp +++ b/src/duckstation-qt/hotkeysettingswidget.cpp @@ -3,7 +3,7 @@ #include "hotkeysettingswidget.h" #include "controllersettingsdialog.h" -#include "frontend-common/input_manager.h" +#include "util/input_manager.h" #include "inputbindingwidgets.h" #include "qtutils.h" #include "settingwidgetbinder.h" diff --git a/src/duckstation-qt/inputbindingdialog.h b/src/duckstation-qt/inputbindingdialog.h index 4747e0328..242fca34b 100644 --- a/src/duckstation-qt/inputbindingdialog.h +++ b/src/duckstation-qt/inputbindingdialog.h @@ -3,7 +3,7 @@ #pragma once #include "common/types.h" -#include "frontend-common/input_manager.h" +#include "util/input_manager.h" #include "ui_inputbindingdialog.h" #include #include diff --git a/src/duckstation-qt/inputbindingwidgets.h b/src/duckstation-qt/inputbindingwidgets.h index 9b331480b..57b0169ea 100644 --- a/src/duckstation-qt/inputbindingwidgets.h +++ b/src/duckstation-qt/inputbindingwidgets.h @@ -3,7 +3,7 @@ #pragma once #include "common/types.h" -#include "frontend-common/input_manager.h" +#include "util/input_manager.h" #include #include diff --git a/src/duckstation-qt/mainwindow.cpp b/src/duckstation-qt/mainwindow.cpp index 167850452..c27286679 100644 --- a/src/duckstation-qt/mainwindow.cpp +++ b/src/duckstation-qt/mainwindow.cpp @@ -5,20 +5,9 @@ #include "aboutdialog.h" #include "autoupdaterdialog.h" #include "cheatmanagerdialog.h" -#include "common/assert.h" -#include "common/file_system.h" -#include "common/log.h" -#include "core/achievements.h" -#include "core/host.h" -#include "core/host_display.h" -#include "core/memory_card.h" -#include "core/settings.h" -#include "core/system.h" #include "coverdownloaddialog.h" #include "debuggerwindow.h" #include "displaywidget.h" -#include "frontend-common/game_list.h" -#include "frontend-common/platform_misc.h" #include "gamelistsettingswidget.h" #include "gamelistwidget.h" #include "memorycardeditordialog.h" @@ -26,7 +15,21 @@ #include "qtutils.h" #include "settingsdialog.h" #include "settingwidgetbinder.h" + +#include "core/achievements.h" +#include "core/game_list.h" +#include "core/host.h" +#include "core/memory_card.h" +#include "core/settings.h" +#include "core/system.h" + #include "util/cd_image.h" +#include "util/host_display.h" +#include "util/platform_misc.h" + +#include "common/assert.h" +#include "common/file_system.h" +#include "common/log.h" #include #include @@ -44,7 +47,7 @@ #include #ifdef WITH_CHEEVOS -#include "frontend-common/achievements.h" +#include "core/achievements_private.h" #endif #ifdef _WIN32 diff --git a/src/duckstation-qt/postprocessingchainconfigwidget.cpp b/src/duckstation-qt/postprocessingchainconfigwidget.cpp index 7a9d34330..41fbf9602 100644 --- a/src/duckstation-qt/postprocessingchainconfigwidget.cpp +++ b/src/duckstation-qt/postprocessingchainconfigwidget.cpp @@ -2,9 +2,9 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #include "postprocessingchainconfigwidget.h" -#include "frontend-common/postprocessing_chain.h" #include "postprocessingshaderconfigwidget.h" #include "qthost.h" +#include "util/postprocessing_chain.h" #include #include #include diff --git a/src/duckstation-qt/postprocessingchainconfigwidget.h b/src/duckstation-qt/postprocessingchainconfigwidget.h index 2e3b0bcde..f94138a19 100644 --- a/src/duckstation-qt/postprocessingchainconfigwidget.h +++ b/src/duckstation-qt/postprocessingchainconfigwidget.h @@ -4,7 +4,7 @@ #pragma once #include "common/types.h" #include "ui_postprocessingchainconfigwidget.h" -#include "frontend-common/postprocessing_chain.h" +#include "util/postprocessing_chain.h" #include #include #include diff --git a/src/duckstation-qt/postprocessingshaderconfigwidget.h b/src/duckstation-qt/postprocessingshaderconfigwidget.h index 82730ef70..7cc4a540a 100644 --- a/src/duckstation-qt/postprocessingshaderconfigwidget.h +++ b/src/duckstation-qt/postprocessingshaderconfigwidget.h @@ -2,7 +2,7 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #pragma once -#include "frontend-common/postprocessing_shader.h" +#include "util/postprocessing_shader.h" #include #include diff --git a/src/duckstation-qt/qthost.cpp b/src/duckstation-qt/qthost.cpp index f02892fef..6f70a5330 100644 --- a/src/duckstation-qt/qthost.cpp +++ b/src/duckstation-qt/qthost.cpp @@ -2,6 +2,24 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #include "qthost.h" +#include "displaywidget.h" +#include "mainwindow.h" +#include "qtprogresscallback.h" +#include "qtutils.h" + +#include "core/cheats.h" +#include "core/controller.h" +#include "core/fullscreen_ui.h" +#include "core/game_database.h" +#include "core/game_list.h" +#include "core/gpu.h" +#include "core/host.h" +#include "core/host_settings.h" +#include "core/imgui_overlays.h" +#include "core/memory_card.h" +#include "core/spu.h" +#include "core/system.h" + #include "common/assert.h" #include "common/byte_stream.h" #include "common/crash_handler.h" @@ -10,28 +28,16 @@ #include "common/path.h" #include "common/string_util.h" #include "common/window_info.h" -#include "core/cheats.h" -#include "core/controller.h" -#include "core/game_database.h" -#include "core/gpu.h" -#include "core/host.h" -#include "core/host_settings.h" -#include "core/memory_card.h" -#include "core/spu.h" -#include "core/system.h" -#include "displaywidget.h" -#include "frontend-common/fullscreen_ui.h" -#include "frontend-common/game_list.h" -#include "frontend-common/imgui_manager.h" -#include "frontend-common/imgui_overlays.h" -#include "frontend-common/input_manager.h" -#include "imgui.h" -#include "mainwindow.h" -#include "qtprogresscallback.h" -#include "qtutils.h" -#include "scmversion/scmversion.h" + #include "util/audio_stream.h" +#include "util/imgui_manager.h" #include "util/ini_settings_interface.h" +#include "util/input_manager.h" + +#include "scmversion/scmversion.h" + +#include "imgui.h" + #include #include #include @@ -49,7 +55,8 @@ #include #include #include -Log_SetChannel(EmuThread); + +Log_SetChannel(QtHost); #ifdef _WIN32 #include "common/windows_headers.h" @@ -57,7 +64,7 @@ Log_SetChannel(EmuThread); #endif #ifdef WITH_CHEEVOS -#include "frontend-common/achievements.h" +#include "core/achievements_private.h" #endif static constexpr u32 SETTINGS_VERSION = 3; @@ -807,6 +814,7 @@ void EmuThread::releaseHostDisplay() return; CommonHost::ReleaseHostDisplayResources(); + FullscreenUI::Shutdown(); ImGuiManager::Shutdown(); g_host_display.reset(); emit destroyDisplayRequested(); diff --git a/src/duckstation-qt/qthost.h b/src/duckstation-qt/qthost.h index c57f89be6..3b85afc20 100644 --- a/src/duckstation-qt/qthost.h +++ b/src/duckstation-qt/qthost.h @@ -3,13 +3,13 @@ #pragma once #include "core/host.h" -#include "core/host_display.h" +#include "util/host_display.h" #include "core/host_settings.h" #include "core/system.h" #include "core/types.h" -#include "frontend-common/common_host.h" -#include "frontend-common/game_list.h" -#include "frontend-common/input_manager.h" +#include "core/common_host.h" +#include "core/game_list.h" +#include "util/input_manager.h" #include "gdbserver.h" #include "qtutils.h" #include diff --git a/src/duckstation-qt/qtkeycodes.cpp b/src/duckstation-qt/qtkeycodes.cpp index 97f14bc39..14786211b 100644 --- a/src/duckstation-qt/qtkeycodes.cpp +++ b/src/duckstation-qt/qtkeycodes.cpp @@ -4,7 +4,7 @@ #include "qtutils.h" #include "common/string_util.h" #include "fmt/format.h" -#include "frontend-common/input_manager.h" +#include "util/input_manager.h" #include struct KeyCodeName diff --git a/src/duckstation-qt/qttranslations.cpp b/src/duckstation-qt/qttranslations.cpp index a1524bd07..d79227277 100644 --- a/src/duckstation-qt/qttranslations.cpp +++ b/src/duckstation-qt/qttranslations.cpp @@ -4,7 +4,7 @@ #include "common/log.h" #include "common/string_util.h" #include "fmt/format.h" -#include "frontend-common/imgui_manager.h" +#include "util/imgui_manager.h" #include "imgui.h" #include "qthost.h" #include diff --git a/src/duckstation-qt/qtutils.cpp b/src/duckstation-qt/qtutils.cpp index d624a10d3..1e7da3519 100644 --- a/src/duckstation-qt/qtutils.cpp +++ b/src/duckstation-qt/qtutils.cpp @@ -2,10 +2,13 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #include "qtutils.h" + +#include "core/game_list.h" +#include "core/system.h" + #include "common/byte_stream.h" #include "common/make_array.h" -#include "core/system.h" -#include "frontend-common/game_list.h" + #include #include #include diff --git a/src/duckstation-qt/settingsdialog.cpp b/src/duckstation-qt/settingsdialog.cpp index 54332d892..d4bab9722 100644 --- a/src/duckstation-qt/settingsdialog.cpp +++ b/src/duckstation-qt/settingsdialog.cpp @@ -5,11 +5,8 @@ #include "advancedsettingswidget.h" #include "audiosettingswidget.h" #include "biossettingswidget.h" -#include "common/assert.h" -#include "common/file_system.h" #include "consolesettingswidget.h" -#include "core/host.h" -#include "core/host_settings.h" + #include "displaysettingswidget.h" #include "emulationsettingswidget.h" #include "enhancementsettingswidget.h" @@ -21,13 +18,21 @@ #include "memorycardsettingswidget.h" #include "postprocessingsettingswidget.h" #include "qthost.h" + +#include "core/host.h" +#include "core/host_settings.h" + #include "util/ini_settings_interface.h" + +#include "common/assert.h" +#include "common/file_system.h" + #include #include #ifdef WITH_CHEEVOS #include "achievementsettingswidget.h" -#include "frontend-common/achievements.h" +#include "core/achievements_private.h" #endif static QList s_open_game_properties_dialogs; diff --git a/src/duckstation-regtest/CMakeLists.txt b/src/duckstation-regtest/CMakeLists.txt index 6ef355335..b03b6a5b7 100644 --- a/src/duckstation-regtest/CMakeLists.txt +++ b/src/duckstation-regtest/CMakeLists.txt @@ -4,4 +4,4 @@ add_executable(duckstation-regtest regtest_host.cpp ) -target_link_libraries(duckstation-regtest PRIVATE core common frontend-common scmversion) +target_link_libraries(duckstation-regtest PRIVATE core common scmversion) diff --git a/src/duckstation-regtest/duckstation-regtest.vcxproj b/src/duckstation-regtest/duckstation-regtest.vcxproj index 019905905..2eeb8f4bf 100644 --- a/src/duckstation-regtest/duckstation-regtest.vcxproj +++ b/src/duckstation-regtest/duckstation-regtest.vcxproj @@ -18,14 +18,11 @@ {868b98c8-65a1-494b-8346-250a73a48c0a} - - {6245dec8-d2da-47ee-a373-cbd6fcf3ece6} - {57f6206d-f264-4b07-baf8-11b9bbe1f455} - + \ No newline at end of file diff --git a/src/frontend-common/CMakeLists.txt b/src/frontend-common/CMakeLists.txt deleted file mode 100644 index 1496aad3f..000000000 --- a/src/frontend-common/CMakeLists.txt +++ /dev/null @@ -1,154 +0,0 @@ -add_library(frontend-common - common_host.cpp - common_host.h - fullscreen_ui.cpp - fullscreen_ui.h - game_list.cpp - game_list.h - host_settings.cpp - icon.cpp - icon.h - input_manager.cpp - input_manager.h - input_source.cpp - input_source.h - imgui_fullscreen.cpp - imgui_fullscreen.h - imgui_manager.cpp - imgui_manager.h - imgui_overlays.cpp - imgui_overlays.h - platform_misc.h - postprocessing_chain.cpp - postprocessing_chain.h - postprocessing_shader.cpp - postprocessing_shader.h - postprocessing_shadergen.cpp - postprocessing_shadergen.h -) - -target_link_libraries(frontend-common PUBLIC core common imgui tinyxml2 rapidjson scmversion) - -if(ENABLE_CUBEB) - target_sources(frontend-common PRIVATE - cubeb_audio_stream.cpp - cubeb_audio_stream.h - ) - target_link_libraries(frontend-common PRIVATE cubeb) -endif() - -if(WIN32) - target_sources(frontend-common PRIVATE - d3d11_host_display.cpp - d3d11_host_display.h - d3d12_host_display.cpp - d3d12_host_display.h - dinput_source.cpp - dinput_source.h - imgui_impl_dx11.cpp - imgui_impl_dx11.h - imgui_impl_dx12.cpp - imgui_impl_dx12.h - win32_raw_input_source.cpp - win32_raw_input_source.h - xaudio2_audio_stream.cpp - xaudio2_audio_stream.h - xinput_source.cpp - xinput_source.h - ) - target_link_libraries(frontend-common PRIVATE d3d11.lib dxgi.lib) -endif() - -if(ENABLE_OPENGL) - target_sources(frontend-common PRIVATE - opengl_host_display.cpp - opengl_host_display.h - imgui_impl_opengl3.cpp - imgui_impl_opengl3.h - ) - target_link_libraries(frontend-common PRIVATE glad) -endif() - -if(ENABLE_VULKAN) - target_sources(frontend-common PRIVATE - imgui_impl_vulkan.cpp - imgui_impl_vulkan.h - vulkan_host_display.cpp - vulkan_host_display.h - ) -endif() - -if(WIN32) - target_sources(frontend-common PRIVATE - platform_misc_win32.cpp - ) - target_link_libraries(frontend-common PRIVATE winmm.lib) -elseif(APPLE) - find_library(IOK_LIBRARY IOKit REQUIRED) - target_link_libraries(frontend-common PRIVATE "${IOK_LIBRARY}") - target_sources(frontend-common PRIVATE - platform_misc_mac.mm - ) -elseif(NOT ANDROID) - target_sources(frontend-common PRIVATE - platform_misc_unix.cpp - ) -endif() - -if(SDL2_FOUND) - target_sources(frontend-common PRIVATE - sdl_input_source.cpp - sdl_input_source.h - ) - target_compile_definitions(frontend-common PUBLIC "WITH_SDL2=1") - target_include_directories(frontend-common PUBLIC ${SDL2_INCLUDE_DIRS}) - target_link_libraries(frontend-common PUBLIC ${SDL2_LIBRARIES}) - - # Copy bundled SDL2 to output on Windows. - if(WIN32) - add_custom_command(TARGET frontend-common POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SDL2_DLL_PATH}" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/SDL2.dll") - endif() -endif() - -if(USE_EVDEV) - target_compile_definitions(frontend-common PUBLIC "-DWITH_EVDEV=1") - target_include_directories(frontend-common PRIVATE ${LIBEVDEV_INCLUDE_DIRS}) - target_link_libraries(frontend-common PRIVATE ${LIBEVDEV_LIBRARIES}) - target_sources(frontend-common PRIVATE - evdev_input_source.cpp - evdev_input_source.h - ) -endif() - -if(USE_X11) - target_compile_definitions(frontend-common PRIVATE "-DUSE_X11=1") - target_include_directories(frontend-common PRIVATE "${X11_INCLUDE_DIR}") -endif() - -if(USE_DBUS) - target_compile_definitions(frontend-common PRIVATE USE_DBUS) - find_package(PkgConfig REQUIRED) - pkg_check_modules(DBUS REQUIRED dbus-1) - target_include_directories(frontend-common PRIVATE ${DBUS_INCLUDE_DIRS}) - target_link_libraries(frontend-common PRIVATE ${DBUS_LINK_LIBRARIES}) -endif() - -if(ENABLE_DISCORD_PRESENCE) - target_compile_definitions(frontend-common PUBLIC -DWITH_DISCORD_PRESENCE=1) - target_link_libraries(frontend-common PRIVATE discord-rpc) -endif() - -if(ENABLE_CHEEVOS) - target_sources(frontend-common PRIVATE - achievements.cpp - achievements.h - ) - target_compile_definitions(frontend-common PUBLIC -DWITH_CHEEVOS=1) - target_link_libraries(frontend-common PRIVATE rcheevos rapidjson) -endif() - -# Copy the provided data directory to the output directory. -add_custom_command(TARGET frontend-common POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/data" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" -) diff --git a/src/frontend-common/evdev_input_source.cpp b/src/frontend-common/evdev_input_source.cpp deleted file mode 100644 index 970e0ca4c..000000000 --- a/src/frontend-common/evdev_input_source.cpp +++ /dev/null @@ -1,542 +0,0 @@ -// SPDX-FileCopyrightText: 2019-2022 Connor McLaughlin -// SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) - -#include "evdev_input_source.h" -#include "common/assert.h" -#include "common/log.h" -#include "common/string_util.h" -#include "core/host.h" -#include "fmt/format.h" -#include "input_manager.h" -#include -#include -#include -#include -#include -#include -#include - -#ifdef __linux__ -#include -#endif - -Log_SetChannel(EvdevInputSource); - -static GenericInputBinding GetGenericBindingForButton(int button_id) -{ - switch (button_id) - { - case BTN_A: - return GenericInputBinding::Cross; - case BTN_B: - return GenericInputBinding::Circle; - case BTN_X: - return GenericInputBinding::Square; - case BTN_Y: - return GenericInputBinding::Triangle; - case BTN_SELECT: - return GenericInputBinding::Select; - case BTN_START: - return GenericInputBinding::Start; - case BTN_MODE: - return GenericInputBinding::System; - case BTN_TL: - return GenericInputBinding::L1; - case BTN_TR: - return GenericInputBinding::R1; - case BTN_TL2: - return GenericInputBinding::L2; - case BTN_TR2: - return GenericInputBinding::R2; - case BTN_THUMBL: - return GenericInputBinding::L3; - case BTN_THUMBR: - return GenericInputBinding::R3; - case BTN_DPAD_LEFT: - return GenericInputBinding::DPadLeft; - case BTN_DPAD_RIGHT: - return GenericInputBinding::DPadRight; - case BTN_DPAD_UP: - return GenericInputBinding::DPadUp; - case BTN_DPAD_DOWN: - return GenericInputBinding::DPadDown; - default: - return GenericInputBinding::Unknown; - } -} - -static std::tuple GetGenericBindingForAxis(u32 axis) -{ - switch (axis) - { - case ABS_X: - return std::make_tuple(GenericInputBinding::LeftStickLeft, GenericInputBinding::LeftStickRight); - case ABS_Y: - return std::make_tuple(GenericInputBinding::LeftStickUp, GenericInputBinding::LeftStickDown); - case ABS_RX: - return std::make_tuple(GenericInputBinding::RightStickLeft, GenericInputBinding::RightStickRight); - case ABS_RY: - return std::make_tuple(GenericInputBinding::RightStickUp, GenericInputBinding::RightStickDown); - default: - return std::make_tuple(GenericInputBinding::Unknown, GenericInputBinding::Unknown); - } -} - -static bool IsFullAxis(u32 axis) -{ - // ugh, so min isn't necessarily zero for full axes... :/ - return (axis >= ABS_X && axis <= ABS_RZ); -} - -EvdevInputSource::EvdevInputSource() = default; - -EvdevInputSource::~EvdevInputSource() = default; - -bool EvdevInputSource::Initialize(SettingsInterface& si, std::unique_lock& settings_lock) -{ - for (int index = 0; index < 1000; index++) - { - TinyString path; - path.Format("/dev/input/event%d", index); - - int fd = open(path, O_RDONLY | O_NONBLOCK); - if (fd < 0) - { - if (errno == ENOENT) - break; - else - continue; - } - - struct libevdev* obj; - if (libevdev_new_from_fd(fd, &obj) != 0) - { - Log_ErrorPrintf("libevdev_new_from_fd(%s) failed", path.GetCharArray()); - close(fd); - continue; - } - - ControllerData data(fd, obj); - data.controller_id = static_cast(m_controllers.size()); - if (InitializeController(index, &data)) - m_controllers.push_back(std::move(data)); - } - - return true; -} - -void EvdevInputSource::UpdateSettings(SettingsInterface& si, std::unique_lock& settings_lock) -{ - // noop -} - -bool EvdevInputSource::ReloadDevices() -{ - return false; -} - -void EvdevInputSource::Shutdown() -{ - // noop -} - -EvdevInputSource::ControllerData::ControllerData(int fd_, struct libevdev* obj_) : obj(obj_), fd(fd_) {} - -EvdevInputSource::ControllerData::ControllerData(ControllerData&& move) - : obj(move.obj), fd(move.fd), controller_id(move.controller_id), num_motors(move.num_motors), deadzone(move.deadzone), - uniq(std::move(move.uniq)), name(std::move(move.name)), axes(std::move(move.axes)), buttons(std::move(move.buttons)) -{ - move.obj = nullptr; - move.fd = -1; -} - -EvdevInputSource::ControllerData::~ControllerData() -{ - if (obj) - libevdev_free(obj); - if (fd >= 0) - close(fd); -} - -EvdevInputSource::ControllerData& EvdevInputSource::ControllerData::operator=(EvdevInputSource::ControllerData&& move) -{ - if (obj) - libevdev_free(obj); - obj = move.obj; - move.obj = nullptr; - if (fd >= 0) - close(fd); - fd = move.fd; - move.fd = -1; - controller_id = move.controller_id; - num_motors = move.num_motors; - deadzone = move.deadzone; - uniq = std::move(move.uniq); - name = std::move(move.name); - axes = std::move(move.axes); - buttons = std::move(move.buttons); - return *this; -} - -EvdevInputSource::ControllerData* EvdevInputSource::GetControllerById(int id) -{ - for (ControllerData& cd : m_controllers) - { - if (cd.controller_id == id) - return &cd; - } - - return nullptr; -} - -EvdevInputSource::ControllerData* EvdevInputSource::GetControllerByUniq(const std::string_view& uniq) -{ - for (ControllerData& cd : m_controllers) - { - if (uniq == cd.uniq) - return &cd; - } - - return nullptr; -} - -bool EvdevInputSource::InitializeController(int index, ControllerData* cd) -{ - const char* name = libevdev_get_name(cd->obj); - const char* uniq = libevdev_get_uniq(cd->obj); - cd->name = name ? name : "Unknown"; - cd->uniq = uniq ? fmt::format("Evdev-{}", uniq) : fmt::format("Evdev-Unknown{}", index); - - // Sanitize the name a bit just in case.. - for (size_t i = 6; i < cd->uniq.length(); i++) - { - const char ch = cd->uniq[i]; - if (!(ch >= 'a' && ch <= 'z') && !(ch >= 'A' && ch <= 'Z') && !(ch >= '0' && ch <= '9') && ch != '_') - cd->uniq[i] = '_'; - } - - Log_DevPrintf("Input %d device name: \"%s\" ('%s')", index, cd->name.c_str(), cd->uniq.c_str()); - Log_DevPrintf("Input %d device ID: bus %#x vendor %#x product %#x", index, libevdev_get_id_bustype(cd->obj), - libevdev_get_id_vendor(cd->obj), libevdev_get_id_product(cd->obj)); - - bool has_dpad = false; - for (u32 key = 0; key < KEY_CNT; key++) - { - if (!libevdev_has_event_code(cd->obj, EV_KEY, key)) - continue; - - const char* button_name = libevdev_event_code_get_name(EV_KEY, key); - Log_DebugPrintf("Key %d: %s", key, button_name ? button_name : "null"); - - ControllerData::Button button; - button.name = button_name ? std::string(button_name) : fmt::format("Button{}", key); - button.id = key; - button.generic = GetGenericBindingForButton(key); - cd->buttons.push_back(std::move(button)); - - if (key == BTN_DPAD_LEFT || key == BTN_DPAD_RIGHT || key == BTN_DPAD_UP || key == BTN_DPAD_DOWN) - has_dpad = true; - } - - // Prelookup axes to get the range of them. - for (u32 axis = 0; axis <= ABS_TOOL_WIDTH; axis++) - { - if (!libevdev_has_event_code(cd->obj, EV_ABS, axis)) - continue; - - const s32 min = libevdev_get_abs_minimum(cd->obj, axis); - const s32 max = libevdev_get_abs_maximum(cd->obj, axis); - const char* axis_name = libevdev_event_code_get_name(EV_ABS, axis); - Log_DebugPrintf("Axis %u: %s [%d-%d]", axis, axis_name ? axis_name : "null", min, max); - - ControllerData::Axis ad; - ad.name = axis_name ? std::string(axis_name) : fmt::format("Button{}", axis); - ad.id = axis; - ad.min = min; - ad.range = max - min; - ad.neg_button = 0; - ad.pos_button = 0; - std::tie(ad.neg_generic, ad.pos_generic) = GetGenericBindingForAxis(axis); - - if (!has_dpad) - { - // map hat -> dpad - if (axis == ABS_HAT0X) - { - Log_VerbosePrintf("Redirecting HAT0X to DPad left/right"); - ad.neg_button = BTN_DPAD_LEFT; - ad.pos_button = BTN_DPAD_RIGHT; - cd->buttons.emplace_back("BTN_DPAD_LEFT", BTN_DPAD_LEFT, GenericInputBinding::DPadLeft); - cd->buttons.emplace_back("BTN_DPAD_RIGHT", BTN_DPAD_RIGHT, GenericInputBinding::DPadRight); - } - else if (axis == ABS_HAT0Y) - { - Log_VerbosePrintf("Redirecting HAT0Y to DPad up/down"); - ad.neg_button = BTN_DPAD_UP; - ad.pos_button = BTN_DPAD_DOWN; - cd->buttons.emplace_back("BTN_DPAD_UP", BTN_DPAD_UP, GenericInputBinding::DPadUp); - cd->buttons.emplace_back("BTN_DPAD_DOWN", BTN_DPAD_DOWN, GenericInputBinding::DPadDown); - } - } - - cd->axes.push_back(std::move(ad)); - } - - // Heuristic borrowed from Dolphin's evdev controller interface - ignore bogus devices - // which do have less than 2 axes and less than 8 buttons. Key count of 80 is probably a keyboard. - // Axes with no buttons is probably a motion sensor. - if ((cd->axes.size() < 2 && cd->buttons.size() < 8) || cd->buttons.size() > 80 || (cd->axes.size() >= 6 && cd->buttons.empty())) - { - Log_VerbosePrintf("Ignoring device %s with %zu axes and %zu buttons due to heuristic", name, cd->axes.size(), - cd->buttons.size()); - return false; - } - - Log_InfoPrintf("Controller %d -> %s with %zu axes and %zu buttons", cd->controller_id, name, cd->axes.size(), - cd->buttons.size()); - return true; -} - -std::vector> EvdevInputSource::EnumerateDevices() -{ - std::vector> ret; - for (const ControllerData& cd : m_controllers) - ret.emplace_back(cd.uniq, cd.name); - - return ret; -} - -std::optional EvdevInputSource::ParseKeyString(const std::string_view& device, - const std::string_view& binding) -{ - if (!StringUtil::StartsWith(device, "Evdev-") || binding.empty()) - return std::nullopt; - - const ControllerData* cd = GetControllerByUniq(device); - if (!cd) - return std::nullopt; - - InputBindingKey key = {}; - key.source_type = InputSourceType::Evdev; - key.source_index = static_cast(cd->controller_id); - - if (binding[0] == '-' || binding[0] == '+') - { - const std::string_view abinding(binding.substr(1)); - for (const ControllerData::Axis& axis : cd->axes) - { - if (abinding == axis.name) - { - key.source_subtype = InputSubclass::ControllerAxis; - key.negative = (binding[0] == '-'); - key.data = axis.id; - return key; - } - } - } - else - { - for (const ControllerData::Button& button : cd->buttons) - { - if (binding == button.name) - { - key.source_subtype = InputSubclass::ControllerButton; - key.data = button.id; - return key; - } - } - } - - return std::nullopt; -} - -std::string EvdevInputSource::ConvertKeyToString(InputBindingKey key) -{ - std::string ret; - - if (key.source_type == InputSourceType::Evdev) - { - const ControllerData* cd = GetControllerById(key.source_index); - if (cd) - { - if (key.source_subtype == InputSubclass::ControllerAxis) - { - for (const ControllerData::Axis& axis : cd->axes) - { - if (static_cast(axis.id) == key.data) - { - ret = fmt::format("{}/{}{}", cd->uniq, key.negative ? "-" : "+", axis.name); - break; - } - } - } - else if (key.source_subtype == InputSubclass::ControllerButton) - { - for (const ControllerData::Button& button : cd->buttons) - { - if (static_cast(button.id) == key.data) - { - ret = fmt::format("{}/{}", cd->uniq, button.name); - break; - } - } - } - } - } - - return ret; -} - -bool EvdevInputSource::GetGenericBindingMapping(const std::string_view& device, GenericInputBindingMapping* mapping) -{ - const ControllerData* cd = GetControllerByUniq(device); - if (!cd) - return false; - - for (const ControllerData::Button& button : cd->buttons) - { - if (button.generic != GenericInputBinding::Unknown) - mapping->emplace_back(button.generic, fmt::format("{}/{}", cd->uniq, button.name)); - } - - for (const ControllerData::Axis& axis : cd->axes) - { - if (axis.neg_generic != GenericInputBinding::Unknown) - mapping->emplace_back(axis.neg_generic, fmt::format("{}/-{}", cd->uniq, axis.name)); - if (axis.pos_generic != GenericInputBinding::Unknown) - mapping->emplace_back(axis.pos_generic, fmt::format("{}/+{}", cd->uniq, axis.name)); - } - - return true; -} - -std::vector EvdevInputSource::EnumerateMotors() -{ - // noop - return {}; -} - -void EvdevInputSource::UpdateMotorState(InputBindingKey key, float intensity) -{ - // noop -} - -void EvdevInputSource::UpdateMotorState(InputBindingKey large_key, InputBindingKey small_key, float large_intensity, - float small_intensity) -{ - // noop -} - -void EvdevInputSource::PollEvents() -{ - if (m_controllers.empty()) - return; - - struct pollfd* fds = static_cast(alloca(sizeof(struct pollfd) * m_controllers.size())); - for (size_t i = 0; i < m_controllers.size(); i++) - { - fds[i].events = POLLIN; - fds[i].fd = m_controllers[i].fd; - fds[i].revents = 0; - } - - if (poll(fds, static_cast(m_controllers.size()), 0) <= 0) - return; - - for (size_t i = 0; i < m_controllers.size(); i++) - { - if (fds[i].revents & POLLIN) - HandleControllerEvents(&m_controllers[i]); - } -} - -void EvdevInputSource::HandleControllerEvents(ControllerData* cd) -{ - struct input_event ev; - while (libevdev_next_event(cd->obj, LIBEVDEV_READ_FLAG_NORMAL, &ev) == 0) - { - switch (ev.type) - { - case EV_KEY: - { - // auto-repeat - if (ev.value == 2) - continue; - - const bool pressed = (ev.value == 1); - Log_DebugPrintf("%s %s Key %d %s", cd->uniq.c_str(), cd->name.c_str(), ev.code, pressed ? "pressed" : "unpressed"); - InputManager::InvokeEvents(MakeGenericControllerButtonKey(InputSourceType::Evdev, cd->controller_id, ev.code), - pressed ? 1.0f : 0.0f, GetGenericBindingForButton(ev.code)); - } - break; - - case EV_ABS: - { - // axis - Log_DebugPrintf("%s %s Axis %u %d", cd->uniq.c_str(), cd->name.c_str(), ev.code, ev.value); - - for (ControllerData::Axis& axis : cd->axes) - { - if (axis.id == ev.code) - { - const float norm_value = static_cast(static_cast(ev.value) - static_cast(axis.min)) / - static_cast(axis.range); - const float real_value = (axis.min < 0 || IsFullAxis(ev.code)) ? ((norm_value * 2.0f) - 1.0f) : norm_value; - - // hat -> dpad mapping - static constexpr float MAPPING_DEADZONE = 0.5f; - if (axis.neg_button != 0) - { - if (real_value <= -MAPPING_DEADZONE && axis.last_value > -MAPPING_DEADZONE) - { - // gone negative - InputManager::InvokeEvents( - MakeGenericControllerButtonKey(InputSourceType::Evdev, cd->controller_id, axis.neg_button), 1.0f, - GetGenericBindingForButton(axis.neg_button)); - } - else if (real_value > -MAPPING_DEADZONE && axis.last_value <= -MAPPING_DEADZONE) - { - // no longer negative - InputManager::InvokeEvents( - MakeGenericControllerButtonKey(InputSourceType::Evdev, cd->controller_id, axis.neg_button), 0.0f, - GetGenericBindingForButton(axis.neg_button)); - } - else if (real_value >= MAPPING_DEADZONE && axis.last_value < MAPPING_DEADZONE) - { - // gone positive - InputManager::InvokeEvents( - MakeGenericControllerButtonKey(InputSourceType::Evdev, cd->controller_id, axis.pos_button), 1.0f, - GetGenericBindingForButton(axis.pos_button)); - } - else if (real_value < MAPPING_DEADZONE && axis.last_value >= MAPPING_DEADZONE) - { - // no longer positive - InputManager::InvokeEvents( - MakeGenericControllerButtonKey(InputSourceType::Evdev, cd->controller_id, axis.pos_button), 0.0f, - GetGenericBindingForButton(axis.pos_button)); - } - } - else if (axis.last_value != real_value) - { - const GenericInputBinding generic = (real_value < 0.0f) ? axis.neg_generic : axis.pos_generic; - InputManager::InvokeEvents( - MakeGenericControllerAxisKey(InputSourceType::Evdev, cd->controller_id, ev.code), real_value, generic); - } - - axis.last_value = real_value; - break; - } - } - } - break; - - default: - break; - } - } -} - -std::unique_ptr InputSource::CreateEvdevSource() -{ - return std::make_unique(); -} diff --git a/src/frontend-common/evdev_input_source.h b/src/frontend-common/evdev_input_source.h deleted file mode 100644 index acec729e8..000000000 --- a/src/frontend-common/evdev_input_source.h +++ /dev/null @@ -1,92 +0,0 @@ -// SPDX-FileCopyrightText: 2019-2022 Connor McLaughlin -// SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) - -#pragma once -#include "core/types.h" -#include "input_source.h" -#include -#include -#include -#include -#include - -class EvdevInputSource final : public InputSource -{ -public: - EvdevInputSource(); - ~EvdevInputSource() override; - - bool Initialize(SettingsInterface& si, std::unique_lock& settings_lock) override; - void UpdateSettings(SettingsInterface& si, std::unique_lock& settings_lock) override; - bool ReloadDevices() override; - void Shutdown() override; - - void PollEvents() override; - std::vector> EnumerateDevices() override; - std::vector EnumerateMotors() override; - bool GetGenericBindingMapping(const std::string_view& device, GenericInputBindingMapping* mapping) override; - void UpdateMotorState(InputBindingKey key, float intensity) override; - void UpdateMotorState(InputBindingKey large_key, InputBindingKey small_key, float large_intensity, - float small_intensity) override; - - std::optional ParseKeyString(const std::string_view& device, - const std::string_view& binding) override; - std::string ConvertKeyToString(InputBindingKey key) override; - -private: - struct ControllerData - { - ControllerData(int fd_, struct libevdev* obj_); - ControllerData(const ControllerData&) = delete; - ControllerData(ControllerData&& move); - ~ControllerData(); - - ControllerData& operator=(const ControllerData&) = delete; - ControllerData& operator=(ControllerData&& move); - - struct libevdev* obj = nullptr; - int fd = -1; - int controller_id = 0; - u32 num_motors = 0; - - float deadzone = 0.25f; - - struct Axis - { - std::string name; - u32 id; - s32 min; - s32 range; - u32 neg_button; - u32 pos_button; - GenericInputBinding neg_generic; - GenericInputBinding pos_generic; - float last_value; - }; - - struct Button - { - Button() = default; - Button(std::string name_, u32 id_, GenericInputBinding generic_) - : name(std::move(name_)), id(id_), generic(generic_) - { - } - - std::string name; - u32 id; - GenericInputBinding generic; - }; - - std::string uniq; - std::string name; - std::vector axes; - std::vector