From 7b4caece2f70413d5e65132245f1a3aec77d4d2c Mon Sep 17 00:00:00 2001 From: Hyper <34012267+hyperbx@users.noreply.github.com> Date: Thu, 17 Oct 2024 17:51:17 +0100 Subject: [PATCH] Window: add game icon and window events --- CMakeLists.txt | 2 + UnleashedRecomp/CMakeLists.txt | 2 + UnleashedRecomp/Config.h | 2 + UnleashedRecomp/kernel/xam.cpp | 5 + UnleashedRecomp/res/icon.bmp | Bin 0 -> 12342 bytes UnleashedRecomp/res/icon.h | 776 +++++++++++++++++++++++++++++++++ UnleashedRecomp/ui/window.cpp | 83 ++++ UnleashedRecomp/ui/window.h | 113 ++++- 8 files changed, 981 insertions(+), 2 deletions(-) create mode 100644 UnleashedRecomp/res/icon.bmp create mode 100644 UnleashedRecomp/res/icon.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 39f05a0..0c60596 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,6 +16,8 @@ set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") add_subdirectory(${SWA_THIRDPARTY_ROOT}) project("UnleashedRecomp-ALL") +include("thirdparty/PowerRecomp/cmake/bin2h.cmake") + # Include sub-projects. add_subdirectory("UnleashedRecompLib") add_subdirectory("UnleashedRecomp") diff --git a/UnleashedRecomp/CMakeLists.txt b/UnleashedRecomp/CMakeLists.txt index 757a804..ab51cef 100644 --- a/UnleashedRecomp/CMakeLists.txt +++ b/UnleashedRecomp/CMakeLists.txt @@ -7,6 +7,8 @@ add_compile_definitions(SDL_MAIN_HANDLED) # Microsoft wtf? add_compile_definitions(_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR) +BIN2H(SOURCE_FILE "res/icon.bmp" HEADER_FILE "res/icon.h" ARRAY_TYPE "unsigned char" VARIABLE_NAME "g_icon") + set(SWA_PRECOMPILED_HEADERS "stdafx.h" ) diff --git a/UnleashedRecomp/Config.h b/UnleashedRecomp/Config.h index e4ced4b..215c131 100644 --- a/UnleashedRecomp/Config.h +++ b/UnleashedRecomp/Config.h @@ -1,5 +1,7 @@ #pragma once +// TODO (Hyper): use toml. + #define INI_FILE "SWA.ini" #define INI_BEGIN_SECTION(section) { std::string CurrentSection = section; diff --git a/UnleashedRecomp/kernel/xam.cpp b/UnleashedRecomp/kernel/xam.cpp index 2aff748..b3e6476 100644 --- a/UnleashedRecomp/kernel/xam.cpp +++ b/UnleashedRecomp/kernel/xam.cpp @@ -331,6 +331,10 @@ SWA_API uint32_t XamInputGetCapabilities(uint32_t unk, uint32_t userIndex, uint3 SWA_API uint32_t XamInputGetState(uint32_t userIndex, uint32_t flags, XAMINPUT_STATE* state) { //printf("!!! STUB !!! XamInputGetState\n"); + + if (!Window::s_isFocused) + return 0; + uint32_t result = hid::GetState(userIndex, state); if (result == ERROR_SUCCESS) @@ -391,6 +395,7 @@ SWA_API uint32_t XamInputGetState(uint32_t userIndex, uint32_t flags, XAMINPUT_S result = ERROR_SUCCESS; } + return result; } diff --git a/UnleashedRecomp/res/icon.bmp b/UnleashedRecomp/res/icon.bmp new file mode 100644 index 0000000000000000000000000000000000000000..151d8490655ba588d80b89b83abd55ee43d41b7c GIT binary patch literal 12342 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 literal 0 HcmV?d00001 diff --git a/UnleashedRecomp/res/icon.h b/UnleashedRecomp/res/icon.h new file mode 100644 index 0000000..d588948 --- /dev/null +++ b/UnleashedRecomp/res/icon.h @@ -0,0 +1,776 @@ +const unsigned char g_icon[] = { +0x42, 0x4d, 0x36, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, +0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc4, 0x0e, 0x00, 0x00, 0xc4, 0x0e, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x53, 0x4e, 0x78, 0x5e, 0x57, 0x7c, 0x5e, 0x57, 0x83, +0x66, 0x5d, 0x73, 0x53, 0x4c, 0x62, 0x46, 0x3f, 0x4a, 0x37, 0x31, 0x3a, 0x31, 0x2d, 0x5c, 0x4e, +0x49, 0x81, 0x62, 0x5b, 0x75, 0x50, 0x46, 0x6d, 0x46, 0x3d, 0x6c, 0x45, 0x3a, 0x75, 0x51, 0x42, +0x4e, 0x37, 0x54, 0x2d, 0x21, 0x52, 0x91, 0x7e, 0x68, 0xc7, 0xaf, 0x8d, 0xc5, 0xb0, 0x8f, 0xc3, +0xae, 0x91, 0xc2, 0xaf, 0x93, 0xc4, 0xb1, 0x99, 0xc5, 0xb4, 0xa0, 0xc4, 0xb4, 0xa2, 0xc3, 0xb4, +0xa3, 0xc1, 0xb6, 0xa6, 0xc2, 0xb7, 0xaa, 0xc5, 0xba, 0xb0, 0xc7, 0xbd, 0xb6, 0xc9, 0xc0, 0xbb, +0xcc, 0xc4, 0xc0, 0xcf, 0xc8, 0xc4, 0xd3, 0xcd, 0xcc, 0xda, 0xd4, 0xd5, 0xdb, 0xd6, 0xd6, 0xe7, +0xdd, 0xc7, 0xee, 0xac, 0x6f, 0xce, 0x80, 0x54, 0xab, 0x60, 0x40, 0x6d, 0x41, 0x39, 0x33, 0x2f, +0x4a, 0x1f, 0x2d, 0x55, 0x23, 0x2d, 0x50, 0x27, 0x2e, 0x4d, 0x2a, 0x2e, 0x4c, 0x2f, 0x2f, 0x4c, +0x33, 0x33, 0x4d, 0x34, 0x34, 0x4e, 0x38, 0x37, 0x4f, 0x3a, 0x39, 0x51, 0x3c, 0x3a, 0x51, 0x3c, +0x3a, 0x4f, 0x3b, 0x39, 0x4d, 0x3b, 0x37, 0x4b, 0x3a, 0x34, 0x48, 0x38, 0x32, 0x45, 0x38, 0x31, +0x42, 0x37, 0x30, 0x40, 0x37, 0x30, 0x3f, 0x36, 0x2f, 0x3d, 0x36, 0x2d, 0x3c, 0x34, 0x2b, 0x3a, +0x38, 0x29, 0x32, 0x3a, 0x12, 0x13, 0x46, 0x31, 0x2c, 0x3c, 0x2d, 0x29, 0x3e, 0x30, 0x2c, 0x3d, +0x2f, 0x2b, 0x39, 0x2c, 0x28, 0x3d, 0x2f, 0x2b, 0x53, 0x41, 0x3d, 0x74, 0x5a, 0x53, 0x81, 0x5f, +0x56, 0x72, 0x4c, 0x43, 0x6a, 0x43, 0x3a, 0x6c, 0x45, 0x3a, 0x73, 0x4e, 0x40, 0x4f, 0x39, 0x56, +0x2f, 0x24, 0x55, 0x99, 0x85, 0x6a, 0xca, 0xaf, 0x87, 0xc8, 0xae, 0x88, 0xc6, 0xae, 0x8a, 0xc4, +0xac, 0x8d, 0xc4, 0xad, 0x90, 0xc5, 0xb1, 0x97, 0xc6, 0xb3, 0x9c, 0xc4, 0xb2, 0x9d, 0xc3, 0xb3, +0xa0, 0xc2, 0xb4, 0xa3, 0xc2, 0xb6, 0xa6, 0xc4, 0xb9, 0xad, 0xc7, 0xbc, 0xb4, 0xc9, 0xbf, 0xb9, +0xcc, 0xc3, 0xbd, 0xcf, 0xc6, 0xc2, 0xd3, 0xcb, 0xc9, 0xdb, 0xd3, 0xd4, 0xdb, 0xd5, 0xd5, 0xef, +0xda, 0xb4, 0xa7, 0xa6, 0xa9, 0x5f, 0x82, 0xa9, 0x47, 0x64, 0x85, 0x31, 0x4d, 0x71, 0x28, 0x3d, +0x5f, 0x26, 0x32, 0x54, 0x27, 0x2f, 0x50, 0x26, 0x2f, 0x4c, 0x28, 0x2e, 0x4b, 0x2c, 0x2f, 0x4b, +0x30, 0x31, 0x4b, 0x32, 0x31, 0x4c, 0x35, 0x34, 0x4d, 0x38, 0x37, 0x4e, 0x3a, 0x38, 0x4f, 0x39, +0x37, 0x4d, 0x39, 0x35, 0x4a, 0x38, 0x34, 0x48, 0x37, 0x32, 0x46, 0x37, 0x31, 0x44, 0x37, 0x31, +0x42, 0x37, 0x31, 0x40, 0x36, 0x30, 0x3f, 0x36, 0x2e, 0x3d, 0x36, 0x2d, 0x3b, 0x35, 0x2b, 0x39, +0x32, 0x2b, 0x39, 0x45, 0x1d, 0x17, 0x79, 0x54, 0x4c, 0x71, 0x4d, 0x45, 0x6b, 0x49, 0x40, 0x6b, +0x4a, 0x42, 0x6f, 0x4f, 0x47, 0x79, 0x57, 0x50, 0x7e, 0x5c, 0x54, 0x78, 0x53, 0x4a, 0x6d, 0x46, +0x3e, 0x6a, 0x42, 0x39, 0x70, 0x48, 0x3a, 0x6e, 0x4e, 0x47, 0x43, 0x33, 0x5b, 0x43, 0x39, 0x5b, +0xae, 0x97, 0x76, 0xcf, 0xaf, 0x82, 0xcc, 0xad, 0x82, 0xc9, 0xab, 0x84, 0xc7, 0xac, 0x86, 0xc5, +0xac, 0x89, 0xc6, 0xae, 0x8e, 0xc7, 0xb2, 0x96, 0xc6, 0xb2, 0x98, 0xc5, 0xb2, 0x9a, 0xc3, 0xb2, +0x9c, 0xc2, 0xb3, 0x9f, 0xc3, 0xb5, 0xa3, 0xc5, 0xb8, 0xaa, 0xc7, 0xbb, 0xb1, 0xc9, 0xbe, 0xb7, +0xcc, 0xc1, 0xba, 0xce, 0xc4, 0xbf, 0xd4, 0xca, 0xc8, 0xdb, 0xd2, 0xd2, 0xde, 0xd4, 0xcc, 0xfa, +0xc1, 0x7e, 0x94, 0x9b, 0xae, 0x6c, 0x8b, 0xab, 0x5a, 0x74, 0x90, 0x4a, 0x62, 0x7d, 0x3c, 0x51, +0x6d, 0x30, 0x42, 0x5f, 0x2b, 0x36, 0x55, 0x27, 0x30, 0x4e, 0x25, 0x2d, 0x48, 0x27, 0x2c, 0x47, +0x2b, 0x2d, 0x47, 0x2e, 0x2e, 0x47, 0x30, 0x2f, 0x48, 0x33, 0x31, 0x49, 0x35, 0x34, 0x4a, 0x37, +0x35, 0x49, 0x37, 0x33, 0x47, 0x36, 0x32, 0x45, 0x36, 0x31, 0x43, 0x35, 0x30, 0x42, 0x36, 0x30, +0x41, 0x36, 0x31, 0x40, 0x36, 0x30, 0x3f, 0x35, 0x2f, 0x3e, 0x35, 0x2d, 0x3b, 0x34, 0x2b, 0x39, +0x32, 0x2b, 0x39, 0x3c, 0x22, 0x24, 0xa5, 0x8d, 0x86, 0x92, 0x75, 0x6e, 0x86, 0x66, 0x5f, 0x81, +0x5f, 0x57, 0x7d, 0x59, 0x52, 0x78, 0x54, 0x4c, 0x71, 0x4c, 0x42, 0x6e, 0x45, 0x3b, 0x68, 0x42, +0x3a, 0x61, 0x43, 0x40, 0x51, 0x39, 0x4b, 0x3b, 0x27, 0x4e, 0x59, 0x3f, 0x4a, 0xd7, 0xbb, 0x95, +0xd4, 0xb3, 0x83, 0xd0, 0xad, 0x7c, 0xcd, 0xac, 0x7d, 0xcb, 0xab, 0x80, 0xc9, 0xab, 0x82, 0xc7, +0xac, 0x86, 0xc8, 0xb0, 0x8e, 0xc7, 0xb1, 0x94, 0xc6, 0xb0, 0x95, 0xc5, 0xb0, 0x96, 0xc4, 0xb0, +0x99, 0xc2, 0xb1, 0x9b, 0xc3, 0xb3, 0xa0, 0xc4, 0xb6, 0xa7, 0xc7, 0xb9, 0xae, 0xc9, 0xbd, 0xb4, +0xcc, 0xbf, 0xb9, 0xce, 0xc2, 0xbd, 0xd4, 0xc7, 0xc6, 0xd9, 0xce, 0xcd, 0xec, 0xd7, 0xad, 0xfc, +0xa3, 0x5b, 0x92, 0x94, 0xa2, 0x6d, 0x8f, 0xae, 0x61, 0x7b, 0x95, 0x52, 0x6a, 0x84, 0x42, 0x59, +0x72, 0x33, 0x49, 0x63, 0x2c, 0x3d, 0x59, 0x2c, 0x3b, 0x5a, 0x30, 0x43, 0x61, 0x35, 0x49, 0x69, +0x38, 0x4f, 0x71, 0x3a, 0x53, 0x75, 0x39, 0x52, 0x74, 0x36, 0x4f, 0x72, 0x36, 0x50, 0x72, 0x37, +0x4e, 0x6f, 0x37, 0x4c, 0x6b, 0x37, 0x47, 0x65, 0x37, 0x42, 0x5b, 0x36, 0x3b, 0x51, 0x35, 0x34, +0x47, 0x35, 0x30, 0x3f, 0x35, 0x2f, 0x3c, 0x35, 0x2e, 0x3c, 0x35, 0x2d, 0x3c, 0x34, 0x2b, 0x39, +0x32, 0x2b, 0x3a, 0x3b, 0x21, 0x23, 0xb4, 0x97, 0x64, 0xa0, 0x87, 0x68, 0x98, 0x80, 0x6d, 0x90, +0x74, 0x67, 0x87, 0x69, 0x5d, 0x7e, 0x5d, 0x50, 0x74, 0x53, 0x45, 0x6b, 0x4d, 0x45, 0x77, 0x50, +0x48, 0x8b, 0x40, 0x39, 0x8e, 0x37, 0x2e, 0x80, 0x2b, 0x12, 0x62, 0x20, 0x06, 0x81, 0x5a, 0x3d, +0xce, 0xaa, 0x76, 0xd2, 0xad, 0x79, 0xcf, 0xab, 0x7a, 0xcc, 0xaa, 0x7c, 0xc9, 0xaa, 0x7f, 0xc9, +0xab, 0x85, 0xc9, 0xaf, 0x8e, 0xc8, 0xb0, 0x91, 0xc6, 0xae, 0x91, 0xc5, 0xae, 0x92, 0xc4, 0xaf, +0x95, 0xc3, 0xb1, 0x98, 0xc3, 0xb2, 0x9d, 0xc4, 0xb5, 0xa4, 0xc7, 0xb8, 0xab, 0xc9, 0xbb, 0xb1, +0xcc, 0xbe, 0xb6, 0xce, 0xc0, 0xbb, 0xd1, 0xc4, 0xc1, 0xd4, 0xc8, 0xc3, 0xf9, 0xce, 0x8e, 0xff, +0x8f, 0x3e, 0xb3, 0x77, 0x5f, 0x6a, 0x8e, 0xab, 0x62, 0x7c, 0x94, 0x54, 0x6d, 0x86, 0x49, 0x64, +0x7f, 0x47, 0x67, 0x85, 0x49, 0x6e, 0x8e, 0x4d, 0x75, 0x99, 0x4d, 0x79, 0x9f, 0x4d, 0x7a, 0xa2, +0x4a, 0x77, 0xa0, 0x42, 0x72, 0x9a, 0x3b, 0x6a, 0x93, 0x36, 0x60, 0x89, 0x36, 0x5e, 0x85, 0x36, +0x5d, 0x84, 0x35, 0x5c, 0x82, 0x34, 0x5b, 0x81, 0x35, 0x58, 0x7e, 0x36, 0x57, 0x7a, 0x36, 0x53, +0x71, 0x35, 0x4b, 0x66, 0x34, 0x40, 0x57, 0x34, 0x35, 0x47, 0x35, 0x2d, 0x3b, 0x34, 0x2a, 0x38, +0x34, 0x28, 0x34, 0x44, 0x17, 0x0d, 0xe5, 0xbd, 0x71, 0xe6, 0xbe, 0x73, 0xe6, 0xbf, 0x73, 0xdb, +0xb5, 0x6e, 0xd7, 0xb1, 0x6f, 0xd8, 0xb3, 0x78, 0xde, 0xba, 0x85, 0xe3, 0xbe, 0x82, 0xc8, 0x8a, +0x53, 0xff, 0x63, 0x1d, 0xd0, 0x47, 0x12, 0xae, 0x3c, 0x14, 0x7a, 0x29, 0x0c, 0x5a, 0x1a, 0x06, +0x79, 0x3e, 0x20, 0xbf, 0x96, 0x63, 0xd0, 0xaa, 0x76, 0xce, 0xa8, 0x78, 0xcb, 0xa9, 0x7c, 0xca, +0xac, 0x84, 0xca, 0xb0, 0x8c, 0xc8, 0xaf, 0x8d, 0xc6, 0xad, 0x8d, 0xc5, 0xad, 0x8e, 0xc4, 0xae, +0x91, 0xc3, 0xb0, 0x96, 0xc4, 0xb1, 0x9b, 0xc5, 0xb3, 0xa2, 0xc6, 0xb7, 0xa8, 0xca, 0xb9, 0xaf, +0xcb, 0xbb, 0xb3, 0xce, 0xbf, 0xb8, 0xd0, 0xc2, 0xbd, 0xdb, 0xcc, 0xbd, 0xff, 0xbb, 0x70, 0xff, +0x89, 0x34, 0xe7, 0x59, 0x0e, 0x87, 0x6e, 0x6b, 0x65, 0x88, 0xa7, 0x66, 0x87, 0xa7, 0x68, 0x8c, +0xad, 0x69, 0x91, 0xb3, 0x66, 0x91, 0xb3, 0x60, 0x8d, 0xb0, 0x59, 0x88, 0xae, 0x53, 0x84, 0xab, +0x4d, 0x7e, 0xa7, 0x45, 0x75, 0xa0, 0x3d, 0x6f, 0x9a, 0x37, 0x66, 0x90, 0x39, 0x60, 0x8a, 0x37, +0x5e, 0x85, 0x35, 0x5b, 0x82, 0x34, 0x5a, 0x80, 0x34, 0x59, 0x7c, 0x33, 0x57, 0x7a, 0x33, 0x56, +0x77, 0x31, 0x54, 0x76, 0x31, 0x53, 0x75, 0x31, 0x4f, 0x6e, 0x31, 0x46, 0x61, 0x33, 0x38, 0x4c, +0x42, 0x1a, 0x16, 0x4c, 0x0e, 0x00, 0xe6, 0xbc, 0x6e, 0xe7, 0xbb, 0x6f, 0xe7, 0xbc, 0x6e, 0xe6, +0xbc, 0x6e, 0xe8, 0xbe, 0x75, 0xe9, 0xc2, 0x81, 0xe8, 0xc3, 0x87, 0xe6, 0xba, 0x77, 0xe0, 0x8d, +0x4e, 0xff, 0x61, 0x1f, 0xd3, 0x4a, 0x16, 0xbb, 0x42, 0x17, 0xa0, 0x37, 0x13, 0x76, 0x26, 0x0a, +0x5d, 0x1b, 0x06, 0x60, 0x25, 0x0e, 0xa6, 0x77, 0x4e, 0xce, 0xa9, 0x76, 0xcc, 0xaa, 0x79, 0xcb, +0xae, 0x83, 0xcb, 0xb0, 0x88, 0xc8, 0xae, 0x88, 0xc6, 0xac, 0x89, 0xc5, 0xaa, 0x8b, 0xc4, 0xab, +0x8d, 0xc4, 0xad, 0x93, 0xc4, 0xaf, 0x98, 0xc5, 0xb1, 0x9f, 0xc7, 0xb4, 0xa6, 0xca, 0xb7, 0xac, +0xcc, 0xba, 0xb1, 0xce, 0xbd, 0xb6, 0xd0, 0xbf, 0xbb, 0xe6, 0xd2, 0xb3, 0xff, 0xa9, 0x55, 0xed, +0x87, 0x43, 0xaa, 0x85, 0x7c, 0x76, 0x8c, 0xa9, 0x71, 0x95, 0xb8, 0x74, 0x9a, 0xbc, 0x75, 0x9d, +0xbf, 0x74, 0x9e, 0xc1, 0x70, 0x9c, 0xbf, 0x69, 0x98, 0xbb, 0x63, 0x93, 0xb8, 0x5b, 0x8d, 0xb5, +0x54, 0x87, 0xb1, 0x50, 0x84, 0xaf, 0x45, 0x79, 0xa6, 0x37, 0x63, 0x89, 0x38, 0x5c, 0x81, 0x3d, +0x65, 0x8d, 0x3a, 0x63, 0x8b, 0x38, 0x5e, 0x86, 0x38, 0x5d, 0x82, 0x37, 0x5b, 0x7f, 0x36, 0x58, +0x7b, 0x34, 0x56, 0x78, 0x33, 0x54, 0x75, 0x31, 0x50, 0x72, 0x2f, 0x4e, 0x70, 0x2e, 0x4c, 0x6c, +0x32, 0x42, 0x5a, 0x3e, 0x2a, 0x2f, 0xe8, 0xbb, 0x69, 0xe8, 0xbb, 0x6a, 0xe8, 0xba, 0x68, 0xe8, +0xba, 0x6b, 0xe9, 0xbd, 0x75, 0xe9, 0xc2, 0x81, 0xe8, 0xbf, 0x7c, 0xde, 0xb0, 0x68, 0xf4, 0x8f, +0x4a, 0xff, 0x64, 0x22, 0xe3, 0x50, 0x18, 0xc7, 0x46, 0x16, 0xb6, 0x40, 0x16, 0x98, 0x34, 0x11, +0x79, 0x28, 0x0b, 0x62, 0x1e, 0x07, 0x57, 0x19, 0x05, 0x8a, 0x59, 0x35, 0xc7, 0xa4, 0x74, 0xcc, +0xae, 0x82, 0xca, 0xae, 0x84, 0xc8, 0xac, 0x84, 0xc6, 0xaa, 0x85, 0xc5, 0xaa, 0x87, 0xc5, 0xaa, +0x8b, 0xc4, 0xab, 0x90, 0xc4, 0xad, 0x95, 0xc5, 0xaf, 0x9b, 0xc7, 0xb3, 0xa3, 0xc9, 0xb6, 0xaa, +0xcc, 0xb9, 0xaf, 0xce, 0xbb, 0xb3, 0xd0, 0xbe, 0xb8, 0xf0, 0xd0, 0x9a, 0xcd, 0xa4, 0x85, 0x91, +0xa4, 0xba, 0x7c, 0xa3, 0xc8, 0x7b, 0x9e, 0xc0, 0x7d, 0xa2, 0xc4, 0x80, 0xa7, 0xc9, 0x81, 0xaa, +0xcc, 0x80, 0xab, 0xcc, 0x7d, 0xa9, 0xcc, 0x76, 0xa6, 0xc9, 0x6f, 0xa1, 0xc5, 0x67, 0x9b, 0xc0, +0x61, 0x99, 0xc3, 0x50, 0x7c, 0x9e, 0x23, 0x2b, 0x33, 0x10, 0x0d, 0x0e, 0x10, 0x0c, 0x0d, 0x1d, +0x25, 0x30, 0x39, 0x5e, 0x81, 0x3d, 0x67, 0x8f, 0x3a, 0x62, 0x88, 0x39, 0x60, 0x84, 0x38, 0x5e, +0x82, 0x37, 0x5b, 0x7f, 0x36, 0x58, 0x7a, 0x34, 0x56, 0x76, 0x32, 0x53, 0x73, 0x2f, 0x4f, 0x6e, +0x2d, 0x4b, 0x6c, 0x2a, 0x4a, 0x6a, 0xe9, 0xb9, 0x64, 0xe9, 0xb8, 0x64, 0xe8, 0xb7, 0x62, 0xe9, +0xba, 0x69, 0xea, 0xbd, 0x75, 0xea, 0xc0, 0x7d, 0xe8, 0xb9, 0x6f, 0xd1, 0xa5, 0x5e, 0xfd, 0x8e, +0x46, 0xff, 0x67, 0x25, 0xf7, 0x5a, 0x1d, 0xd1, 0x49, 0x16, 0xc5, 0x45, 0x17, 0xae, 0x3c, 0x15, +0x97, 0x35, 0x11, 0x81, 0x2c, 0x0d, 0x68, 0x20, 0x08, 0x57, 0x19, 0x05, 0x71, 0x3b, 0x21, 0xb9, +0x97, 0x6e, 0xc9, 0xac, 0x81, 0xc8, 0xab, 0x80, 0xc5, 0xa9, 0x82, 0xc5, 0xaa, 0x84, 0xc5, 0xa9, +0x89, 0xc5, 0xaa, 0x8e, 0xc4, 0xac, 0x93, 0xc5, 0xae, 0x99, 0xc6, 0xb1, 0xa0, 0xc9, 0xb4, 0xa7, +0xcc, 0xb8, 0xac, 0xce, 0xba, 0xb1, 0xc6, 0xb5, 0xaf, 0xb7, 0xbb, 0xb8, 0x92, 0xb0, 0xcc, 0x90, +0xb0, 0xcb, 0x8b, 0xad, 0xc9, 0x88, 0xaf, 0xcd, 0x8d, 0xb4, 0xd2, 0x91, 0xb8, 0xd5, 0x92, 0xb9, +0xd6, 0x8f, 0xb9, 0xd6, 0x8a, 0xb7, 0xd6, 0x85, 0xb4, 0xd4, 0x7e, 0xb0, 0xd2, 0x76, 0xab, 0xce, +0x6a, 0x9c, 0xc0, 0x40, 0x43, 0x46, 0x16, 0x0b, 0x05, 0x0b, 0x04, 0x00, 0x0d, 0x06, 0x02, 0x0b, +0x00, 0x00, 0x1c, 0x22, 0x29, 0x3f, 0x68, 0x8e, 0x3d, 0x65, 0x8c, 0x3a, 0x63, 0x89, 0x39, 0x61, +0x86, 0x37, 0x5e, 0x83, 0x36, 0x5c, 0x7f, 0x36, 0x59, 0x7b, 0x34, 0x56, 0x77, 0x31, 0x53, 0x73, +0x2e, 0x4e, 0x6e, 0x2c, 0x4a, 0x6a, 0xea, 0xb8, 0x5f, 0xe9, 0xb6, 0x5d, 0xe9, 0xb6, 0x5d, 0xe9, +0xba, 0x66, 0xea, 0xbd, 0x75, 0xe9, 0xbb, 0x75, 0xe7, 0xb3, 0x61, 0xc7, 0x9b, 0x59, 0xff, 0x8d, +0x41, 0xff, 0x69, 0x27, 0xff, 0x62, 0x23, 0xe5, 0x50, 0x18, 0xcb, 0x47, 0x16, 0xc0, 0x43, 0x17, +0xa6, 0x3a, 0x14, 0x99, 0x36, 0x12, 0x85, 0x2e, 0x0e, 0x6b, 0x22, 0x09, 0x5c, 0x1b, 0x05, 0x5e, +0x24, 0x0f, 0xa0, 0x78, 0x55, 0xc7, 0xa9, 0x7d, 0xc5, 0xa8, 0x7f, 0xc4, 0xa9, 0x83, 0xc5, 0xa8, +0x86, 0xc5, 0xa9, 0x8b, 0xc4, 0xab, 0x91, 0xc5, 0xae, 0x97, 0xc6, 0xb0, 0x9f, 0xc8, 0xb3, 0xa3, +0xcb, 0xb6, 0xaa, 0xbd, 0xaa, 0xa5, 0xac, 0xb5, 0xc4, 0xa2, 0xbb, 0xd1, 0x9d, 0xba, 0xd1, 0x98, +0xba, 0xd3, 0x96, 0xbb, 0xd5, 0x9a, 0xc0, 0xd8, 0x9f, 0xc3, 0xda, 0xa2, 0xc6, 0xdb, 0xa3, 0xc7, +0xdd, 0xa3, 0xc7, 0xde, 0x9f, 0xc6, 0xde, 0x97, 0xc1, 0xdc, 0x90, 0xbe, 0xdb, 0x88, 0xbc, 0xdd, +0x6e, 0x99, 0xb5, 0x4a, 0x42, 0x3c, 0x3a, 0x31, 0x2b, 0x11, 0x09, 0x05, 0x11, 0x0a, 0x05, 0x11, +0x09, 0x04, 0x11, 0x0b, 0x08, 0x3a, 0x5e, 0x7f, 0x3e, 0x69, 0x90, 0x3b, 0x65, 0x8c, 0x3b, 0x64, +0x8a, 0x39, 0x62, 0x87, 0x39, 0x60, 0x83, 0x38, 0x5d, 0x7f, 0x36, 0x5a, 0x7b, 0x34, 0x56, 0x76, +0x31, 0x53, 0x73, 0x2f, 0x4f, 0x6e, 0xe9, 0xb6, 0x5a, 0xe9, 0xb4, 0x57, 0xea, 0xb6, 0x5a, 0xeb, +0xba, 0x66, 0xeb, 0xbc, 0x75, 0xe9, 0xb7, 0x68, 0xe7, 0xb0, 0x5b, 0xc2, 0x96, 0x57, 0xff, 0x90, +0x42, 0xff, 0x6d, 0x29, 0xff, 0x68, 0x27, 0xf5, 0x59, 0x1d, 0xd4, 0x4a, 0x16, 0xcb, 0x47, 0x16, +0xbb, 0x42, 0x16, 0xa5, 0x3a, 0x14, 0x9b, 0x36, 0x12, 0x8b, 0x30, 0x0f, 0x75, 0x26, 0x0b, 0x64, +0x1f, 0x07, 0x57, 0x19, 0x06, 0x84, 0x56, 0x39, 0xc1, 0xa3, 0x77, 0xc4, 0xa8, 0x80, 0xc4, 0xa9, +0x85, 0xc5, 0xab, 0x8a, 0xc5, 0xab, 0x90, 0xc5, 0xac, 0x95, 0xc6, 0xaf, 0x9c, 0xc9, 0xb2, 0xa1, +0xbb, 0xa7, 0xa2, 0xb6, 0xc1, 0xcf, 0xb6, 0xc8, 0xd7, 0xb0, 0xc8, 0xd7, 0xaa, 0xc7, 0xd9, 0xa7, +0xc7, 0xda, 0xab, 0xc9, 0xdb, 0xb2, 0xcd, 0xde, 0xb9, 0xd1, 0xe0, 0xbf, 0xd4, 0xe1, 0xc1, 0xd6, +0xe3, 0xc0, 0xd6, 0xe4, 0xbc, 0xd5, 0xe4, 0xb4, 0xd2, 0xe3, 0xa9, 0xce, 0xe3, 0x9d, 0xc9, 0xe3, +0x85, 0xb6, 0xd4, 0x58, 0x59, 0x59, 0x7c, 0x6d, 0x64, 0x32, 0x29, 0x24, 0x12, 0x09, 0x06, 0x0e, +0x04, 0x00, 0x18, 0x1b, 0x21, 0x3e, 0x67, 0x8d, 0x3d, 0x68, 0x8e, 0x3c, 0x67, 0x8d, 0x3c, 0x67, +0x8c, 0x3b, 0x65, 0x88, 0x3a, 0x62, 0x85, 0x38, 0x5f, 0x82, 0x38, 0x5c, 0x7e, 0x36, 0x59, 0x79, +0x33, 0x56, 0x75, 0x30, 0x53, 0x72, 0xea, 0xb2, 0x54, 0xea, 0xb3, 0x52, 0xea, 0xb6, 0x5b, 0xea, +0xba, 0x6a, 0xeb, 0xbb, 0x6e, 0xe9, 0xb3, 0x57, 0xe8, 0xb2, 0x58, 0xc5, 0x96, 0x57, 0xff, 0x92, +0x44, 0xff, 0x71, 0x2b, 0xff, 0x69, 0x28, 0xfe, 0x62, 0x23, 0xe6, 0x50, 0x18, 0xcc, 0x47, 0x16, +0xc9, 0x46, 0x17, 0xb7, 0x41, 0x17, 0xaa, 0x3b, 0x15, 0x9f, 0x38, 0x12, 0x95, 0x34, 0x11, 0x84, +0x2d, 0x0e, 0x72, 0x25, 0x0a, 0x63, 0x1e, 0x07, 0x6d, 0x38, 0x20, 0xb0, 0x90, 0x6b, 0xc4, 0xa8, +0x83, 0xc4, 0xaa, 0x87, 0xc5, 0xab, 0x8d, 0xc6, 0xac, 0x94, 0xc6, 0xae, 0x9a, 0xbd, 0xa9, 0xa1, +0xc0, 0xcb, 0xd5, 0xc0, 0xd0, 0xdb, 0xbd, 0xd0, 0xdc, 0xba, 0xcf, 0xdd, 0xb9, 0xcf, 0xdc, 0xbc, +0xd0, 0xde, 0xc3, 0xd4, 0xe0, 0xc7, 0xd7, 0xe2, 0xc7, 0xd7, 0xe3, 0xc3, 0xd6, 0xe3, 0xc1, 0xd6, +0xe3, 0xc2, 0xd7, 0xe3, 0xc2, 0xd8, 0xe4, 0xc0, 0xd9, 0xe5, 0xb9, 0xd6, 0xe5, 0xaf, 0xd1, 0xe5, +0xa1, 0xcf, 0xe9, 0x78, 0x9d, 0xb3, 0x4b, 0x48, 0x45, 0x28, 0x1b, 0x13, 0x0d, 0x01, 0x00, 0x12, +0x12, 0x15, 0x34, 0x55, 0x74, 0x40, 0x6d, 0x94, 0x3e, 0x69, 0x8f, 0x3d, 0x6a, 0x8e, 0x3c, 0x67, +0x8b, 0x3b, 0x65, 0x88, 0x39, 0x61, 0x84, 0x37, 0x5e, 0x80, 0x36, 0x5b, 0x7c, 0x34, 0x59, 0x79, +0x32, 0x56, 0x76, 0x31, 0x54, 0x74, 0xc5, 0x93, 0x56, 0xc3, 0x92, 0x51, 0xd5, 0xa4, 0x58, 0xeb, +0xba, 0x6b, 0xea, 0xb7, 0x62, 0xe8, 0xaf, 0x4f, 0xe7, 0xb2, 0x5a, 0xee, 0xb2, 0x6b, 0xff, 0x88, +0x3c, 0xff, 0x74, 0x2d, 0xff, 0x6a, 0x28, 0xff, 0x67, 0x27, 0xf4, 0x57, 0x1c, 0xd5, 0x4a, 0x16, +0xc9, 0x46, 0x16, 0xc5, 0x45, 0x17, 0xb4, 0x40, 0x18, 0xad, 0x3c, 0x15, 0xa4, 0x39, 0x13, 0x9a, +0x36, 0x12, 0x8f, 0x32, 0x10, 0x85, 0x2e, 0x0e, 0x78, 0x28, 0x0b, 0x67, 0x27, 0x10, 0x9d, 0x78, +0x58, 0xc4, 0xa8, 0x85, 0xc4, 0xaa, 0x8a, 0xbf, 0xa5, 0x95, 0xbe, 0xb5, 0xb4, 0xcd, 0xd5, 0xdd, +0xcb, 0xd9, 0xe0, 0xc7, 0xd7, 0xe0, 0xc5, 0xd6, 0xe0, 0xc3, 0xd4, 0xdf, 0xc1, 0xd2, 0xde, 0xbc, +0xd1, 0xde, 0xb2, 0xcc, 0xdd, 0xa1, 0xc3, 0xd9, 0x91, 0xba, 0xd5, 0x8a, 0xb7, 0xd5, 0x90, 0xbd, +0xd8, 0x9b, 0xc6, 0xde, 0xa6, 0xce, 0xe2, 0xac, 0xd2, 0xe4, 0xac, 0xd2, 0xe5, 0xa7, 0xcf, 0xe4, +0x9e, 0xc9, 0xe2, 0x94, 0xc9, 0xe8, 0x6e, 0x9e, 0xb9, 0x33, 0x43, 0x4e, 0x26, 0x39, 0x46, 0x36, +0x61, 0x86, 0x3a, 0x66, 0x8e, 0x39, 0x62, 0x88, 0x38, 0x62, 0x88, 0x35, 0x60, 0x86, 0x32, 0x5d, +0x82, 0x30, 0x5a, 0x7e, 0x2d, 0x56, 0x79, 0x2b, 0x53, 0x75, 0x2a, 0x50, 0x71, 0x2a, 0x4e, 0x6d, +0x2b, 0x4c, 0x6b, 0x2c, 0x4d, 0x6c, 0x88, 0x54, 0x4a, 0x84, 0x51, 0x47, 0x8d, 0x5a, 0x4e, 0xb4, +0x81, 0x5e, 0xde, 0xa7, 0x55, 0xe7, 0xaf, 0x50, 0xe7, 0xb4, 0x60, 0xf4, 0xb5, 0x6e, 0xff, 0x87, +0x3c, 0xff, 0x76, 0x2e, 0xff, 0x6c, 0x2a, 0xff, 0x69, 0x28, 0xfc, 0x5f, 0x21, 0xe3, 0x4f, 0x17, +0xcd, 0x48, 0x17, 0xca, 0x46, 0x16, 0xc3, 0x45, 0x17, 0xb4, 0x40, 0x18, 0xad, 0x3c, 0x15, 0xa7, +0x3b, 0x15, 0xa6, 0x3b, 0x16, 0xa4, 0x3a, 0x16, 0xa0, 0x35, 0x10, 0x96, 0x2b, 0x07, 0x80, 0x2e, +0x13, 0xac, 0x93, 0x84, 0xc1, 0xc1, 0xc0, 0xc9, 0xdb, 0xe3, 0xd7, 0xe2, 0xe7, 0xd3, 0xdf, 0xe4, +0xcf, 0xdd, 0xe3, 0xce, 0xdb, 0xe2, 0xc8, 0xd7, 0xe0, 0xb8, 0xcf, 0xdc, 0x9f, 0xc0, 0xd7, 0x7f, +0xab, 0xcb, 0x61, 0x93, 0xb9, 0x55, 0x83, 0xa8, 0x5e, 0x80, 0xa1, 0x70, 0x85, 0xa2, 0x81, 0x8e, +0xa9, 0x8d, 0x99, 0xb3, 0x94, 0xa4, 0xbc, 0x96, 0xae, 0xc7, 0x95, 0xb5, 0xcf, 0x8e, 0xb7, 0xd4, +0x82, 0xb5, 0xd5, 0x73, 0xad, 0xd0, 0x66, 0xa7, 0xce, 0x53, 0x98, 0xc4, 0x3d, 0x7b, 0xa9, 0x2b, +0x5a, 0x82, 0x26, 0x4c, 0x6d, 0x29, 0x4b, 0x6c, 0x2f, 0x4a, 0x68, 0x37, 0x46, 0x5f, 0x3d, 0x41, +0x54, 0x42, 0x3c, 0x4c, 0x44, 0x38, 0x46, 0x3f, 0x36, 0x44, 0x36, 0x37, 0x48, 0x29, 0x37, 0x4e, +0x1f, 0x3a, 0x55, 0x1d, 0x3d, 0x5a, 0x72, 0x42, 0x39, 0x72, 0x44, 0x3b, 0x71, 0x43, 0x3b, 0x70, +0x43, 0x3a, 0x8c, 0x5c, 0x48, 0xd9, 0xa2, 0x55, 0xe7, 0xb6, 0x63, 0xf4, 0xb5, 0x6e, 0xff, 0x89, +0x3e, 0xff, 0x78, 0x2f, 0xff, 0x6e, 0x2a, 0xff, 0x69, 0x28, 0xff, 0x64, 0x25, 0xf3, 0x55, 0x1a, +0xd9, 0x4c, 0x17, 0xca, 0x47, 0x17, 0xca, 0x46, 0x16, 0xc4, 0x45, 0x17, 0xbc, 0x43, 0x18, 0xbf, +0x43, 0x17, 0xc3, 0x3f, 0x10, 0xc5, 0x41, 0x12, 0xc3, 0x58, 0x35, 0xc5, 0x91, 0x82, 0xca, 0xca, +0xcc, 0xcb, 0xe0, 0xe8, 0xc1, 0xd6, 0xdf, 0xd6, 0xdf, 0xe3, 0xdb, 0xe3, 0xe8, 0xd6, 0xe1, 0xe6, +0xd4, 0xe0, 0xe5, 0xc9, 0xd8, 0xe0, 0xaa, 0xc7, 0xd9, 0x7c, 0xa9, 0xca, 0x55, 0x88, 0xb0, 0x53, +0x76, 0x98, 0x76, 0x7b, 0x8f, 0x93, 0x84, 0x90, 0xa5, 0x8c, 0x94, 0xb1, 0x93, 0x9d, 0xb1, 0x92, +0x9f, 0xa7, 0x8c, 0x99, 0xae, 0x92, 0xa1, 0xaa, 0x90, 0x9e, 0xa5, 0x8c, 0x9e, 0x9f, 0x8b, 0xa0, +0x96, 0x8a, 0xa4, 0x89, 0x87, 0xa7, 0x7a, 0x7f, 0xa3, 0x6b, 0x6e, 0x92, 0x5c, 0x55, 0x74, 0x5a, +0x42, 0x56, 0x62, 0x3b, 0x42, 0x6b, 0x3b, 0x3b, 0x75, 0x3c, 0x38, 0x7b, 0x3b, 0x33, 0x7e, 0x3b, +0x32, 0x80, 0x39, 0x32, 0x77, 0x34, 0x2d, 0x7c, 0x36, 0x30, 0x77, 0x39, 0x31, 0x6d, 0x37, 0x32, +0x5a, 0x33, 0x34, 0x3e, 0x30, 0x3a, 0x75, 0x47, 0x3e, 0x73, 0x47, 0x3e, 0x6e, 0x44, 0x3c, 0x6a, +0x41, 0x39, 0x6a, 0x40, 0x38, 0x85, 0x56, 0x45, 0xe3, 0xb0, 0x63, 0xf6, 0xba, 0x73, 0xff, 0x8c, +0x41, 0xff, 0x7a, 0x31, 0xff, 0x70, 0x2b, 0xff, 0x69, 0x28, 0xff, 0x67, 0x26, 0xff, 0x5f, 0x22, +0xf2, 0x53, 0x19, 0xdc, 0x4c, 0x17, 0xd1, 0x49, 0x16, 0xd4, 0x46, 0x11, 0xda, 0x44, 0x0b, 0xde, +0x51, 0x1d, 0xd9, 0x77, 0x54, 0xd5, 0xb1, 0xa5, 0xd1, 0xdc, 0xe2, 0xce, 0xe8, 0xf3, 0xc5, 0xdd, +0xe8, 0xb3, 0xca, 0xd6, 0xc0, 0xd0, 0xd8, 0xe2, 0xe9, 0xea, 0xdb, 0xe4, 0xe8, 0xd7, 0xe1, 0xe6, +0xc9, 0xd8, 0xe0, 0x9e, 0xc0, 0xd6, 0x64, 0x97, 0xbf, 0x58, 0x7f, 0xa3, 0x89, 0x8a, 0x9c, 0xb8, +0x9f, 0xa4, 0xc7, 0xa8, 0xaa, 0xc6, 0xa8, 0xab, 0xc8, 0xa8, 0xae, 0xbb, 0x9e, 0xa1, 0x3c, 0x75, +0x35, 0x20, 0x83, 0x1d, 0x94, 0x90, 0x80, 0xbb, 0x98, 0xa2, 0xb3, 0x91, 0x99, 0xb1, 0x91, 0xa0, +0xb2, 0x8d, 0x9b, 0xa7, 0x6e, 0x70, 0x8a, 0x4d, 0x4d, 0x7d, 0x46, 0x4c, 0x86, 0x3e, 0x3b, 0x73, +0x2e, 0x27, 0x80, 0x39, 0x31, 0x91, 0x4b, 0x42, 0x90, 0x4c, 0x44, 0x8e, 0x4c, 0x43, 0x93, 0x4c, +0x46, 0x53, 0x51, 0x2c, 0x14, 0x73, 0x1e, 0x44, 0x5a, 0x2a, 0x8c, 0x49, 0x43, 0x86, 0x49, 0x3f, +0x83, 0x45, 0x3c, 0x7b, 0x3f, 0x36, 0x78, 0x4b, 0x42, 0x72, 0x4a, 0x42, 0x6a, 0x44, 0x3c, 0x62, +0x3e, 0x37, 0x60, 0x3b, 0x34, 0x61, 0x39, 0x33, 0xa6, 0x78, 0x54, 0xf2, 0xb9, 0x76, 0xff, 0x92, +0x48, 0xff, 0x7d, 0x33, 0xff, 0x74, 0x2d, 0xff, 0x6c, 0x28, 0xff, 0x67, 0x24, 0xff, 0x64, 0x21, +0xff, 0x5b, 0x1a, 0xfa, 0x51, 0x12, 0xef, 0x51, 0x16, 0xe2, 0x68, 0x3b, 0xda, 0x97, 0x7e, 0xd4, +0xca, 0xc7, 0xcf, 0xe7, 0xf1, 0xcc, 0xe8, 0xf3, 0xc7, 0xde, 0xe9, 0xbb, 0xd2, 0xdf, 0xab, 0xc5, +0xd4, 0x99, 0xb8, 0xcb, 0xd4, 0xde, 0xe2, 0xe2, 0xea, 0xeb, 0xd9, 0xe3, 0xe7, 0xcb, 0xda, 0xe1, +0x9a, 0xbe, 0xd5, 0x62, 0x95, 0xbe, 0x7f, 0x90, 0xab, 0xc3, 0xad, 0xb3, 0xd8, 0xb9, 0xba, 0xd6, +0xba, 0xba, 0xd2, 0xb5, 0xb4, 0xcc, 0xac, 0xad, 0xd8, 0xb1, 0xb7, 0x44, 0x76, 0x35, 0x00, 0xb3, +0x24, 0x00, 0xdd, 0x3a, 0x36, 0x8f, 0x28, 0xb9, 0x8e, 0x93, 0xb9, 0x95, 0x9b, 0xc0, 0x88, 0x7e, +0xb5, 0x55, 0x2e, 0x90, 0x27, 0x00, 0x5e, 0x11, 0x00, 0x51, 0x11, 0x00, 0x92, 0x26, 0x00, 0x68, +0x16, 0x00, 0x51, 0x12, 0x01, 0x6d, 0x29, 0x1a, 0x97, 0x56, 0x4b, 0xa6, 0x64, 0x5b, 0x8d, 0x57, +0x48, 0x00, 0x83, 0x07, 0x00, 0xd0, 0x3a, 0x00, 0x92, 0x13, 0x68, 0x58, 0x37, 0xa0, 0x5d, 0x54, +0x8c, 0x4f, 0x42, 0x88, 0x4d, 0x42, 0x7b, 0x51, 0x48, 0x70, 0x4b, 0x44, 0x63, 0x40, 0x3a, 0x59, +0x39, 0x31, 0x52, 0x31, 0x29, 0x4f, 0x2b, 0x22, 0x5b, 0x34, 0x2d, 0xd3, 0x92, 0x5d, 0xff, 0x9d, +0x4a, 0xff, 0x81, 0x31, 0xff, 0x78, 0x2b, 0xfc, 0x71, 0x2c, 0xf8, 0x70, 0x32, 0xf2, 0x76, 0x3e, +0xec, 0x83, 0x54, 0xe1, 0x9b, 0x80, 0xd4, 0xbc, 0xb6, 0xcf, 0xdd, 0xe4, 0xce, 0xeb, 0xf7, 0xcc, +0xe6, 0xf0, 0xc5, 0xdc, 0xe7, 0xbb, 0xd4, 0xe2, 0xae, 0xcb, 0xdb, 0x9f, 0xbf, 0xd1, 0x85, 0xac, +0xc4, 0xa0, 0xad, 0xb5, 0xe7, 0xe9, 0xe8, 0xdd, 0xe6, 0xe9, 0xd0, 0xde, 0xe3, 0xa2, 0xc4, 0xd8, +0x76, 0xa0, 0xc3, 0xac, 0xaa, 0xb9, 0xdf, 0xc2, 0xc1, 0xdf, 0xc1, 0xc0, 0xdb, 0xbe, 0xbe, 0xd8, +0xba, 0xb9, 0xd3, 0xb2, 0xb1, 0xde, 0xbc, 0xbd, 0xa7, 0x9d, 0x8d, 0x34, 0x92, 0x31, 0x1a, 0xb7, +0x41, 0x09, 0xd8, 0x57, 0x1a, 0xb2, 0x1e, 0xa1, 0x8d, 0x83, 0xca, 0x87, 0x72, 0xbf, 0x4a, 0x14, +0xa8, 0x2e, 0x00, 0x95, 0x25, 0x02, 0x61, 0x15, 0x00, 0x5f, 0x17, 0x01, 0xa7, 0x2e, 0x07, 0x8a, +0x22, 0x02, 0x59, 0x13, 0x00, 0x56, 0x10, 0x00, 0x67, 0x21, 0x0d, 0xa0, 0x5b, 0x4f, 0x68, 0x57, +0x36, 0x49, 0xb2, 0x4a, 0x22, 0xae, 0x39, 0x00, 0x7e, 0x01, 0x22, 0x5b, 0x10, 0xa6, 0x6d, 0x64, +0xa0, 0x66, 0x5b, 0x8f, 0x52, 0x46, 0x7e, 0x54, 0x4b, 0x69, 0x46, 0x3d, 0x57, 0x39, 0x32, 0x4a, +0x30, 0x2a, 0x41, 0x2d, 0x2c, 0x41, 0x34, 0x39, 0x46, 0x3f, 0x4a, 0x71, 0x63, 0x68, 0xa7, 0x8d, +0x7e, 0xa2, 0x90, 0x8a, 0xa5, 0xa0, 0xa2, 0xae, 0xb1, 0xb6, 0xb6, 0xc1, 0xca, 0xbc, 0xcf, 0xda, +0xc1, 0xdc, 0xea, 0xc3, 0xe3, 0xf2, 0xc8, 0xe4, 0xf1, 0xca, 0xe0, 0xeb, 0xc6, 0xdb, 0xe7, 0xbb, +0xd5, 0xe3, 0xad, 0xcc, 0xdd, 0x9f, 0xc2, 0xd6, 0x90, 0xb5, 0xcc, 0x78, 0xa4, 0xc2, 0x80, 0x89, +0x95, 0xea, 0xa4, 0x78, 0xe4, 0xef, 0xf1, 0xd2, 0xe2, 0xe9, 0xa7, 0xc8, 0xda, 0x8c, 0xab, 0xc6, +0xc9, 0xbb, 0xc2, 0xe8, 0xcb, 0xc8, 0xe2, 0xc6, 0xc5, 0xde, 0xc1, 0xc0, 0xdc, 0xbe, 0xbc, 0xd9, +0xb9, 0xb6, 0xdc, 0xbf, 0xbc, 0xe8, 0xc4, 0xc7, 0x58, 0x80, 0x47, 0xb5, 0xdd, 0xb7, 0x5c, 0x49, +0x57, 0x01, 0x42, 0x0e, 0x04, 0xbb, 0x24, 0xa0, 0x7c, 0x53, 0xd8, 0x5b, 0x26, 0xbe, 0x3c, 0x0f, +0xb1, 0x33, 0x0a, 0x9b, 0x27, 0x02, 0x69, 0x17, 0x00, 0x6b, 0x19, 0x01, 0xaf, 0x32, 0x09, 0xa1, +0x2a, 0x04, 0x68, 0x17, 0x00, 0x5d, 0x15, 0x01, 0x5c, 0x12, 0x00, 0x6c, 0x1f, 0x0c, 0x3f, 0x3f, +0x17, 0xc2, 0xd6, 0xc3, 0x5a, 0x4d, 0x59, 0x00, 0x14, 0x00, 0x06, 0x59, 0x00, 0x73, 0x54, 0x3e, +0xaf, 0x72, 0x68, 0xa1, 0x68, 0x5c, 0x5d, 0x47, 0x4b, 0x37, 0x3f, 0x51, 0x35, 0x47, 0x61, 0x37, +0x52, 0x73, 0x39, 0x5d, 0x86, 0x3a, 0x67, 0x94, 0x3f, 0x70, 0x9f, 0x4c, 0x7f, 0xad, 0x62, 0x96, +0xc2, 0x83, 0xb3, 0xd5, 0xa1, 0xc9, 0xe1, 0xb7, 0xd7, 0xe8, 0xc2, 0xdc, 0xeb, 0xca, 0xe0, 0xeb, +0xcc, 0xe0, 0xea, 0xc7, 0xdc, 0xe8, 0xc1, 0xd8, 0xe5, 0xb9, 0xd3, 0xe2, 0xae, 0xcd, 0xde, 0xa1, +0xc4, 0xd8, 0x91, 0xb7, 0xd0, 0x80, 0xa8, 0xc5, 0x6b, 0x95, 0xb6, 0x5d, 0x7e, 0x9d, 0xd8, 0x7f, +0x4a, 0xff, 0xa6, 0x65, 0xde, 0xe2, 0xdf, 0xb8, 0xc1, 0xca, 0xab, 0xb1, 0xc1, 0xda, 0xc5, 0xc7, +0xec, 0xd3, 0xcf, 0xe8, 0xce, 0xcc, 0xe2, 0xc7, 0xc5, 0xe0, 0xc2, 0xc0, 0xdd, 0xbe, 0xbb, 0xe1, +0xc5, 0xc1, 0xe3, 0xc6, 0xc3, 0xd7, 0xb4, 0xb4, 0x27, 0x7c, 0x1d, 0x21, 0x77, 0x29, 0x0e, 0x08, +0x0d, 0x00, 0x0f, 0x05, 0x39, 0x8c, 0x29, 0xd6, 0x6d, 0x2f, 0xc8, 0x47, 0x19, 0xbd, 0x3c, 0x11, +0xb5, 0x35, 0x0d, 0x9c, 0x27, 0x03, 0x6f, 0x19, 0x00, 0x6e, 0x1a, 0x00, 0xaf, 0x32, 0x09, 0xad, +0x2f, 0x06, 0x78, 0x1b, 0x00, 0x60, 0x16, 0x01, 0x61, 0x16, 0x01, 0x62, 0x14, 0x00, 0x50, 0x1f, +0x03, 0x2b, 0x3f, 0x24, 0x08, 0x07, 0x0a, 0x03, 0x00, 0x02, 0x04, 0x45, 0x00, 0x46, 0x48, 0x1f, +0xa4, 0x61, 0x57, 0xa6, 0x6e, 0x63, 0x3f, 0x3f, 0x50, 0x1f, 0x40, 0x64, 0x2d, 0x4e, 0x72, 0x35, +0x59, 0x80, 0x37, 0x60, 0x8b, 0x3a, 0x68, 0x94, 0x47, 0x76, 0xa2, 0x5e, 0x8d, 0xb4, 0x7c, 0xa6, +0xc6, 0x98, 0xbc, 0xd4, 0xae, 0xcc, 0xdd, 0xbc, 0xd5, 0xe3, 0xc2, 0xd9, 0xe5, 0xc4, 0xda, 0xe6, +0xc2, 0xd9, 0xe6, 0xb9, 0xd4, 0xe2, 0xad, 0xcc, 0xde, 0xa1, 0xc4, 0xd8, 0x93, 0xb9, 0xd2, 0x81, +0xab, 0xc8, 0x6e, 0x99, 0xba, 0x5b, 0x84, 0xa6, 0x41, 0x6a, 0x90, 0xaa, 0x76, 0x5c, 0xff, 0xa2, +0x54, 0xff, 0xb1, 0x6c, 0xf1, 0x79, 0x43, 0xc6, 0x73, 0x65, 0xe2, 0xcb, 0xcb, 0xee, 0xd7, 0xd4, +0xec, 0xd5, 0xd2, 0xe7, 0xce, 0xcc, 0xe4, 0xc9, 0xc6, 0xe1, 0xc3, 0xc0, 0xe4, 0xc9, 0xc4, 0xe4, +0xcb, 0xc5, 0xe3, 0xc2, 0xbf, 0xb9, 0xa1, 0x97, 0x17, 0x78, 0x0b, 0x00, 0x34, 0x04, 0x00, 0x00, +0x00, 0x0f, 0x0c, 0x08, 0xc1, 0x67, 0x36, 0xd7, 0x56, 0x28, 0xba, 0x3d, 0x15, 0xb4, 0x38, 0x11, +0xb2, 0x34, 0x0d, 0xa0, 0x28, 0x03, 0x73, 0x19, 0x00, 0x6c, 0x19, 0x00, 0xaf, 0x32, 0x09, 0xb0, +0x30, 0x08, 0x7f, 0x1d, 0x00, 0x64, 0x16, 0x00, 0x63, 0x16, 0x01, 0x62, 0x17, 0x01, 0x67, 0x17, +0x01, 0x3a, 0x0f, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x03, 0x03, 0x2e, 0x00, 0x2f, 0x4d, 0x14, +0x9a, 0x57, 0x4e, 0x9c, 0x60, 0x54, 0x4d, 0x42, 0x4b, 0x22, 0x3f, 0x5f, 0x2e, 0x49, 0x69, 0x33, +0x54, 0x75, 0x37, 0x5b, 0x81, 0x39, 0x64, 0x8e, 0x41, 0x6e, 0x9a, 0x50, 0x7e, 0xa8, 0x69, 0x97, +0xbb, 0x85, 0xae, 0xcb, 0x99, 0xbd, 0xd4, 0xa6, 0xc6, 0xda, 0xae, 0xcc, 0xde, 0xb0, 0xce, 0xdf, +0xaf, 0xcd, 0xde, 0xa5, 0xc7, 0xda, 0x95, 0xbb, 0xd3, 0x83, 0xad, 0xca, 0x70, 0x9c, 0xbd, 0x5d, +0x88, 0xac, 0x4d, 0x74, 0x97, 0x34, 0x5e, 0x85, 0x6e, 0x64, 0x67, 0xfd, 0x9f, 0x56, 0xff, 0xb9, +0x73, 0xfe, 0x86, 0x45, 0xce, 0x4b, 0x27, 0xd9, 0xb7, 0xb5, 0xef, 0xde, 0xdd, 0xef, 0xdb, 0xd7, +0xec, 0xd3, 0xd1, 0xe8, 0xce, 0xcc, 0xe5, 0xca, 0xc5, 0xe5, 0xca, 0xc5, 0xe7, 0xce, 0xc9, 0xe2, +0xc5, 0xc0, 0xe2, 0xbc, 0xba, 0xa5, 0x98, 0x85, 0x10, 0x78, 0x03, 0x06, 0x21, 0x08, 0x00, 0x00, +0x00, 0x8b, 0x4f, 0x30, 0xe5, 0x67, 0x36, 0xbb, 0x41, 0x19, 0xa7, 0x32, 0x0d, 0xae, 0x35, 0x11, +0xb2, 0x35, 0x0e, 0xa1, 0x2a, 0x04, 0x74, 0x19, 0x00, 0x6c, 0x18, 0x00, 0xb0, 0x33, 0x0a, 0xb1, +0x31, 0x08, 0x81, 0x1e, 0x00, 0x67, 0x17, 0x00, 0x64, 0x16, 0x00, 0x64, 0x17, 0x01, 0x62, 0x16, +0x00, 0x63, 0x17, 0x01, 0x1f, 0x0a, 0x03, 0x00, 0x00, 0x03, 0x05, 0x22, 0x01, 0x1e, 0x4b, 0x0a, +0x92, 0x57, 0x4d, 0x97, 0x57, 0x4c, 0x5e, 0x42, 0x42, 0x24, 0x3c, 0x56, 0x2d, 0x44, 0x61, 0x31, +0x4c, 0x6c, 0x36, 0x55, 0x77, 0x38, 0x5d, 0x83, 0x39, 0x63, 0x8d, 0x3d, 0x6b, 0x96, 0x4d, 0x7b, +0xa5, 0x63, 0x91, 0xb7, 0x75, 0xa0, 0xc2, 0x82, 0xac, 0xc9, 0x8b, 0xb4, 0xcf, 0x90, 0xb7, 0xd0, +0x8f, 0xb6, 0xcf, 0x87, 0xaf, 0xca, 0x77, 0xa0, 0xbf, 0x63, 0x8e, 0xb0, 0x50, 0x79, 0x9d, 0x3c, +0x64, 0x8a, 0x38, 0x59, 0x7a, 0x66, 0x5f, 0x64, 0xe2, 0x91, 0x57, 0xff, 0xbe, 0x73, 0xff, 0x95, +0x52, 0xdb, 0x4b, 0x1c, 0xc5, 0x82, 0x76, 0xf2, 0xe6, 0xe6, 0xf1, 0xde, 0xdb, 0xee, 0xd9, 0xd5, +0xeb, 0xd3, 0xd0, 0xea, 0xd0, 0xcc, 0xe8, 0xcd, 0xc8, 0xe8, 0xcf, 0xcb, 0xe4, 0xc8, 0xc3, 0xdd, +0xbd, 0xb8, 0xe4, 0xbd, 0xbd, 0x95, 0x92, 0x77, 0x0b, 0x77, 0x01, 0x00, 0x0f, 0x02, 0x3b, 0x22, +0x19, 0xe9, 0x78, 0x45, 0xc5, 0x4a, 0x20, 0xa2, 0x2f, 0x0c, 0x99, 0x29, 0x08, 0xab, 0x34, 0x11, +0xb4, 0x37, 0x10, 0x9e, 0x2a, 0x06, 0x73, 0x1a, 0x00, 0x70, 0x1a, 0x00, 0xb5, 0x36, 0x0c, 0xb1, +0x31, 0x07, 0x84, 0x1e, 0x00, 0x6a, 0x17, 0x00, 0x66, 0x17, 0x00, 0x65, 0x17, 0x00, 0x62, 0x16, +0x00, 0x64, 0x16, 0x00, 0x52, 0x14, 0x02, 0x06, 0x01, 0x02, 0x08, 0x1d, 0x08, 0x1b, 0x4b, 0x0d, +0x87, 0x50, 0x45, 0x98, 0x58, 0x4f, 0x6c, 0x41, 0x3b, 0x2b, 0x3a, 0x4d, 0x2b, 0x3f, 0x57, 0x30, +0x46, 0x60, 0x34, 0x4d, 0x6b, 0x38, 0x55, 0x75, 0x39, 0x5b, 0x7f, 0x3a, 0x61, 0x88, 0x3d, 0x67, +0x91, 0x45, 0x72, 0x9c, 0x4e, 0x7c, 0xa5, 0x56, 0x85, 0xac, 0x60, 0x8d, 0xb2, 0x65, 0x91, 0xb5, +0x66, 0x91, 0xb4, 0x60, 0x8b, 0xae, 0x50, 0x7d, 0xa3, 0x3c, 0x6a, 0x93, 0x3c, 0x5d, 0x80, 0x6a, +0x62, 0x66, 0xbe, 0x73, 0x48, 0xfe, 0x91, 0x46, 0xff, 0xb8, 0x6e, 0xff, 0xa9, 0x63, 0xf0, 0x61, +0x2a, 0xb7, 0x48, 0x2e, 0xe6, 0xd2, 0xd0, 0xf6, 0xe5, 0xe3, 0xf1, 0xdd, 0xda, 0xed, 0xd8, 0xd5, +0xec, 0xd6, 0xd1, 0xeb, 0xd2, 0xce, 0xea, 0xd1, 0xcd, 0xe7, 0xcc, 0xc7, 0xe0, 0xc2, 0xbc, 0xdd, +0xbd, 0xb8, 0xe5, 0xbd, 0xbd, 0x8e, 0x8d, 0x72, 0x06, 0x65, 0x00, 0x05, 0x12, 0x06, 0xba, 0x66, +0x41, 0xd9, 0x5e, 0x2f, 0xa8, 0x34, 0x0e, 0x92, 0x24, 0x04, 0xa0, 0x2d, 0x0a, 0xb3, 0x39, 0x15, +0xb5, 0x38, 0x12, 0x9c, 0x29, 0x06, 0x76, 0x1a, 0x00, 0x77, 0x1c, 0x00, 0xb7, 0x37, 0x0c, 0xb1, +0x31, 0x07, 0x88, 0x1f, 0x00, 0x6d, 0x18, 0x00, 0x67, 0x17, 0x00, 0x66, 0x17, 0x00, 0x63, 0x17, +0x00, 0x60, 0x16, 0x00, 0x64, 0x17, 0x01, 0x2c, 0x09, 0x02, 0x04, 0x1c, 0x07, 0x19, 0x4e, 0x0e, +0x85, 0x52, 0x45, 0x96, 0x56, 0x4c, 0x73, 0x3e, 0x34, 0x3b, 0x3a, 0x45, 0x26, 0x39, 0x4d, 0x2f, +0x41, 0x55, 0x32, 0x46, 0x5e, 0x37, 0x4d, 0x67, 0x39, 0x53, 0x6f, 0x3a, 0x58, 0x77, 0x3b, 0x5c, +0x7f, 0x3b, 0x60, 0x86, 0x3c, 0x63, 0x8a, 0x3e, 0x66, 0x8e, 0x40, 0x6b, 0x93, 0x3d, 0x6d, 0x99, +0x3a, 0x6d, 0x9b, 0x3e, 0x6a, 0x94, 0x58, 0x68, 0x7d, 0x90, 0x6d, 0x5f, 0xcf, 0x78, 0x45, 0xff, +0x85, 0x36, 0xff, 0x8d, 0x3e, 0xff, 0xaa, 0x62, 0xff, 0xba, 0x73, 0xfd, 0x7b, 0x3e, 0xc3, 0x3b, +0x15, 0xc2, 0x87, 0x7b, 0xfa, 0xf0, 0xef, 0xf5, 0xe2, 0xdf, 0xf1, 0xdd, 0xd9, 0xef, 0xda, 0xd6, +0xed, 0xd6, 0xd2, 0xeb, 0xd3, 0xcf, 0xe9, 0xd0, 0xcb, 0xe4, 0xc8, 0xc1, 0xe1, 0xc3, 0xbd, 0xdd, +0xbd, 0xb8, 0xe5, 0xbe, 0xbc, 0x97, 0x8d, 0x7b, 0x00, 0x48, 0x00, 0x5b, 0x4c, 0x29, 0xeb, 0x73, +0x44, 0xb3, 0x3e, 0x16, 0x92, 0x26, 0x05, 0x97, 0x27, 0x04, 0xab, 0x32, 0x0d, 0xbc, 0x40, 0x19, +0xb5, 0x3a, 0x14, 0x99, 0x28, 0x05, 0x7d, 0x1c, 0x00, 0x82, 0x1f, 0x01, 0xb9, 0x37, 0x0d, 0xaf, +0x30, 0x07, 0x8a, 0x1f, 0x00, 0x70, 0x19, 0x00, 0x69, 0x18, 0x00, 0x67, 0x18, 0x00, 0x64, 0x17, +0x00, 0x61, 0x16, 0x00, 0x60, 0x15, 0x01, 0x55, 0x11, 0x02, 0x0c, 0x26, 0x01, 0x11, 0x48, 0x09, +0x8b, 0x57, 0x4a, 0x95, 0x56, 0x4d, 0x72, 0x3a, 0x2d, 0x59, 0x40, 0x40, 0x23, 0x33, 0x44, 0x2d, +0x3a, 0x4b, 0x30, 0x3f, 0x52, 0x35, 0x44, 0x59, 0x39, 0x4a, 0x5f, 0x3a, 0x50, 0x67, 0x3b, 0x54, +0x6f, 0x39, 0x57, 0x78, 0x33, 0x5a, 0x81, 0x31, 0x5e, 0x89, 0x3c, 0x63, 0x8a, 0x5d, 0x6b, 0x7f, +0x93, 0x74, 0x66, 0xcb, 0x7d, 0x4d, 0xf6, 0x81, 0x3a, 0xff, 0x84, 0x32, 0xff, 0x86, 0x36, 0xff, +0x8b, 0x3f, 0xff, 0x9c, 0x55, 0xff, 0xbd, 0x77, 0xff, 0x98, 0x55, 0xe3, 0x56, 0x27, 0xa8, 0x3d, +0x24, 0xe7, 0xd3, 0xd0, 0xf9, 0xec, 0xe9, 0xf4, 0xe2, 0xde, 0xf1, 0xdd, 0xda, 0xef, 0xd9, 0xd6, +0xed, 0xd6, 0xd1, 0xeb, 0xd3, 0xcf, 0xe8, 0xcd, 0xc8, 0xe5, 0xc8, 0xc2, 0xe1, 0xc2, 0xbd, 0xdd, +0xbc, 0xb7, 0xe5, 0xc0, 0xbb, 0xa8, 0x97, 0x8b, 0x0c, 0x41, 0x08, 0xcb, 0x80, 0x4d, 0xcc, 0x54, +0x29, 0x9b, 0x2d, 0x09, 0x90, 0x24, 0x03, 0xa6, 0x2f, 0x0a, 0xb7, 0x39, 0x10, 0xc1, 0x43, 0x1a, +0xb9, 0x3d, 0x15, 0x9d, 0x29, 0x06, 0x85, 0x1e, 0x00, 0x8c, 0x22, 0x01, 0xb9, 0x37, 0x0b, 0xab, +0x2e, 0x05, 0x8c, 0x20, 0x00, 0x73, 0x1a, 0x00, 0x6b, 0x18, 0x00, 0x68, 0x18, 0x00, 0x65, 0x17, +0x00, 0x62, 0x16, 0x00, 0x5f, 0x14, 0x00, 0x61, 0x13, 0x00, 0x31, 0x21, 0x01, 0x16, 0x34, 0x10, +0x95, 0x5b, 0x4e, 0x97, 0x5a, 0x4f, 0x6c, 0x34, 0x28, 0x70, 0x43, 0x3b, 0x2c, 0x32, 0x3e, 0x26, +0x32, 0x41, 0x2e, 0x3a, 0x48, 0x31, 0x3e, 0x4e, 0x35, 0x42, 0x54, 0x38, 0x48, 0x5c, 0x39, 0x4e, +0x64, 0x47, 0x59, 0x6d, 0x70, 0x6d, 0x72, 0xa2, 0x7e, 0x69, 0xd5, 0x89, 0x56, 0xfc, 0x8e, 0x44, +0xff, 0x8c, 0x3a, 0xff, 0x89, 0x37, 0xff, 0x85, 0x38, 0xff, 0x84, 0x39, 0xff, 0x88, 0x3d, 0xff, +0x95, 0x4b, 0xff, 0xb1, 0x6c, 0xff, 0xb4, 0x6f, 0xfb, 0x73, 0x38, 0xbd, 0x37, 0x13, 0xba, 0x75, +0x67, 0xf9, 0xf3, 0xf2, 0xf6, 0xe6, 0xe3, 0xf5, 0xe2, 0xdf, 0xf1, 0xde, 0xdb, 0xef, 0xd9, 0xd5, +0xed, 0xd6, 0xd1, 0xea, 0xd1, 0xcc, 0xe7, 0xcc, 0xc6, 0xe4, 0xc7, 0xc1, 0xdf, 0xbf, 0xba, 0xdd, +0xbb, 0xb5, 0xe2, 0xbe, 0xb8, 0xbf, 0xa9, 0xa1, 0x7f, 0x67, 0x41, 0xe6, 0x74, 0x46, 0xab, 0x3b, +0x14, 0x8d, 0x24, 0x03, 0x98, 0x28, 0x05, 0xb3, 0x37, 0x0f, 0xc0, 0x3f, 0x15, 0xc5, 0x44, 0x1a, +0xba, 0x3b, 0x12, 0xa5, 0x2c, 0x05, 0x8b, 0x1f, 0x00, 0x93, 0x25, 0x01, 0xb6, 0x37, 0x0a, 0xa8, +0x2e, 0x04, 0x8d, 0x21, 0x00, 0x75, 0x1a, 0x00, 0x6c, 0x18, 0x00, 0x69, 0x18, 0x00, 0x66, 0x17, +0x00, 0x63, 0x16, 0x00, 0x60, 0x15, 0x00, 0x5e, 0x13, 0x00, 0x50, 0x13, 0x00, 0x43, 0x31, 0x20, +0x99, 0x5c, 0x4f, 0x98, 0x5c, 0x50, 0x68, 0x31, 0x24, 0x77, 0x3f, 0x34, 0x56, 0x3e, 0x3e, 0x25, +0x2e, 0x39, 0x2c, 0x32, 0x3d, 0x33, 0x37, 0x40, 0x3b, 0x38, 0x40, 0x47, 0x39, 0x3d, 0x5b, 0x3f, +0x40, 0xcd, 0x8f, 0x63, 0xff, 0xad, 0x65, 0xff, 0xa0, 0x54, 0xff, 0x9a, 0x4c, 0xff, 0x91, 0x46, +0xff, 0x8b, 0x3f, 0xff, 0x88, 0x3c, 0xff, 0x86, 0x3a, 0xff, 0x88, 0x3c, 0xff, 0x90, 0x44, 0xff, +0xa2, 0x5b, 0xff, 0xbd, 0x78, 0xff, 0x95, 0x53, 0xe3, 0x55, 0x25, 0xa4, 0x2b, 0x0f, 0xd9, 0xb7, +0xb0, 0xfa, 0xf3, 0xf1, 0xf6, 0xe6, 0xe2, 0xf5, 0xe2, 0xdf, 0xf1, 0xdd, 0xda, 0xef, 0xd9, 0xd4, +0xec, 0xd5, 0xd0, 0xe9, 0xcf, 0xcb, 0xe6, 0xca, 0xc5, 0xe3, 0xc4, 0xbe, 0xe0, 0xbe, 0xb9, 0xde, +0xbc, 0xb5, 0xde, 0xba, 0xb4, 0xde, 0xb9, 0xb1, 0xea, 0x8f, 0x67, 0xc2, 0x51, 0x28, 0x96, 0x2c, +0x08, 0x8d, 0x23, 0x02, 0xa5, 0x30, 0x0a, 0xbb, 0x3d, 0x14, 0xc5, 0x44, 0x1a, 0xc7, 0x45, 0x1a, +0xbf, 0x3c, 0x10, 0xad, 0x2e, 0x04, 0x90, 0x21, 0x00, 0x94, 0x24, 0x01, 0xb3, 0x34, 0x08, 0xa6, +0x2c, 0x03, 0x8d, 0x20, 0x00, 0x77, 0x1b, 0x00, 0x6e, 0x18, 0x00, 0x6b, 0x18, 0x00, 0x66, 0x17, +0x00, 0x63, 0x16, 0x01, 0x61, 0x15, 0x01, 0x5d, 0x14, 0x00, 0x58, 0x10, 0x00, 0x70, 0x30, 0x20, +0x94, 0x59, 0x4d, 0x92, 0x57, 0x4a, 0x69, 0x31, 0x25, 0x6e, 0x37, 0x2c, 0x79, 0x46, 0x3d, 0x6a, +0x4a, 0x44, 0x59, 0x3f, 0x3a, 0x56, 0x39, 0x33, 0x57, 0x36, 0x2e, 0x60, 0x37, 0x2e, 0x71, 0x41, +0x38, 0xe3, 0x9e, 0x67, 0xff, 0xb0, 0x6a, 0xff, 0x9f, 0x5b, 0xff, 0x99, 0x50, 0xff, 0x93, 0x47, +0xff, 0x8c, 0x41, 0xff, 0x88, 0x3c, 0xff, 0x89, 0x3d, 0xff, 0x8e, 0x41, 0xff, 0x98, 0x4e, 0xff, +0xb3, 0x6e, 0xff, 0xb2, 0x6e, 0xfc, 0x77, 0x3c, 0xc2, 0x3c, 0x18, 0xa6, 0x42, 0x2d, 0xec, 0xde, +0xdc, 0xf7, 0xeb, 0xe9, 0xf6, 0xe6, 0xe2, 0xf4, 0xe2, 0xdf, 0xf1, 0xdc, 0xd9, 0xee, 0xd8, 0xd4, +0xec, 0xd3, 0xcf, 0xe9, 0xcf, 0xcb, 0xe6, 0xca, 0xc5, 0xe3, 0xc3, 0xbe, 0xe0, 0xbe, 0xb8, 0xdf, +0xbc, 0xb5, 0xdc, 0xba, 0xb5, 0xea, 0xab, 0x93, 0xdc, 0x6d, 0x44, 0xa6, 0x3a, 0x15, 0x8c, 0x24, +0x02, 0x99, 0x29, 0x05, 0xb4, 0x39, 0x13, 0xbf, 0x41, 0x18, 0xc6, 0x46, 0x1c, 0xc6, 0x44, 0x18, +0xc2, 0x3c, 0x0e, 0xaf, 0x2e, 0x03, 0x95, 0x24, 0x00, 0x9a, 0x27, 0x01, 0xb1, 0x32, 0x07, 0xa4, +0x2b, 0x03, 0x8b, 0x20, 0x00, 0x78, 0x1b, 0x00, 0x6f, 0x18, 0x00, 0x6c, 0x18, 0x00, 0x68, 0x17, +0x00, 0x65, 0x16, 0x00, 0x62, 0x15, 0x00, 0x5e, 0x14, 0x00, 0x5a, 0x12, 0x00, 0x5c, 0x18, 0x05, +0x86, 0x4a, 0x3c, 0x8d, 0x53, 0x46, 0x70, 0x39, 0x2d, 0x6c, 0x35, 0x29, 0x72, 0x3d, 0x32, 0x7d, +0x4c, 0x43, 0x77, 0x4f, 0x47, 0x6a, 0x45, 0x3e, 0x66, 0x40, 0x38, 0x6a, 0x3f, 0x38, 0x7b, 0x4a, +0x40, 0xeb, 0xab, 0x6f, 0xff, 0xb2, 0x6c, 0xff, 0xa4, 0x60, 0xff, 0x9c, 0x54, 0xff, 0x94, 0x49, +0xff, 0x8f, 0x43, 0xff, 0x8b, 0x40, 0xff, 0x8d, 0x41, 0xff, 0x95, 0x49, 0xff, 0xa3, 0x5c, 0xff, +0xbc, 0x76, 0xff, 0x9b, 0x59, 0xec, 0x5f, 0x2e, 0xaa, 0x2b, 0x0e, 0xb6, 0x6d, 0x5e, 0xf2, 0xeb, +0xe9, 0xf6, 0xe9, 0xe6, 0xf6, 0xe6, 0xe2, 0xf4, 0xe1, 0xdd, 0xf1, 0xdd, 0xd9, 0xef, 0xd9, 0xd4, +0xeb, 0xd3, 0xce, 0xe9, 0xcd, 0xca, 0xe6, 0xca, 0xc4, 0xe2, 0xc3, 0xbd, 0xe0, 0xbe, 0xb8, 0xde, +0xba, 0xb4, 0xe0, 0xb6, 0xad, 0xeb, 0x8b, 0x67, 0xbd, 0x50, 0x2b, 0x95, 0x2d, 0x09, 0x8e, 0x24, +0x02, 0xa8, 0x32, 0x0a, 0xbe, 0x43, 0x19, 0xc1, 0x45, 0x1c, 0xc5, 0x46, 0x1c, 0xc4, 0x42, 0x16, +0xbf, 0x3a, 0x0d, 0xaf, 0x2f, 0x03, 0x9d, 0x25, 0x00, 0xa2, 0x29, 0x01, 0xb0, 0x31, 0x06, 0xa1, +0x2a, 0x03, 0x89, 0x21, 0x00, 0x79, 0x1d, 0x00, 0x71, 0x19, 0x00, 0x6d, 0x19, 0x00, 0x6a, 0x18, +0x00, 0x66, 0x17, 0x00, 0x63, 0x15, 0x00, 0x60, 0x15, 0x00, 0x5b, 0x13, 0x00, 0x54, 0x10, 0x00, +0x6a, 0x2a, 0x1a, 0x8a, 0x4e, 0x42, 0x83, 0x4c, 0x40, 0x6e, 0x38, 0x2b, 0x70, 0x39, 0x2d, 0x76, +0x41, 0x38, 0x7b, 0x4b, 0x42, 0x76, 0x4a, 0x42, 0x72, 0x46, 0x3e, 0x71, 0x42, 0x3b, 0x91, 0x61, +0x4d, 0xfb, 0xc1, 0x7a, 0xff, 0xb4, 0x6f, 0xff, 0xa8, 0x64, 0xff, 0x9f, 0x57, 0xff, 0x97, 0x4c, +0xff, 0x91, 0x45, 0xff, 0x8f, 0x44, 0xff, 0x93, 0x47, 0xff, 0x9b, 0x51, 0xff, 0xaf, 0x69, 0xff, +0xb6, 0x70, 0xff, 0x83, 0x45, 0xd6, 0x4c, 0x24, 0xa1, 0x26, 0x0c, 0xc2, 0x90, 0x87, 0xf1, 0xe8, +0xe6, 0xf6, 0xe8, 0xe5, 0xf6, 0xe6, 0xe2, 0xf3, 0xe0, 0xdd, 0xf2, 0xde, 0xda, 0xef, 0xda, 0xd5, +0xec, 0xd3, 0xce, 0xe9, 0xcd, 0xc8, 0xe5, 0xc8, 0xc3, 0xe2, 0xc1, 0xbc, 0xe0, 0xbd, 0xb6, 0xdd, +0xbb, 0xb6, 0xea, 0xa3, 0x8b, 0xd6, 0x68, 0x43, 0xa6, 0x3c, 0x17, 0x91, 0x28, 0x06, 0x9d, 0x2d, +0x07, 0xb7, 0x3d, 0x13, 0xc3, 0x49, 0x1f, 0xc3, 0x48, 0x1f, 0xc3, 0x44, 0x19, 0xc1, 0x40, 0x14, +0xbd, 0x39, 0x0b, 0xac, 0x2d, 0x02, 0xa0, 0x26, 0x00, 0xa3, 0x28, 0x00, 0xaa, 0x2e, 0x04, 0x9d, +0x28, 0x02, 0x89, 0x20, 0x00, 0x7b, 0x1d, 0x00, 0x73, 0x1a, 0x00, 0x6f, 0x1a, 0x00, 0x6b, 0x19, +0x00, 0x67, 0x17, 0x00, 0x63, 0x16, 0x01, 0x61, 0x15, 0x00, 0x5d, 0x13, 0x00, 0x57, 0x12, 0x00, +0x55, 0x13, 0x02, 0x7c, 0x40, 0x32, 0xa7, 0x6c, 0x61, 0x7b, 0x43, 0x37, 0x71, 0x39, 0x2d, 0x74, +0x3e, 0x33, 0x78, 0x45, 0x3a, 0x7a, 0x48, 0x3e, 0x7a, 0x49, 0x3f, 0x75, 0x42, 0x3b, 0xb3, 0x8a, +0x58, 0xfc, 0xd2, 0x82, 0xff, 0xb8, 0x72, 0xff, 0xac, 0x67, 0xff, 0xa2, 0x5c, 0xff, 0x9a, 0x4f, +0xff, 0x94, 0x4a, 0xff, 0x94, 0x49, 0xff, 0x99, 0x4e, 0xff, 0xa1, 0x5a, 0xff, 0xb7, 0x71, 0xff, +0xa7, 0x63, 0xf9, 0x6f, 0x38, 0xc2, 0x3d, 0x1c, 0x9c, 0x2d, 0x16, 0xce, 0xae, 0xaa, 0xf1, 0xe6, +0xe4, 0xf7, 0xe9, 0xe7, 0xf6, 0xe5, 0xe1, 0xf4, 0xe0, 0xdd, 0xf2, 0xde, 0xda, 0xef, 0xda, 0xd4, +0xeb, 0xd4, 0xcf, 0xe9, 0xce, 0xc8, 0xe5, 0xc7, 0xc1, 0xe2, 0xc1, 0xbb, 0xdf, 0xbe, 0xb8, 0xe4, +0xb4, 0xa8, 0xe9, 0x81, 0x5f, 0xba, 0x4f, 0x2a, 0x98, 0x2f, 0x0b, 0x98, 0x2d, 0x0a, 0xb0, 0x3b, +0x13, 0xc2, 0x48, 0x1d, 0xc7, 0x4d, 0x23, 0xc4, 0x47, 0x1d, 0xc2, 0x42, 0x16, 0xbf, 0x3d, 0x10, +0xbb, 0x37, 0x09, 0xad, 0x2d, 0x02, 0xa1, 0x28, 0x00, 0xa1, 0x28, 0x00, 0xa6, 0x2b, 0x02, 0x9b, +0x27, 0x02, 0x88, 0x20, 0x00, 0x7b, 0x1d, 0x00, 0x75, 0x1b, 0x00, 0x71, 0x1a, 0x00, 0x6d, 0x1a, +0x00, 0x69, 0x19, 0x00, 0x64, 0x17, 0x00, 0x62, 0x15, 0x00, 0x5e, 0x14, 0x00, 0x5a, 0x13, 0x00, +0x52, 0x0f, 0x00, 0x60, 0x22, 0x12, 0xd4, 0x92, 0x85, 0x9c, 0x61, 0x55, 0x79, 0x42, 0x36, 0x74, +0x3d, 0x32, 0x78, 0x43, 0x38, 0x7c, 0x47, 0x3c, 0x7a, 0x46, 0x3b, 0x8b, 0x54, 0x44, 0xc4, 0x93, +0x37, 0xf3, 0xd2, 0x7f, 0xff, 0xbd, 0x75, 0xff, 0xb1, 0x6c, 0xff, 0xa5, 0x60, 0xff, 0x9d, 0x54, +0xff, 0x9b, 0x50, 0xff, 0x99, 0x4f, 0xff, 0x9d, 0x53, 0xff, 0xa8, 0x62, 0xff, 0xb8, 0x72, 0xff, +0x98, 0x54, 0xed, 0x5f, 0x2e, 0xb1, 0x31, 0x13, 0x9c, 0x3b, 0x28, 0xd8, 0xc2, 0xc0, 0xf3, 0xe7, +0xe5, 0xf7, 0xea, 0xe8, 0xf6, 0xe5, 0xe1, 0xf4, 0xe1, 0xdd, 0xf2, 0xde, 0xda, 0xef, 0xda, 0xd5, +0xec, 0xd4, 0xcf, 0xe9, 0xce, 0xc9, 0xe5, 0xc7, 0xc1, 0xe2, 0xc1, 0xbb, 0xe0, 0xbe, 0xb8, 0xee, +0x98, 0x7c, 0xd1, 0x63, 0x41, 0xa5, 0x3b, 0x15, 0x97, 0x2d, 0x09, 0xa9, 0x39, 0x13, 0xc0, 0x48, +0x1c, 0xc8, 0x4f, 0x22, 0xc9, 0x50, 0x25, 0xc4, 0x47, 0x1b, 0xc2, 0x3f, 0x12, 0xbf, 0x3c, 0x0e, +0xba, 0x36, 0x09, 0xaf, 0x2f, 0x03, 0xa1, 0x29, 0x00, 0xa0, 0x28, 0x00, 0xa5, 0x2b, 0x02, 0x9b, +0x27, 0x01, 0x88, 0x21, 0x00, 0x7d, 0x1d, 0x00, 0x77, 0x1b, 0x00, 0x73, 0x1a, 0x00, 0x6f, 0x1a, +0x00, 0x6c, 0x19, 0x00, 0x66, 0x18, 0x00, 0x63, 0x17, 0x00, 0x5f, 0x14, 0x00, 0x5b, 0x13, 0x00, +0x56, 0x12, 0x00, 0x4f, 0x10, 0x00, 0xdb, 0xa0, 0x93, 0xd7, 0xa3, 0x98, 0xa5, 0x6c, 0x61, 0x7f, +0x44, 0x38, 0x78, 0x3e, 0x31, 0x7c, 0x43, 0x37, 0x9c, 0x65, 0x4f, 0xc2, 0x79, 0x30, 0xc2, 0x79, +0x1a, 0xe6, 0xbb, 0x66, 0xff, 0xc1, 0x78, 0xff, 0xb5, 0x70, 0xff, 0xaa, 0x66, 0xff, 0xa0, 0x59, +0xff, 0x9e, 0x56, 0xff, 0x9e, 0x55, 0xff, 0x9f, 0x58, 0xff, 0xae, 0x68, 0xff, 0xb4, 0x6f, 0xff, +0x88, 0x49, 0xe0, 0x52, 0x28, 0xa7, 0x29, 0x0d, 0xa0, 0x4a, 0x39, 0xdf, 0xce, 0xcd, 0xf5, 0xe9, +0xe6, 0xf6, 0xea, 0xe8, 0xf6, 0xe6, 0xe3, 0xf5, 0xe1, 0xdd, 0xf3, 0xe1, 0xdd, 0xf2, 0xe8, 0xe6, +0xee, 0xd7, 0xd2, 0xeb, 0xcf, 0xca, 0xe6, 0xc7, 0xc1, 0xe1, 0xc2, 0xbe, 0xea, 0xad, 0x9a, 0xe5, +0x74, 0x51, 0xb6, 0x4a, 0x26, 0x9a, 0x30, 0x0b, 0xa0, 0x33, 0x0f, 0xba, 0x46, 0x1f, 0xca, 0x51, +0x25, 0xcc, 0x55, 0x27, 0xc9, 0x50, 0x24, 0xc4, 0x46, 0x18, 0xc2, 0x3f, 0x10, 0xbf, 0x3b, 0x0c, +0xbb, 0x37, 0x08, 0xaf, 0x2f, 0x02, 0xa3, 0x29, 0x00, 0xa0, 0x28, 0x00, 0xa4, 0x2a, 0x01, 0x9a, +0x27, 0x01, 0x89, 0x21, 0x00, 0x80, 0x1e, 0x00, 0x79, 0x1b, 0x00, 0x75, 0x1b, 0x00, 0x71, 0x1a, +0x00, 0x6d, 0x19, 0x00, 0x69, 0x18, 0x00, 0x64, 0x17, 0x00, 0x61, 0x16, 0x00, 0x5b, 0x13, 0x00, +0x57, 0x12, 0x00, 0x51, 0x10, 0x00, 0x90, 0x5a, 0x50, 0xb2, 0x84, 0x7a, 0xd9, 0xb1, 0x89, 0xd3, +0xa7, 0x77, 0xc5, 0x94, 0x69, 0xcb, 0x94, 0x5a, 0xc8, 0x7d, 0x26, 0xc3, 0x73, 0x17, 0xc2, 0x75, +0x1e, 0xcf, 0x91, 0x41, 0xfe, 0xca, 0x7f, 0xff, 0xba, 0x75, 0xff, 0xb2, 0x6d, 0xff, 0xa6, 0x61, +0xff, 0xa2, 0x5c, 0xff, 0xa1, 0x5a, 0xff, 0xa2, 0x5c, 0xff, 0xb3, 0x6d, 0xff, 0xae, 0x69, 0xfd, +0x7a, 0x40, 0xd1, 0x47, 0x22, 0x9f, 0x23, 0x08, 0xa5, 0x56, 0x48, 0xe1, 0xd2, 0xd0, 0xf5, 0xeb, +0xe8, 0xf6, 0xec, 0xea, 0xf6, 0xe9, 0xe7, 0xf5, 0xe1, 0xdc, 0xf4, 0xe6, 0xe3, 0xf5, 0xf5, 0xf6, +0xef, 0xdc, 0xd7, 0xeb, 0xd0, 0xcb, 0xe6, 0xc9, 0xc4, 0xe6, 0xbb, 0xb0, 0xed, 0x82, 0x61, 0xc8, +0x58, 0x35, 0xa2, 0x37, 0x11, 0x9c, 0x30, 0x0d, 0xb1, 0x41, 0x1c, 0xc8, 0x52, 0x28, 0xd0, 0x59, +0x2c, 0xcf, 0x59, 0x2b, 0xc9, 0x50, 0x21, 0xc5, 0x47, 0x17, 0xc3, 0x41, 0x11, 0xbf, 0x3a, 0x0b, +0xbb, 0x37, 0x09, 0xb0, 0x30, 0x03, 0xa4, 0x29, 0x00, 0xa0, 0x28, 0x00, 0xa4, 0x2a, 0x01, 0x9a, +0x26, 0x00, 0x8b, 0x21, 0x00, 0x82, 0x1f, 0x00, 0x7c, 0x1e, 0x00, 0x77, 0x1c, 0x00, 0x73, 0x1a, +0x00, 0x6f, 0x19, 0x00, 0x6a, 0x18, 0x00, 0x65, 0x17, 0x00, 0x62, 0x16, 0x00, 0x5d, 0x14, 0x00, +0x58, 0x12, 0x00, 0x54, 0x12, 0x01, 0xa8, 0x7e, 0x69, 0xd1, 0xa6, 0x67, 0xcf, 0x8c, 0x1c, 0xcb, +0x7c, 0x10, 0xc9, 0x77, 0x14, 0xc7, 0x76, 0x15, 0xc4, 0x73, 0x16, 0xc3, 0x73, 0x18, 0xc2, 0x76, +0x22, 0xbf, 0x75, 0x26, 0xf1, 0xc0, 0x71, 0xfe, 0xc1, 0x7a, 0xff, 0xbc, 0x75, 0xff, 0xae, 0x68, +0xff, 0xa6, 0x62, 0xff, 0xa3, 0x5d, 0xff, 0xa5, 0x60, 0xff, 0xb7, 0x71, 0xff, 0xa7, 0x63, 0xf7, +0x6e, 0x39, 0xc5, 0x40, 0x1e, 0x99, 0x20, 0x05, 0xa6, 0x5d, 0x50, 0xe1, 0xd0, 0xcf, 0xf5, 0xec, +0xe9, 0xf6, 0xee, 0xeb, 0xf6, 0xea, 0xe7, 0xf6, 0xe2, 0xdd, 0xf4, 0xe6, 0xe3, 0xf5, 0xf3, 0xf3, +0xf1, 0xdc, 0xd8, 0xeb, 0xd2, 0xcd, 0xe8, 0xcb, 0xc4, 0xf0, 0x8f, 0x73, 0xd8, 0x62, 0x3f, 0xae, +0x40, 0x1a, 0x9a, 0x2f, 0x0a, 0xa9, 0x3a, 0x16, 0xc2, 0x4e, 0x28, 0xd0, 0x5a, 0x30, 0xd4, 0x60, +0x33, 0xd0, 0x5b, 0x2c, 0xca, 0x50, 0x1e, 0xc7, 0x48, 0x16, 0xc4, 0x43, 0x14, 0xbf, 0x3b, 0x0b, +0xbc, 0x39, 0x0a, 0xb2, 0x30, 0x04, 0xa6, 0x2b, 0x01, 0xa3, 0x2a, 0x00, 0xa4, 0x2a, 0x01, 0x9a, +0x27, 0x00, 0x8d, 0x22, 0x00, 0x86, 0x1f, 0x00, 0x7f, 0x1e, 0x00, 0x7a, 0x1e, 0x00, 0x75, 0x1c, +0x00, 0x71, 0x1a, 0x00, 0x6c, 0x18, 0x00, 0x66, 0x17, 0x00, 0x62, 0x16, 0x00, 0x5e, 0x15, 0x00, +0x59, 0x13, 0x00, 0x55, 0x12, 0x01, 0xd7, 0xa9, 0x59, 0xd1, 0x97, 0x2f, 0xcc, 0x82, 0x14, 0xca, +0x79, 0x11, 0xc8, 0x75, 0x14, 0xc6, 0x73, 0x15, 0xc3, 0x72, 0x15, 0xc3, 0x74, 0x1a, 0xc3, 0x78, +0x25, 0xc0, 0x76, 0x22, 0xd4, 0x95, 0x42, 0xfe, 0xc9, 0x7e, 0xfe, 0xc9, 0x7d, 0xff, 0xb6, 0x6f, +0xff, 0xaa, 0x64, 0xff, 0xa6, 0x60, 0xff, 0xa9, 0x64, 0xff, 0xbb, 0x76, 0xff, 0xa0, 0x5f, 0xf1, +0x65, 0x36, 0xbb, 0x3c, 0x1d, 0x96, 0x21, 0x06, 0xa5, 0x5f, 0x53, 0xde, 0xcb, 0xca, 0xf5, 0xeb, +0xe8, 0xf6, 0xee, 0xeb, 0xf6, 0xeb, 0xe8, 0xf6, 0xe3, 0xdf, 0xf3, 0xe0, 0xdb, 0xf3, 0xe3, 0xe0, +0xf2, 0xdc, 0xd8, 0xec, 0xd7, 0xd2, 0xf2, 0xa0, 0x89, 0xe6, 0x69, 0x47, 0xbd, 0x4d, 0x27, 0xa1, +0x33, 0x0c, 0xa2, 0x34, 0x10, 0xbb, 0x49, 0x25, 0xce, 0x59, 0x32, 0xd4, 0x60, 0x36, 0xd5, 0x63, +0x37, 0xd1, 0x5b, 0x2b, 0xcb, 0x50, 0x1c, 0xc8, 0x4b, 0x19, 0xc6, 0x45, 0x14, 0xc0, 0x3a, 0x08, +0xbd, 0x39, 0x09, 0xb3, 0x31, 0x04, 0xa8, 0x2b, 0x01, 0xa5, 0x2a, 0x01, 0xa4, 0x2a, 0x01, 0x9b, +0x28, 0x00, 0x90, 0x23, 0x00, 0x88, 0x20, 0x00, 0x83, 0x1f, 0x00, 0x7d, 0x1e, 0x00, 0x78, 0x1d, +0x00, 0x73, 0x1b, 0x00, 0x6d, 0x19, 0x00, 0x68, 0x17, 0x00, 0x63, 0x16, 0x00, 0x5f, 0x15, 0x00, +0x5a, 0x14, 0x00, 0x55, 0x13, 0x01, 0xd4, 0x9e, 0x41, 0xcf, 0x80, 0x15, 0xcb, 0x74, 0x0f, 0xc9, +0x74, 0x11, 0xc7, 0x74, 0x14, 0xc4, 0x73, 0x14, 0xc2, 0x73, 0x15, 0xc3, 0x76, 0x1e, 0xc1, 0x78, +0x25, 0xbe, 0x75, 0x1e, 0xbc, 0x74, 0x1d, 0xeb, 0xb9, 0x6a, 0xfe, 0xd6, 0x85, 0xff, 0xc1, 0x77, +0xff, 0xaa, 0x66, 0xff, 0xa7, 0x62, 0xff, 0xaf, 0x69, 0xfe, 0xc0, 0x7c, 0xff, 0x9a, 0x5c, 0xeb, +0x5f, 0x33, 0xb5, 0x38, 0x1a, 0x94, 0x21, 0x05, 0xa1, 0x5b, 0x50, 0xdb, 0xc5, 0xc4, 0xf5, 0xea, +0xe6, 0xf6, 0xef, 0xeb, 0xf6, 0xeb, 0xe8, 0xf6, 0xe6, 0xe3, 0xf5, 0xe0, 0xdb, 0xf3, 0xde, 0xd9, +0xf0, 0xe1, 0xdd, 0xf2, 0xaa, 0x95, 0xef, 0x6c, 0x4a, 0xcc, 0x57, 0x35, 0xac, 0x3a, 0x13, 0xa1, +0x33, 0x0e, 0xb3, 0x40, 0x1d, 0xcc, 0x58, 0x34, 0xd4, 0x60, 0x3a, 0xd4, 0x62, 0x38, 0xd5, 0x62, +0x35, 0xd2, 0x5b, 0x2a, 0xcc, 0x51, 0x1d, 0xc9, 0x4c, 0x1a, 0xc5, 0x45, 0x13, 0xbf, 0x3b, 0x0b, +0xbc, 0x38, 0x09, 0xb4, 0x32, 0x04, 0xab, 0x2c, 0x02, 0xa7, 0x2a, 0x01, 0xa5, 0x2a, 0x01, 0x9c, +0x28, 0x00, 0x92, 0x24, 0x00, 0x8b, 0x22, 0x00, 0x86, 0x20, 0x00, 0x7f, 0x1e, 0x00, 0x7a, 0x1d, +0x00, 0x75, 0x1b, 0x00, 0x6f, 0x1a, 0x00, 0x6a, 0x18, 0x00, 0x65, 0x16, 0x00, 0x60, 0x15, 0x00, +0x5b, 0x14, 0x00, 0x56, 0x14, 0x01, 0xd1, 0x8f, 0x29, 0xcd, 0x75, 0x0f, 0xca, 0x71, 0x0e, 0xc8, +0x73, 0x11, 0xc7, 0x73, 0x13, 0xc4, 0x72, 0x13, 0xc2, 0x74, 0x16, 0xc3, 0x78, 0x20, 0xc1, 0x78, +0x21, 0xbe, 0x75, 0x1c, 0xbb, 0x73, 0x1a, 0xc7, 0x89, 0x31, 0xfc, 0xd5, 0x86, 0xfe, 0xcb, 0x7e, +0xff, 0xac, 0x66, 0xff, 0xa8, 0x63, 0xff, 0xb4, 0x6e, 0xfe, 0xc3, 0x80, 0xff, 0x93, 0x59, 0xe8, +0x59, 0x31, 0xb4, 0x36, 0x18, 0x92, 0x1f, 0x04, 0x9b, 0x52, 0x47, 0xd7, 0xbe, 0xbe, 0xf5, 0xe8, +0xe5, 0xf7, 0xee, 0xea, 0xf6, 0xe9, 0xe7, 0xf6, 0xe6, 0xe2, 0xf6, 0xe3, 0xde, 0xf2, 0xe4, 0xe1, +0xf3, 0xaf, 0x9a, 0xf1, 0x6b, 0x47, 0xd8, 0x5e, 0x3d, 0xb5, 0x41, 0x1b, 0xa5, 0x35, 0x0f, 0xab, +0x3b, 0x17, 0xc5, 0x50, 0x2d, 0xd4, 0x5f, 0x3a, 0xd8, 0x67, 0x42, 0xd4, 0x62, 0x37, 0xd3, 0x5e, +0x2f, 0xd1, 0x59, 0x27, 0xcc, 0x50, 0x1c, 0xca, 0x4d, 0x1a, 0xc3, 0x44, 0x12, 0xbf, 0x3e, 0x0e, +0xbc, 0x3a, 0x0b, 0xb7, 0x35, 0x07, 0xad, 0x2e, 0x03, 0xa9, 0x2c, 0x01, 0xa6, 0x2b, 0x00, 0x9e, +0x28, 0x00, 0x96, 0x24, 0x00, 0x8f, 0x22, 0x00, 0x88, 0x21, 0x00, 0x82, 0x20, 0x00, 0x7c, 0x1e, +0x00, 0x77, 0x1c, 0x00, 0x72, 0x1a, 0x00, 0x6c, 0x18, 0x00, 0x66, 0x16, 0x00, 0x61, 0x15, 0x00, +0x5c, 0x13, 0x00, 0x57, 0x13, 0x01, 0xcf, 0x7f, 0x19, 0xcb, 0x72, 0x0e, 0xcb, 0x72, 0x11, 0xe0, +0x7b, 0x2a, 0xd9, 0x5d, 0x18, 0xc9, 0x64, 0x19, 0xc4, 0x72, 0x1a, 0xc3, 0x78, 0x21, 0xc1, 0x76, +0x1d, 0xbd, 0x73, 0x19, 0xbc, 0x74, 0x19, 0xb9, 0x74, 0x1b, 0xdc, 0xa2, 0x50, 0xfe, 0xcf, 0x82, +0xff, 0xae, 0x67, 0xff, 0xa9, 0x64, 0xff, 0xb9, 0x73, 0xff, 0xc4, 0x81, 0xff, 0x90, 0x56, 0xe7, +0x5a, 0x31, 0xb9, 0x39, 0x18, 0x96, 0x22, 0x04, 0x95, 0x45, 0x37, 0xd0, 0xb2, 0xb1, 0xf1, 0xe2, +0xdf, 0xf7, 0xed, 0xea, 0xf6, 0xe8, 0xe5, 0xf6, 0xe7, 0xe4, 0xf5, 0xe5, 0xe1, 0xf6, 0xac, 0x91, +0xf2, 0x6b, 0x45, 0xe0, 0x62, 0x40, 0xc1, 0x4a, 0x23, 0xab, 0x38, 0x11, 0xaa, 0x39, 0x15, 0xbc, +0x4a, 0x27, 0xd1, 0x5d, 0x3a, 0xd7, 0x63, 0x3d, 0xd7, 0x69, 0x42, 0xd4, 0x61, 0x34, 0xd1, 0x58, +0x25, 0xd0, 0x56, 0x21, 0xcc, 0x50, 0x1b, 0xc7, 0x4b, 0x19, 0xc4, 0x41, 0x0e, 0xc0, 0x3e, 0x0d, +0xbb, 0x38, 0x08, 0xb7, 0x34, 0x07, 0xae, 0x2e, 0x04, 0xac, 0x2d, 0x01, 0xa8, 0x2b, 0x01, 0x9f, +0x27, 0x00, 0x99, 0x25, 0x00, 0x92, 0x23, 0x00, 0x8c, 0x21, 0x00, 0x85, 0x20, 0x00, 0x7f, 0x1f, +0x00, 0x79, 0x1d, 0x00, 0x74, 0x1a, 0x00, 0x6e, 0x19, 0x00, 0x68, 0x17, 0x00, 0x62, 0x15, 0x00, +0x5d, 0x14, 0x00, 0x58, 0x13, 0x00, 0xce, 0x75, 0x10, 0xcb, 0x6f, 0x0d, 0xd4, 0x87, 0x2d, 0xfc, +0x85, 0x41, 0xfb, 0x5e, 0x25, 0xf0, 0x58, 0x22, 0xe3, 0x5b, 0x23, 0xd3, 0x65, 0x23, 0xc6, 0x6f, +0x1c, 0xbc, 0x74, 0x17, 0xbb, 0x75, 0x19, 0xba, 0x76, 0x1a, 0xb9, 0x77, 0x1e, 0xf1, 0xc2, 0x74, +0xff, 0xaf, 0x68, 0xff, 0xab, 0x67, 0xff, 0xbf, 0x78, 0xfe, 0xc4, 0x80, 0xff, 0x8f, 0x55, 0xec, +0x5e, 0x35, 0xc7, 0x42, 0x1c, 0xa7, 0x2f, 0x0a, 0x96, 0x38, 0x23, 0xc0, 0x9a, 0x9b, 0xeb, 0xd7, +0xd4, 0xf6, 0xeb, 0xe8, 0xf6, 0xed, 0xec, 0xf6, 0xe1, 0xda, 0xf7, 0x9f, 0x7e, 0xf2, 0x67, 0x3d, +0xe2, 0x62, 0x3f, 0xc9, 0x50, 0x2a, 0xb2, 0x3c, 0x14, 0xac, 0x3a, 0x14, 0xb6, 0x44, 0x1f, 0xcb, +0x58, 0x35, 0xd5, 0x63, 0x3f, 0xd8, 0x66, 0x40, 0xd5, 0x65, 0x3c, 0xd2, 0x5d, 0x2d, 0xcf, 0x54, +0x1f, 0xcf, 0x52, 0x1b, 0xcb, 0x4f, 0x19, 0xc6, 0x47, 0x12, 0xc3, 0x40, 0x0c, 0xbd, 0x3b, 0x0b, +0xba, 0x36, 0x08, 0xb3, 0x31, 0x04, 0xad, 0x2e, 0x03, 0xac, 0x2d, 0x00, 0xa8, 0x2c, 0x00, 0xa0, +0x28, 0x00, 0x9b, 0x26, 0x00, 0x94, 0x23, 0x00, 0x8e, 0x22, 0x00, 0x88, 0x20, 0x01, 0x81, 0x1f, +0x00, 0x7b, 0x1e, 0x00, 0x75, 0x1b, 0x00, 0x70, 0x19, 0x00, 0x69, 0x18, 0x00, 0x63, 0x16, 0x00, +0x5e, 0x14, 0x00, 0x59, 0x13, 0x00, 0xcd, 0x6f, 0x0c, 0xcb, 0x6f, 0x0e, 0xe1, 0x9d, 0x4b, 0xff, +0x8f, 0x4b, 0xff, 0x72, 0x33, 0xfd, 0x5f, 0x26, 0xf9, 0x59, 0x21, 0xef, 0x57, 0x22, 0xe6, 0x57, +0x23, 0xd8, 0x5f, 0x22, 0xc9, 0x69, 0x1e, 0xbe, 0x73, 0x1a, 0xb8, 0x77, 0x1c, 0xe8, 0xbc, 0x6c, +0xff, 0xae, 0x69, 0xff, 0xae, 0x69, 0xfe, 0xc6, 0x7c, 0xff, 0xc2, 0x7e, 0xff, 0x92, 0x58, 0xf4, +0x68, 0x3b, 0xdd, 0x52, 0x27, 0xc9, 0x47, 0x1a, 0xb5, 0x3e, 0x15, 0xb5, 0x75, 0x6b, 0xd8, 0xc0, +0xc1, 0xf0, 0xe2, 0xe0, 0xf8, 0xcd, 0xb9, 0xf8, 0x8b, 0x62, 0xef, 0x62, 0x37, 0xe0, 0x5f, 0x3b, +0xcc, 0x53, 0x2c, 0xb6, 0x3f, 0x17, 0xac, 0x3b, 0x14, 0xb2, 0x42, 0x1d, 0xc4, 0x50, 0x2c, 0xd3, +0x5f, 0x3b, 0xd5, 0x62, 0x3b, 0xd6, 0x64, 0x3c, 0xd3, 0x61, 0x36, 0xcf, 0x57, 0x25, 0xcd, 0x51, +0x1b, 0xcc, 0x4f, 0x18, 0xc9, 0x4d, 0x17, 0xc3, 0x43, 0x0f, 0xc0, 0x3f, 0x0d, 0xbb, 0x39, 0x09, +0xb7, 0x35, 0x07, 0xb3, 0x30, 0x02, 0xae, 0x2e, 0x02, 0xae, 0x2e, 0x01, 0xa9, 0x2b, 0x00, 0xa2, +0x28, 0x00, 0x9d, 0x27, 0x00, 0x96, 0x24, 0x00, 0x90, 0x23, 0x00, 0x8b, 0x21, 0x01, 0x84, 0x1f, +0x01, 0x7d, 0x1e, 0x00, 0x77, 0x1c, 0x00, 0x71, 0x1a, 0x00, 0x6b, 0x18, 0x00, 0x65, 0x16, 0x00, +0x5f, 0x14, 0x00, 0x5a, 0x13, 0x00, 0xcc, 0x6e, 0x0b, 0xcb, 0x6f, 0x0e, 0xec, 0xaa, 0x5b, 0xff, +0x94, 0x4f, 0xff, 0x7d, 0x38, 0xff, 0x69, 0x2c, 0xfd, 0x5e, 0x25, 0xf9, 0x58, 0x21, 0xf6, 0x57, +0x20, 0xf0, 0x56, 0x21, 0xed, 0x56, 0x22, 0xe7, 0x57, 0x21, 0xd3, 0x65, 0x22, 0xed, 0xaf, 0x65, +0xff, 0xb2, 0x6c, 0xff, 0xb0, 0x6b, 0xfe, 0xc9, 0x7e, 0xfe, 0xc0, 0x7b, 0xff, 0x99, 0x5b, 0xfe, +0x7e, 0x49, 0xf9, 0x70, 0x3a, 0xf0, 0x63, 0x2c, 0xe6, 0x5d, 0x26, 0xe4, 0x67, 0x35, 0xe7, 0x8e, +0x6a, 0xf7, 0x9c, 0x72, 0xf9, 0x7a, 0x48, 0xec, 0x63, 0x3a, 0xdb, 0x59, 0x33, 0xcd, 0x52, 0x2b, +0xbb, 0x43, 0x1b, 0xae, 0x3b, 0x14, 0xb1, 0x40, 0x1b, 0xbf, 0x4b, 0x27, 0xcf, 0x5a, 0x37, 0xd5, +0x61, 0x3c, 0xd6, 0x61, 0x3a, 0xd4, 0x60, 0x36, 0xd0, 0x5c, 0x2e, 0xcc, 0x53, 0x1f, 0xcb, 0x4f, +0x18, 0xca, 0x4c, 0x16, 0xc6, 0x49, 0x14, 0xc0, 0x40, 0x0c, 0xbd, 0x3c, 0x0b, 0xb9, 0x36, 0x07, +0xb5, 0x33, 0x06, 0xb3, 0x30, 0x02, 0xaf, 0x2e, 0x01, 0xaf, 0x2d, 0x02, 0xab, 0x2c, 0x01, 0xa4, +0x29, 0x00, 0x9d, 0x26, 0x00, 0x98, 0x24, 0x00, 0x92, 0x23, 0x00, 0x8c, 0x21, 0x00, 0x86, 0x20, +0x01, 0x7f, 0x1e, 0x00, 0x78, 0x1c, 0x00, 0x72, 0x1a, 0x00, 0x6c, 0x18, 0x00, 0x66, 0x17, 0x00, +0x60, 0x15, 0x00, 0x5a, 0x13, 0x00, 0xcc, 0x6e, 0x0b, 0xcb, 0x70, 0x0f, 0xf5, 0xb5, 0x6d, 0xff, +0x96, 0x50, 0xff, 0x83, 0x3c, 0xff, 0x73, 0x31, 0xff, 0x68, 0x2a, 0xff, 0x60, 0x26, 0xff, 0x5d, +0x24, 0xfe, 0x5e, 0x26, 0xfe, 0x60, 0x28, 0xff, 0x61, 0x2a, 0xfe, 0x64, 0x2d, 0xfd, 0xb3, 0x6c, +0xff, 0xaf, 0x6a, 0xff, 0xb1, 0x6c, 0xfe, 0xc9, 0x7e, 0xff, 0xbc, 0x78, 0xff, 0xa1, 0x61, 0xff, +0x8e, 0x52, 0xff, 0x86, 0x4b, 0xff, 0x81, 0x46, 0xff, 0x81, 0x46, 0xff, 0x88, 0x4b, 0xff, 0x87, +0x4a, 0xfb, 0x77, 0x45, 0xe9, 0x67, 0x3f, 0xd7, 0x58, 0x31, 0xca, 0x4e, 0x26, 0xbe, 0x45, 0x1c, +0xb3, 0x3e, 0x16, 0xb2, 0x3f, 0x19, 0xbd, 0x48, 0x23, 0xcb, 0x55, 0x31, 0xd3, 0x5d, 0x39, 0xd6, +0x5f, 0x38, 0xd5, 0x5f, 0x36, 0xd1, 0x5c, 0x2f, 0xce, 0x57, 0x26, 0xca, 0x50, 0x1d, 0xc8, 0x4d, +0x18, 0xc8, 0x4b, 0x15, 0xc3, 0x47, 0x13, 0xbe, 0x3e, 0x0c, 0xbb, 0x3a, 0x09, 0xb8, 0x36, 0x06, +0xb5, 0x33, 0x05, 0xb2, 0x30, 0x03, 0xb0, 0x2d, 0x02, 0xaf, 0x2d, 0x01, 0xac, 0x2b, 0x00, 0xa6, +0x2a, 0x00, 0xa0, 0x27, 0x00, 0x9a, 0x25, 0x00, 0x93, 0x24, 0x00, 0x8e, 0x22, 0x00, 0x88, 0x20, +0x01, 0x81, 0x1e, 0x00, 0x79, 0x1d, 0x00, 0x73, 0x1b, 0x00, 0x6e, 0x18, 0x00, 0x67, 0x17, 0x00, +0x61, 0x15, 0x00, 0x5b, 0x14, 0x00, 0xcc, 0x6d, 0x0b, 0xd0, 0x7b, 0x1c, 0xfd, 0xbb, 0x73, 0xff, +0x98, 0x52, 0xff, 0x88, 0x40, 0xff, 0x7c, 0x36, 0xff, 0x73, 0x31, 0xff, 0x6e, 0x2e, 0xff, 0x6b, +0x2d, 0xff, 0x6a, 0x2e, 0xff, 0x6c, 0x30, 0xff, 0x6d, 0x31, 0xff, 0x7d, 0x3e, 0xfe, 0xbd, 0x74, +0xff, 0xa9, 0x66, 0xff, 0xb1, 0x6d, 0xfe, 0xc4, 0x7b, 0xff, 0xb6, 0x72, 0xff, 0xa2, 0x5f, 0xff, +0x95, 0x57, 0xff, 0x8a, 0x4f, 0xff, 0x86, 0x4d, 0xff, 0x85, 0x4d, 0xfe, 0x80, 0x4b, 0xf5, 0x73, +0x44, 0xe5, 0x63, 0x3a, 0xd2, 0x56, 0x2d, 0xc8, 0x4e, 0x24, 0xc1, 0x47, 0x1c, 0xba, 0x42, 0x18, +0xb9, 0x43, 0x1a, 0xbd, 0x46, 0x20, 0xc8, 0x50, 0x2b, 0xd0, 0x59, 0x35, 0xd3, 0x5b, 0x35, 0xd6, +0x5e, 0x34, 0xd4, 0x5c, 0x31, 0xcf, 0x57, 0x29, 0xcd, 0x53, 0x21, 0xc9, 0x50, 0x1d, 0xc7, 0x4c, +0x18, 0xc6, 0x4a, 0x15, 0xc1, 0x45, 0x11, 0xbd, 0x3e, 0x0c, 0xba, 0x39, 0x08, 0xb7, 0x35, 0x06, +0xb4, 0x31, 0x03, 0xb2, 0x2e, 0x02, 0xb1, 0x2d, 0x02, 0xb0, 0x2e, 0x01, 0xac, 0x2d, 0x00, 0xa7, +0x2a, 0x00, 0xa2, 0x28, 0x00, 0x9c, 0x26, 0x00, 0x95, 0x24, 0x00, 0x8f, 0x23, 0x00, 0x8a, 0x20, +0x01, 0x83, 0x1e, 0x00, 0x7b, 0x1d, 0x00, 0x74, 0x1b, 0x00, 0x6f, 0x19, 0x00, 0x68, 0x17, 0x00, +0x62, 0x16, 0x00, 0x5c, 0x14, 0x00, 0xcc, 0x6b, 0x0a, 0xd5, 0x87, 0x2f, 0xff, 0xb9, 0x72, 0xff, +0x99, 0x53, 0xff, 0x8c, 0x44, 0xff, 0x86, 0x3d, 0xff, 0x82, 0x3a, 0xff, 0x7e, 0x38, 0xff, 0x7b, +0x39, 0xff, 0x7c, 0x3a, 0xff, 0x7f, 0x3c, 0xff, 0x80, 0x3f, 0xff, 0xa3, 0x5e, 0xff, 0xbd, 0x75, +0xff, 0xa5, 0x62, 0xff, 0xb0, 0x6c, 0xff, 0xbc, 0x76, 0xff, 0xb1, 0x6c, 0xff, 0x9a, 0x56, 0xff, +0x8c, 0x4e, 0xff, 0x84, 0x4c, 0xff, 0x7c, 0x45, 0xfc, 0x73, 0x3f, 0xf0, 0x68, 0x39, 0xdf, 0x5c, +0x31, 0xcf, 0x51, 0x28, 0xc8, 0x4d, 0x23, 0xc4, 0x49, 0x1e, 0xc0, 0x45, 0x1a, 0xc2, 0x47, 0x1d, +0xc3, 0x49, 0x21, 0xc8, 0x4d, 0x27, 0xcf, 0x55, 0x30, 0xd3, 0x5a, 0x34, 0xd5, 0x5a, 0x32, 0xd5, +0x5b, 0x30, 0xd1, 0x58, 0x2b, 0xce, 0x55, 0x25, 0xcb, 0x52, 0x1f, 0xc8, 0x4f, 0x1c, 0xc5, 0x4b, +0x17, 0xc3, 0x47, 0x14, 0xc0, 0x43, 0x10, 0xbb, 0x3d, 0x0a, 0xb8, 0x38, 0x08, 0xb7, 0x36, 0x07, +0xb2, 0x30, 0x03, 0xb2, 0x2f, 0x02, 0xb0, 0x2e, 0x02, 0xb1, 0x2e, 0x02, 0xad, 0x2d, 0x01, 0xa7, +0x2b, 0x00, 0xa3, 0x29, 0x00, 0x9d, 0x26, 0x00, 0x96, 0x24, 0x00, 0x90, 0x23, 0x00, 0x8b, 0x21, +0x01, 0x84, 0x1f, 0x00, 0x7c, 0x1d, 0x00, 0x75, 0x1b, 0x00, 0x6f, 0x19, 0x00, 0x69, 0x17, 0x00, +0x62, 0x16, 0x00, 0x5c, 0x14, 0x00, 0xcc, 0x6b, 0x09, 0xda, 0x94, 0x3f, 0xff, 0xb6, 0x6e, 0xff, +0x9c, 0x56, 0xff, 0x92, 0x49, 0xff, 0x8d, 0x45, 0xff, 0x8e, 0x46, 0xff, 0x8f, 0x47, 0xff, 0x8f, +0x48, 0xff, 0x92, 0x4d, 0xff, 0x97, 0x55, 0xff, 0xab, 0x68, 0xfd, 0xd2, 0x86, 0xff, 0xb1, 0x6c, +0xff, 0xa4, 0x60, 0xff, 0xae, 0x6a, 0xff, 0xb2, 0x6d, 0xff, 0xaa, 0x66, 0xff, 0x92, 0x4c, 0xff, +0x81, 0x42, 0xff, 0x78, 0x40, 0xff, 0x6f, 0x38, 0xf6, 0x65, 0x2f, 0xe6, 0x5b, 0x29, 0xd6, 0x52, +0x23, 0xcd, 0x4e, 0x21, 0xc9, 0x4a, 0x1d, 0xc6, 0x48, 0x1c, 0xc8, 0x4a, 0x1f, 0xca, 0x4d, 0x23, +0xcc, 0x50, 0x28, 0xce, 0x52, 0x2d, 0xd2, 0x57, 0x32, 0xd5, 0x59, 0x32, 0xd6, 0x58, 0x2e, 0xd5, +0x58, 0x2c, 0xd0, 0x55, 0x27, 0xce, 0x52, 0x21, 0xca, 0x4f, 0x1d, 0xc7, 0x4c, 0x1a, 0xc3, 0x49, +0x16, 0xc1, 0x46, 0x12, 0xc0, 0x43, 0x10, 0xbb, 0x3c, 0x09, 0xb9, 0x38, 0x09, 0xb9, 0x37, 0x09, +0xb2, 0x30, 0x04, 0xb3, 0x2f, 0x03, 0xb0, 0x2e, 0x02, 0xb2, 0x2e, 0x02, 0xaf, 0x2d, 0x01, 0xa9, +0x2b, 0x01, 0xa4, 0x29, 0x00, 0x9e, 0x27, 0x00, 0x98, 0x25, 0x00, 0x91, 0x23, 0x00, 0x8b, 0x21, +0x01, 0x85, 0x1f, 0x00, 0x7d, 0x1d, 0x00, 0x76, 0x1c, 0x00, 0x70, 0x19, 0x00, 0x69, 0x17, 0x00, +0x63, 0x16, 0x00, 0x5c, 0x14, 0x00, 0xcb, 0x6c, 0x09, 0xdf, 0xa0, 0x49, 0xff, 0xb5, 0x6d, 0xff, +0x9f, 0x59, 0xff, 0x9a, 0x51, 0xff, 0x96, 0x4e, 0xff, 0x96, 0x50, 0xff, 0x9a, 0x54, 0xff, 0x9e, +0x5a, 0xff, 0xa4, 0x62, 0xff, 0xb3, 0x6e, 0xfd, 0xd8, 0x89, 0xfd, 0xd5, 0x87, 0xff, 0xa7, 0x62, +0xff, 0xa2, 0x5e, 0xff, 0xac, 0x67, 0xff, 0xa8, 0x64, 0xff, 0xa1, 0x5d, 0xff, 0x8d, 0x45, 0xff, +0x7a, 0x39, 0xff, 0x70, 0x37, 0xfd, 0x68, 0x2f, 0xf3, 0x5f, 0x27, 0xe7, 0x57, 0x21, 0xdf, 0x53, +0x1e, 0xd4, 0x4e, 0x1c, 0xcd, 0x4b, 0x1d, 0xcd, 0x4c, 0x20, 0xce, 0x4f, 0x24, 0xd1, 0x52, 0x2a, +0xd4, 0x54, 0x2c, 0xd3, 0x54, 0x2e, 0xd5, 0x56, 0x30, 0xd6, 0x57, 0x2f, 0xd7, 0x56, 0x2b, 0xd4, +0x55, 0x29, 0xd0, 0x52, 0x23, 0xce, 0x51, 0x1f, 0xc9, 0x4e, 0x1c, 0xc7, 0x4c, 0x19, 0xc3, 0x49, +0x15, 0xc2, 0x45, 0x11, 0xc0, 0x42, 0x0d, 0xbb, 0x3d, 0x0b, 0xbc, 0x3a, 0x09, 0xb7, 0x35, 0x07, +0xb5, 0x31, 0x04, 0xb3, 0x2f, 0x03, 0xb0, 0x2e, 0x02, 0xb3, 0x2f, 0x02, 0xb1, 0x2d, 0x01, 0xaa, +0x2b, 0x01, 0xa4, 0x29, 0x00, 0x9f, 0x27, 0x00, 0x99, 0x25, 0x00, 0x93, 0x24, 0x00, 0x8c, 0x21, +0x01, 0x85, 0x1f, 0x00, 0x7e, 0x1d, 0x00, 0x76, 0x1b, 0x00, 0x70, 0x19, 0x00, 0x6a, 0x17, 0x00, +0x63, 0x16, 0x00, 0x5c, 0x14, 0x00, 0xc9, 0x6e, 0x09, 0xe1, 0xa9, 0x53, 0xff, 0xb3, 0x6c, 0xff, +0xa3, 0x5e, 0xff, 0x9e, 0x58, 0xff, 0x9e, 0x58, 0xff, 0xa0, 0x5c, 0xff, 0xa4, 0x60, 0xff, 0xaa, +0x66, 0xff, 0xb2, 0x6e, 0xfe, 0xca, 0x7d, 0xfd, 0xdf, 0x89, 0xff, 0xc1, 0x77, 0xff, 0xa2, 0x5e, +0xff, 0xa1, 0x5c, 0xff, 0xa8, 0x64, 0xff, 0xa1, 0x5c, 0xff, 0x99, 0x4f, 0xff, 0x87, 0x3f, 0xff, +0x74, 0x33, 0xff, 0x6b, 0x32, 0xfd, 0x65, 0x2c, 0xfa, 0x60, 0x25, 0xee, 0x58, 0x1f, 0xde, 0x52, +0x1e, 0xdc, 0x50, 0x1d, 0xd9, 0x50, 0x1f, 0xd5, 0x52, 0x25, 0xd5, 0x54, 0x29, 0xd9, 0x56, 0x2b, +0xd8, 0x56, 0x2e, 0xd7, 0x56, 0x2f, 0xd8, 0x56, 0x2e, 0xd6, 0x54, 0x2b, 0xd7, 0x54, 0x28, 0xd2, +0x53, 0x26, 0xd0, 0x51, 0x20, 0xcd, 0x50, 0x1e, 0xca, 0x4d, 0x1a, 0xc8, 0x4d, 0x19, 0xc4, 0x49, +0x14, 0xc3, 0x46, 0x11, 0xc0, 0x42, 0x0e, 0xbc, 0x3d, 0x0b, 0xbd, 0x3a, 0x08, 0xb7, 0x34, 0x05, +0xb6, 0x33, 0x05, 0xb0, 0x2e, 0x02, 0xb0, 0x2e, 0x02, 0xb1, 0x2e, 0x01, 0xb1, 0x2e, 0x01, 0xab, +0x2b, 0x01, 0xa7, 0x2a, 0x00, 0xa1, 0x28, 0x00, 0x99, 0x25, 0x00, 0x92, 0x23, 0x00, 0x8c, 0x21, +0x01, 0x86, 0x1f, 0x00, 0x7e, 0x1d, 0x00, 0x76, 0x1b, 0x00, 0x70, 0x19, 0x00, 0x69, 0x17, 0x00, +0x63, 0x16, 0x00, 0x5c, 0x14, 0x00, 0xcb, 0x6d, 0x09, 0xe8, 0xb0, 0x5d, 0xff, 0xb4, 0x6d, 0xff, +0xa8, 0x64, 0xff, 0xa4, 0x60, 0xff, 0xa6, 0x62, 0xff, 0xaa, 0x65, 0xff, 0xad, 0x68, 0xff, 0xb4, +0x6d, 0xff, 0xbe, 0x76, 0xfe, 0xcc, 0x7e, 0xfe, 0xce, 0x7e, 0xff, 0xb1, 0x6c, 0xff, 0x9f, 0x59, +0xff, 0x9d, 0x54, 0xff, 0xa2, 0x5d, 0xff, 0x9d, 0x57, 0xff, 0x8c, 0x41, 0xff, 0x7f, 0x35, 0xff, +0x6e, 0x2e, 0xff, 0x67, 0x2c, 0xfe, 0x62, 0x27, 0xfc, 0x5e, 0x23, 0xf0, 0x58, 0x20, 0xe7, 0x56, +0x20, 0xdf, 0x55, 0x21, 0xde, 0x55, 0x24, 0xde, 0x58, 0x29, 0xdc, 0x58, 0x2c, 0xdb, 0x57, 0x2d, +0xdb, 0x58, 0x30, 0xd9, 0x55, 0x2c, 0xd5, 0x51, 0x28, 0xd6, 0x52, 0x27, 0xd6, 0x53, 0x26, 0xd1, +0x50, 0x22, 0xd2, 0x52, 0x21, 0xcd, 0x4f, 0x1e, 0xcb, 0x4e, 0x1b, 0xc8, 0x4d, 0x18, 0xc7, 0x4a, +0x15, 0xc4, 0x47, 0x12, 0xbf, 0x41, 0x0e, 0xbe, 0x3d, 0x09, 0xbe, 0x3a, 0x08, 0xb9, 0x35, 0x05, +0xb6, 0x33, 0x05, 0xb2, 0x2f, 0x02, 0xb0, 0x2d, 0x01, 0xb1, 0x2e, 0x01, 0xb2, 0x2e, 0x01, 0xab, +0x2c, 0x01, 0xa5, 0x29, 0x00, 0xa0, 0x28, 0x00, 0x9a, 0x25, 0x00, 0x92, 0x23, 0x00, 0x8b, 0x21, +0x01, 0x85, 0x1f, 0x00, 0x7e, 0x1d, 0x00, 0x76, 0x1c, 0x00, 0x70, 0x19, 0x00, 0x69, 0x17, 0x00, +0x63, 0x16, 0x00, 0x5c, 0x14, 0x00, 0xca, 0x6e, 0x09, 0xea, 0xb5, 0x61, 0xff, 0xb7, 0x70, 0xff, +0xac, 0x68, 0xff, 0xad, 0x67, 0xff, 0xae, 0x68, 0xff, 0xaf, 0x6a, 0xff, 0xb1, 0x6b, 0xff, 0xb8, +0x70, 0xff, 0xbd, 0x75, 0xff, 0xc3, 0x79, 0xff, 0xbc, 0x74, 0xff, 0xa7, 0x63, 0xff, 0x9b, 0x54, +0xff, 0x9b, 0x51, 0xff, 0xa0, 0x5b, 0xff, 0x9d, 0x56, 0xff, 0x82, 0x39, 0xff, 0x6c, 0x29, 0xff, +0x63, 0x24, 0xfe, 0x5f, 0x24, 0xfc, 0x5c, 0x21, 0xf8, 0x5b, 0x20, 0xf3, 0x59, 0x20, 0xec, 0x59, +0x22, 0xe7, 0x59, 0x24, 0xe4, 0x59, 0x26, 0xe3, 0x5a, 0x29, 0xdf, 0x58, 0x2c, 0xde, 0x59, 0x2f, +0xde, 0x58, 0x2f, 0xd7, 0x52, 0x29, 0xd4, 0x4e, 0x24, 0xd7, 0x52, 0x27, 0xd3, 0x51, 0x25, 0xd2, +0x51, 0x23, 0xcf, 0x51, 0x22, 0xcc, 0x4e, 0x1d, 0xc9, 0x4e, 0x1b, 0xc8, 0x4b, 0x15, 0xc7, 0x4a, +0x15, 0xc3, 0x47, 0x11, 0xbd, 0x40, 0x0b, 0xbf, 0x3e, 0x09, 0xbc, 0x3a, 0x07, 0xba, 0x36, 0x05, +0xb6, 0x33, 0x04, 0xb2, 0x2f, 0x02, 0xb1, 0x2e, 0x01, 0xb2, 0x2e, 0x01, 0xb1, 0x2e, 0x01, 0xaa, +0x2c, 0x00, 0xa3, 0x29, 0x00, 0xa0, 0x28, 0x00, 0x99, 0x25, 0x00, 0x91, 0x23, 0x00, 0x8b, 0x21, +0x00, 0x85, 0x1f, 0x00, 0x7e, 0x1d, 0x00, 0x76, 0x1c, 0x00, 0x70, 0x19, 0x00, 0x69, 0x17, 0x00, +0x62, 0x16, 0x00, 0x5c, 0x14, 0x00, 0xca, 0x6c, 0x09, 0xeb, 0xb6, 0x62, 0xff, 0xbb, 0x73, 0xff, +0xb1, 0x6c, 0xff, 0xb3, 0x6c, 0xff, 0xb2, 0x6c, 0xff, 0xb1, 0x6b, 0xff, 0xb3, 0x6d, 0xff, 0xb5, +0x6f, 0xff, 0xb6, 0x70, 0xff, 0xb7, 0x70, 0xff, 0xb0, 0x6b, 0xff, 0xa2, 0x5d, 0xff, 0x9a, 0x51, +0xff, 0x99, 0x50, 0xff, 0xa0, 0x5a, 0xff, 0x9f, 0x58, 0xff, 0x80, 0x37, 0xfe, 0x5c, 0x1d, 0xf3, +0x50, 0x14, 0xf4, 0x52, 0x16, 0xf5, 0x54, 0x19, 0xf5, 0x56, 0x1b, 0xf7, 0x58, 0x1d, 0xf5, 0x59, +0x20, 0xed, 0x5a, 0x22, 0xe7, 0x59, 0x25, 0xe2, 0x58, 0x27, 0xe3, 0x59, 0x2a, 0xe2, 0x59, 0x2c, +0xde, 0x57, 0x2c, 0xd5, 0x50, 0x26, 0xd5, 0x50, 0x25, 0xd6, 0x52, 0x26, 0xd1, 0x4f, 0x22, 0xd1, +0x52, 0x24, 0xcd, 0x4f, 0x1f, 0xcb, 0x4f, 0x1e, 0xc8, 0x4d, 0x1a, 0xc8, 0x4a, 0x14, 0xc6, 0x4a, +0x14, 0xc4, 0x46, 0x11, 0xbd, 0x3f, 0x0b, 0xbe, 0x3d, 0x09, 0xbc, 0x3a, 0x07, 0xbb, 0x37, 0x06, +0xb5, 0x32, 0x03, 0xb3, 0x2f, 0x02, 0xb2, 0x2e, 0x01, 0xb3, 0x2f, 0x01, 0xaf, 0x2d, 0x01, 0xa9, +0x2b, 0x00, 0xa4, 0x29, 0x00, 0xa0, 0x27, 0x00, 0x98, 0x25, 0x00, 0x91, 0x23, 0x00, 0x8b, 0x21, +0x01, 0x84, 0x1f, 0x00, 0x7d, 0x1d, 0x00, 0x76, 0x1b, 0x00, 0x6f, 0x19, 0x00, 0x68, 0x17, 0x00, +0x62, 0x16, 0x00, 0x5c, 0x14, 0x00, 0xca, 0x6b, 0x09, 0xeb, 0xb7, 0x64, 0xff, 0xc0, 0x76, 0xff, +0xb6, 0x70, 0xff, 0xb7, 0x6f, 0xff, 0xb4, 0x6d, 0xff, 0xb1, 0x6b, 0xff, 0xb2, 0x6b, 0xff, 0xb2, +0x6c, 0xff, 0xb0, 0x6b, 0xff, 0xad, 0x68, 0xff, 0xa6, 0x63, 0xff, 0x9d, 0x57, 0xff, 0x97, 0x4d, +0xff, 0x97, 0x4e, 0xff, 0x9f, 0x58, 0xff, 0xa1, 0x5c, 0xff, 0x80, 0x38, 0xee, 0x4e, 0x12, 0xc6, +0x41, 0x0f, 0xcd, 0x44, 0x12, 0xdc, 0x4b, 0x14, 0xe8, 0x50, 0x17, 0xf2, 0x54, 0x19, 0xed, 0x55, +0x1d, 0xe9, 0x57, 0x20, 0xe6, 0x57, 0x23, 0xe5, 0x58, 0x25, 0xe7, 0x59, 0x26, 0xe5, 0x58, 0x28, +0xda, 0x54, 0x27, 0xd4, 0x50, 0x27, 0xd4, 0x50, 0x26, 0xd2, 0x4f, 0x22, 0xd0, 0x4e, 0x22, 0xce, +0x50, 0x22, 0xcb, 0x4e, 0x1e, 0xc9, 0x4e, 0x1d, 0xc6, 0x4b, 0x17, 0xc6, 0x4a, 0x15, 0xc5, 0x48, +0x12, 0xc4, 0x46, 0x0f, 0xbc, 0x3f, 0x0b, 0xbd, 0x3d, 0x09, 0xbb, 0x39, 0x06, 0xbb, 0x37, 0x05, +0xb6, 0x33, 0x04, 0xb3, 0x30, 0x02, 0xb2, 0x2e, 0x02, 0xb2, 0x2e, 0x01, 0xae, 0x2d, 0x01, 0xa8, +0x2b, 0x00, 0xa3, 0x29, 0x00, 0x9e, 0x26, 0x00, 0x96, 0x24, 0x00, 0x91, 0x23, 0x00, 0x8b, 0x20, +0x01, 0x83, 0x1f, 0x00, 0x7c, 0x1d, 0x00, 0x75, 0x1b, 0x00, 0x6f, 0x19, 0x00, 0x68, 0x17, 0x00, +0x61, 0x16, 0x00, 0x5b, 0x14, 0x00, 0xcb, 0x6b, 0x08, 0xea, 0xb6, 0x64, 0xff, 0xc4, 0x78, 0xff, +0xb9, 0x73, 0xff, 0xb7, 0x6f, 0xff, 0xb2, 0x6c, 0xff, 0xaf, 0x69, 0xff, 0xae, 0x69, 0xff, 0xad, +0x68, 0xff, 0xa9, 0x65, 0xff, 0xa6, 0x62, 0xff, 0xa1, 0x5c, 0xff, 0x9a, 0x52, 0xff, 0x94, 0x4b, +0xff, 0x97, 0x4d, 0xff, 0x9e, 0x57, 0xff, 0xb1, 0x6a, 0xed, 0x6b, 0x2b, 0xab, 0x31, 0x05, 0x9c, +0x30, 0x08, 0xa5, 0x35, 0x0b, 0xb8, 0x3d, 0x10, 0xcc, 0x46, 0x14, 0xdd, 0x4d, 0x18, 0xe5, 0x52, +0x1a, 0xe7, 0x55, 0x1e, 0xe7, 0x56, 0x21, 0xe8, 0x57, 0x21, 0xe5, 0x57, 0x24, 0xdf, 0x55, 0x26, +0xd8, 0x51, 0x25, 0xd2, 0x50, 0x27, 0xcf, 0x4d, 0x21, 0xce, 0x4c, 0x20, 0xcc, 0x4c, 0x20, 0xcb, +0x4c, 0x1d, 0xc9, 0x4c, 0x1d, 0xc6, 0x4b, 0x1a, 0xc6, 0x4a, 0x16, 0xc3, 0x48, 0x14, 0xc5, 0x48, +0x11, 0xc3, 0x46, 0x10, 0xbc, 0x3f, 0x0b, 0xbe, 0x3d, 0x08, 0xbb, 0x39, 0x06, 0xbb, 0x38, 0x06, +0xb6, 0x33, 0x04, 0xb3, 0x30, 0x02, 0xb1, 0x2e, 0x02, 0xb1, 0x2e, 0x01, 0xad, 0x2d, 0x01, 0xa7, +0x2b, 0x00, 0xa2, 0x28, 0x00, 0x9d, 0x26, 0x00, 0x95, 0x24, 0x00, 0x90, 0x23, 0x00, 0x8a, 0x20, +0x01, 0x83, 0x1e, 0x00, 0x7b, 0x1d, 0x00, 0x74, 0x1b, 0x00, 0x6f, 0x19, 0x00, 0x67, 0x17, 0x00, +0x61, 0x15, 0x00, 0x5b, 0x14, 0x00, 0xca, 0x6b, 0x09, 0xe7, 0xaf, 0x5c, 0xfe, 0xc7, 0x7b, 0xff, +0xbb, 0x74, 0xff, 0xb4, 0x6f, 0xff, 0xad, 0x68, 0xff, 0xab, 0x66, 0xff, 0xab, 0x66, 0xff, 0xa6, +0x63, 0xff, 0xa3, 0x5f, 0xff, 0xa2, 0x5c, 0xff, 0x9e, 0x56, 0xff, 0x98, 0x4e, 0xff, 0x93, 0x49, +0xff, 0x97, 0x4d, 0xff, 0xa7, 0x60, 0xea, 0x91, 0x50, 0x76, 0x21, 0x05, 0x5c, 0x17, 0x02, 0x73, +0x21, 0x04, 0x86, 0x28, 0x05, 0x9b, 0x31, 0x08, 0xb1, 0x39, 0x0d, 0xc4, 0x43, 0x13, 0xd7, 0x4d, +0x19, 0xe2, 0x53, 0x1d, 0xe6, 0x55, 0x1f, 0xe4, 0x55, 0x21, 0xdd, 0x53, 0x23, 0xd7, 0x51, 0x24, +0xd5, 0x50, 0x24, 0xcc, 0x4b, 0x21, 0xca, 0x48, 0x1c, 0xc9, 0x48, 0x1c, 0xc7, 0x49, 0x1d, 0xc8, +0x4a, 0x1c, 0xc6, 0x4a, 0x1b, 0xc4, 0x49, 0x18, 0xc4, 0x48, 0x14, 0xc1, 0x46, 0x11, 0xc4, 0x47, +0x10, 0xc1, 0x46, 0x10, 0xbd, 0x3f, 0x0a, 0xbd, 0x3d, 0x07, 0xbc, 0x3b, 0x07, 0xba, 0x37, 0x05, +0xb5, 0x32, 0x02, 0xb3, 0x30, 0x02, 0xb1, 0x2e, 0x01, 0xb0, 0x2e, 0x01, 0xab, 0x2c, 0x01, 0xa6, +0x2a, 0x00, 0xa1, 0x27, 0x00, 0x9c, 0x25, 0x00, 0x95, 0x24, 0x00, 0x8f, 0x22, 0x00, 0x89, 0x20, +0x01, 0x81, 0x1e, 0x00, 0x7a, 0x1c, 0x00, 0x73, 0x1b, 0x00, 0x6d, 0x18, 0x00, 0x66, 0x17, 0x00, +0x61, 0x15, 0x00, 0x5b, 0x13, 0x00, 0xcb, 0x6d, 0x0b, 0xe3, 0xa4, 0x4f, 0xfe, 0xcc, 0x7e, 0xff, +0xba, 0x75, 0xff, 0xb1, 0x6d, 0xff, 0xab, 0x66, 0xff, 0xaa, 0x65, 0xff, 0xa8, 0x64, 0xff, 0xa3, +0x5e, 0xff, 0xa0, 0x59, 0xff, 0x9e, 0x56, 0xff, 0x9b, 0x51, 0xff, 0x94, 0x4a, 0xff, 0x90, 0x47, +0xff, 0x99, 0x4f, 0xfb, 0x98, 0x52, 0x79, 0x29, 0x0d, 0x38, 0x08, 0x00, 0x49, 0x10, 0x03, 0x5e, +0x19, 0x03, 0x73, 0x21, 0x04, 0x85, 0x28, 0x05, 0x96, 0x2f, 0x07, 0xaa, 0x37, 0x0b, 0xc0, 0x43, +0x14, 0xd4, 0x4e, 0x1b, 0xdf, 0x53, 0x1f, 0xdd, 0x53, 0x21, 0xd4, 0x50, 0x22, 0xd0, 0x4e, 0x21, +0xcb, 0x4a, 0x20, 0xc4, 0x45, 0x1c, 0xc2, 0x43, 0x18, 0xc2, 0x44, 0x19, 0xc2, 0x45, 0x19, 0xc3, +0x48, 0x1a, 0xc3, 0x48, 0x19, 0xc3, 0x49, 0x17, 0xc3, 0x47, 0x12, 0xc1, 0x46, 0x10, 0xc3, 0x47, +0x10, 0xbf, 0x44, 0x0e, 0xbd, 0x3f, 0x0a, 0xbd, 0x3c, 0x07, 0xbc, 0x3b, 0x06, 0xb8, 0x36, 0x05, +0xb4, 0x32, 0x02, 0xb2, 0x30, 0x01, 0xaf, 0x2e, 0x01, 0xaf, 0x2e, 0x01, 0xab, 0x2c, 0x01, 0xa5, +0x2a, 0x00, 0xa0, 0x27, 0x00, 0x9a, 0x25, 0x00, 0x93, 0x24, 0x00, 0x8e, 0x22, 0x00, 0x88, 0x20, +0x01, 0x80, 0x1e, 0x00, 0x79, 0x1c, 0x00, 0x72, 0x1a, 0x00, 0x6d, 0x18, 0x00, 0x66, 0x17, 0x00, +0x60, 0x15, 0x00, 0x5a, 0x13, 0x00, 0xcc, 0x6f, 0x0c, 0xdd, 0x98, 0x40, 0xfe, 0xd0, 0x81, 0xff, +0xba, 0x75, 0xff, 0xae, 0x6a, 0xff, 0xa8, 0x64, 0xff, 0xa7, 0x64, 0xff, 0xa5, 0x61, 0xff, 0xa0, +0x5a, 0xff, 0x9c, 0x54, 0xff, 0x9b, 0x50, 0xff, 0x97, 0x4d, 0xff, 0x91, 0x47, 0xff, 0x91, 0x47, +0xff, 0x9d, 0x51, 0xb6, 0x55, 0x26, 0x3a, 0x07, 0x00, 0x3c, 0x0c, 0x04, 0x3e, 0x0c, 0x01, 0x4b, +0x0f, 0x00, 0x60, 0x19, 0x01, 0x75, 0x22, 0x02, 0x86, 0x29, 0x06, 0x96, 0x31, 0x0a, 0xab, 0x39, +0x0e, 0xc3, 0x44, 0x16, 0xd5, 0x50, 0x1e, 0xd9, 0x53, 0x22, 0xd2, 0x50, 0x22, 0xc9, 0x49, 0x1e, +0xb9, 0x41, 0x1b, 0xb3, 0x3b, 0x16, 0xb7, 0x3d, 0x16, 0xbc, 0x40, 0x15, 0xbd, 0x43, 0x18, 0xbf, +0x44, 0x17, 0xc1, 0x47, 0x17, 0xc1, 0x46, 0x15, 0xc2, 0x46, 0x13, 0xc0, 0x45, 0x11, 0xc1, 0x46, +0x11, 0xbe, 0x41, 0x0c, 0xbd, 0x3f, 0x0a, 0xbc, 0x3c, 0x07, 0xb9, 0x38, 0x06, 0xb7, 0x36, 0x05, +0xb4, 0x32, 0x02, 0xb1, 0x2f, 0x01, 0xae, 0x2d, 0x02, 0xaf, 0x2e, 0x01, 0xaa, 0x2c, 0x01, 0xa3, +0x28, 0x00, 0x9e, 0x26, 0x00, 0x98, 0x25, 0x00, 0x92, 0x24, 0x00, 0x8d, 0x22, 0x00, 0x86, 0x20, +0x01, 0x7e, 0x1e, 0x00, 0x78, 0x1c, 0x00, 0x71, 0x1a, 0x00, 0x6b, 0x18, 0x00, 0x65, 0x17, 0x00, +0x60, 0x14, 0x00, 0x5a, 0x13, 0x00, 0xcb, 0x70, 0x0c, 0xd6, 0x8a, 0x2c, 0xfe, 0xd4, 0x84, 0xff, +0xbb, 0x74, 0xff, 0xad, 0x69, 0xff, 0xa6, 0x63, 0xff, 0xa5, 0x62, 0xff, 0xa3, 0x5e, 0xff, 0x9d, +0x56, 0xff, 0x9a, 0x50, 0xff, 0x97, 0x4d, 0xff, 0x96, 0x4c, 0xff, 0x93, 0x4a, 0xff, 0x94, 0x49, +0xf8, 0x88, 0x42, 0x65, 0x1f, 0x09, 0x37, 0x0a, 0x02, 0x3b, 0x0a, 0x01, 0x36, 0x0f, 0x0e, 0x32, +0x16, 0x1e, 0x39, 0x18, 0x1c, 0x50, 0x1d, 0x12, 0x70, 0x25, 0x0b, 0x8b, 0x2e, 0x09, 0xa0, 0x35, +0x0b, 0xb3, 0x3d, 0x11, 0xcc, 0x4a, 0x19, 0xdc, 0x54, 0x21, 0xd6, 0x53, 0x23, 0xbf, 0x46, 0x1e, +0xa9, 0x38, 0x18, 0x9f, 0x30, 0x12, 0xa7, 0x34, 0x12, 0xb2, 0x3b, 0x14, 0xb8, 0x3f, 0x14, 0xbb, +0x41, 0x15, 0xbc, 0x43, 0x15, 0xbc, 0x43, 0x12, 0xbd, 0x43, 0x11, 0xbd, 0x43, 0x12, 0xbd, 0x43, +0x11, 0xbb, 0x40, 0x0c, 0xba, 0x3e, 0x0a, 0xbb, 0x3c, 0x07, 0xb8, 0x38, 0x06, 0xb5, 0x35, 0x05, +0xb4, 0x32, 0x02, 0xb0, 0x2f, 0x01, 0xb0, 0x2e, 0x01, 0xaf, 0x2e, 0x01, 0xaa, 0x2b, 0x01, 0xa2, +0x28, 0x00, 0x9c, 0x26, 0x00, 0x97, 0x25, 0x00, 0x91, 0x23, 0x00, 0x8b, 0x21, 0x00, 0x84, 0x20, +0x01, 0x7d, 0x1e, 0x00, 0x77, 0x1c, 0x00, 0x71, 0x19, 0x00, 0x6b, 0x18, 0x00, 0x64, 0x16, 0x00, +0x5f, 0x14, 0x00, 0x59, 0x13, 0x01, 0xcb, 0x72, 0x0b, 0xcf, 0x7d, 0x1b, 0xfc, 0xd4, 0x83, 0xff, +0xbc, 0x74, 0xff, 0xab, 0x68, 0xff, 0xa5, 0x62, 0xff, 0xa4, 0x61, 0xff, 0xa1, 0x5c, 0xff, 0x9b, +0x53, 0xff, 0x97, 0x4c, 0xff, 0x94, 0x49, 0xff, 0x93, 0x49, 0xff, 0x93, 0x48, 0xff, 0x96, 0x49, +0xc7, 0x60, 0x2b, 0x3d, 0x0a, 0x00, 0x3a, 0x0b, 0x01, 0x33, 0x14, 0x1a, 0x29, 0x22, 0x3e, 0x27, +0x23, 0x40, 0x27, 0x22, 0x3c, 0x28, 0x22, 0x38, 0x35, 0x27, 0x34, 0x52, 0x33, 0x33, 0x79, 0x41, +0x33, 0xa0, 0x49, 0x2d, 0xc7, 0x50, 0x25, 0xf3, 0x5f, 0x24, 0xea, 0x60, 0x29, 0xb4, 0x41, 0x1c, +0x9c, 0x33, 0x16, 0x8e, 0x29, 0x11, 0x93, 0x2a, 0x0f, 0xa3, 0x33, 0x11, 0xac, 0x38, 0x10, 0xb2, +0x3c, 0x13, 0xb4, 0x3d, 0x12, 0xb6, 0x3e, 0x10, 0xb8, 0x3f, 0x0f, 0xb9, 0x40, 0x0f, 0xb9, 0x40, +0x0e, 0xb9, 0x3f, 0x0d, 0xbb, 0x3f, 0x0b, 0xba, 0x3a, 0x07, 0xb7, 0x38, 0x06, 0xb4, 0x34, 0x04, +0xb3, 0x32, 0x02, 0xb0, 0x2f, 0x01, 0xaf, 0x2e, 0x01, 0xae, 0x2d, 0x01, 0xa8, 0x2a, 0x00, 0xa2, +0x29, 0x00, 0x9c, 0x27, 0x00, 0x96, 0x24, 0x00, 0x90, 0x22, 0x00, 0x8a, 0x21, 0x01, 0x83, 0x1f, +0x00, 0x7c, 0x1e, 0x00, 0x75, 0x1c, 0x00, 0x70, 0x19, 0x00, 0x69, 0x18, 0x00, 0x64, 0x15, 0x00, +0x5f, 0x14, 0x00, 0x59, 0x13, 0x01, 0xcb, 0x73, 0x09, 0xca, 0x73, 0x0a, 0xf4, 0xc7, 0x74, 0xff, +0xbc, 0x75, 0xff, 0xaa, 0x67, 0xff, 0xa3, 0x61, 0xff, 0xa4, 0x60, 0xff, 0xa0, 0x5a, 0xff, 0x99, +0x50, 0xff, 0x93, 0x49, 0xff, 0x90, 0x45, 0xff, 0x90, 0x45, 0xff, 0x90, 0x44, 0xff, 0x8f, 0x44, +0x8c, 0x38, 0x16, 0x34, 0x07, 0x00, 0x34, 0x11, 0x13, 0x28, 0x23, 0x42, 0x28, 0x22, 0x40, 0x28, +0x20, 0x3b, 0x29, 0x21, 0x37, 0x29, 0x21, 0x35, 0x28, 0x21, 0x34, 0x2c, 0x27, 0x39, 0x3b, 0x38, +0x48, 0x58, 0x50, 0x5c, 0x83, 0x6b, 0x6f, 0xd6, 0x96, 0x86, 0xee, 0x7b, 0x45, 0x9f, 0x34, 0x12, +0x8c, 0x2b, 0x14, 0x85, 0x24, 0x10, 0x86, 0x24, 0x0d, 0x8f, 0x29, 0x0d, 0x9c, 0x30, 0x0e, 0xa5, +0x35, 0x0f, 0xaa, 0x37, 0x0f, 0xb0, 0x3a, 0x0e, 0xb2, 0x3b, 0x0e, 0xb3, 0x3c, 0x0d, 0xb5, 0x3c, +0x0b, 0xb6, 0x3c, 0x0a, 0xb9, 0x3d, 0x0a, 0xb8, 0x3a, 0x08, 0xb7, 0x38, 0x07, 0xb3, 0x34, 0x03, +0xb2, 0x32, 0x02, 0xb0, 0x30, 0x01, 0xae, 0x2e, 0x01, 0xad, 0x2d, 0x01, 0xa7, 0x2a, 0x00, 0xa0, +0x28, 0x00, 0x9b, 0x26, 0x00, 0x95, 0x24, 0x00, 0x8f, 0x22, 0x00, 0x88, 0x21, 0x01, 0x81, 0x1f, +0x00, 0x7b, 0x1e, 0x00, 0x75, 0x1a, 0x00, 0x6f, 0x19, 0x00, 0x68, 0x18, 0x00, 0x63, 0x15, 0x00, +0x5e, 0x14, 0x00, 0x58, 0x13, 0x00, 0xcb, 0x71, 0x07, 0xca, 0x72, 0x08, 0xe9, 0xb1, 0x5a, 0xff, +0xbf, 0x76, 0xff, 0xaa, 0x67, 0xff, 0xa3, 0x61, 0xff, 0xa3, 0x60, 0xff, 0x9f, 0x59, 0xff, 0x97, +0x4e, 0xff, 0x90, 0x46, 0xff, 0x8d, 0x42, 0xff, 0x8e, 0x43, 0xff, 0x8d, 0x42, 0xf4, 0x7c, 0x39, +0x5c, 0x1b, 0x07, 0x35, 0x0a, 0x03, 0x2b, 0x1e, 0x35, 0x27, 0x23, 0x44, 0x28, 0x21, 0x3e, 0x28, +0x20, 0x3a, 0x28, 0x20, 0x36, 0x29, 0x21, 0x34, 0x2b, 0x21, 0x32, 0x2d, 0x23, 0x32, 0x32, 0x2a, +0x38, 0x3f, 0x3a, 0x46, 0x54, 0x52, 0x5e, 0xa4, 0x90, 0x95, 0xd0, 0x6a, 0x40, 0x7f, 0x25, 0x0a, +0x80, 0x26, 0x13, 0x80, 0x23, 0x0e, 0x7f, 0x21, 0x0c, 0x80, 0x21, 0x0b, 0x8c, 0x28, 0x0c, 0x96, +0x2d, 0x0d, 0x9f, 0x31, 0x0c, 0xa6, 0x34, 0x0c, 0xac, 0x37, 0x0c, 0xad, 0x37, 0x0b, 0xaf, 0x38, +0x09, 0xb3, 0x39, 0x09, 0xb4, 0x39, 0x08, 0xb6, 0x38, 0x07, 0xb5, 0x36, 0x05, 0xb4, 0x34, 0x04, +0xb1, 0x32, 0x02, 0xb2, 0x31, 0x02, 0xae, 0x2e, 0x01, 0xad, 0x2d, 0x01, 0xa7, 0x2b, 0x01, 0x9f, +0x28, 0x00, 0x99, 0x25, 0x00, 0x94, 0x23, 0x00, 0x8e, 0x22, 0x00, 0x87, 0x21, 0x00, 0x80, 0x1f, +0x00, 0x7a, 0x1d, 0x00, 0x74, 0x1a, 0x00, 0x6e, 0x19, 0x00, 0x68, 0x17, 0x00, 0x62, 0x15, 0x00, +0x5d, 0x14, 0x00, 0x57, 0x13, 0x00, 0xca, 0x6f, 0x06, 0xca, 0x71, 0x08, 0xdd, 0x99, 0x3b, 0xfe, +0xc4, 0x7a, 0xff, 0xaa, 0x67, 0xff, 0xa3, 0x60, 0xff, 0xa3, 0x5f, 0xff, 0x9e, 0x58, 0xff, 0x96, +0x4c, 0xff, 0x8e, 0x44, 0xff, 0x8c, 0x41, 0xff, 0x8c, 0x41, 0xff, 0x8b, 0x40, 0xd6, 0x68, 0x2e, +0x42, 0x0d, 0x00, 0x32, 0x11, 0x11, 0x27, 0x23, 0x45, 0x28, 0x22, 0x41, 0x28, 0x21, 0x3e, 0x28, +0x20, 0x3a, 0x29, 0x20, 0x36, 0x29, 0x20, 0x33, 0x2b, 0x22, 0x32, 0x2d, 0x23, 0x32, 0x34, 0x2b, +0x3a, 0x44, 0x3c, 0x49, 0x61, 0x5a, 0x66, 0xc2, 0x94, 0x8b, 0x9f, 0x40, 0x19, 0x66, 0x1b, 0x09, +0x78, 0x23, 0x10, 0x78, 0x20, 0x0b, 0x78, 0x1f, 0x09, 0x7a, 0x1e, 0x08, 0x7f, 0x21, 0x09, 0x89, +0x25, 0x09, 0x94, 0x2a, 0x0a, 0x9d, 0x2f, 0x0a, 0xa6, 0x33, 0x0b, 0xa9, 0x35, 0x0b, 0xad, 0x37, +0x0b, 0xb1, 0x38, 0x0a, 0xb0, 0x36, 0x07, 0xb2, 0x36, 0x07, 0xb3, 0x35, 0x05, 0xb4, 0x34, 0x04, +0xb1, 0x32, 0x02, 0xb0, 0x30, 0x02, 0xad, 0x2e, 0x01, 0xac, 0x2d, 0x00, 0xa5, 0x2a, 0x00, 0x9d, +0x27, 0x00, 0x98, 0x25, 0x00, 0x94, 0x24, 0x00, 0x8d, 0x22, 0x00, 0x86, 0x20, 0x00, 0x7f, 0x1f, +0x00, 0x79, 0x1d, 0x00, 0x73, 0x1a, 0x00, 0x6d, 0x19, 0x00, 0x67, 0x17, 0x00, 0x61, 0x15, 0x00, +0x5c, 0x14, 0x00, 0x57, 0x13, 0x01, 0xca, 0x70, 0x06, 0xc9, 0x71, 0x07, 0xce, 0x7c, 0x17, 0xfb, +0xc6, 0x7b, 0xff, 0xab, 0x68, 0xff, 0xa2, 0x60, 0xff, 0xa2, 0x5f, 0xff, 0x9e, 0x58, 0xff, 0x95, +0x4b, 0xff, 0x8d, 0x43, 0xff, 0x8b, 0x41, 0xff, 0x89, 0x3e, 0xff, 0x8b, 0x3e, 0xb1, 0x4f, 0x21, +0x37, 0x08, 0x00, 0x2e, 0x19, 0x27, 0x26, 0x24, 0x48, 0x27, 0x22, 0x41, 0x28, 0x21, 0x3e, 0x29, +0x21, 0x3a, 0x29, 0x21, 0x36, 0x2a, 0x21, 0x34, 0x2b, 0x22, 0x32, 0x2f, 0x25, 0x34, 0x3b, 0x32, +0x40, 0x51, 0x49, 0x54, 0x8f, 0x7d, 0x86, 0xd8, 0x90, 0x76, 0x5f, 0x18, 0x01, 0x5a, 0x16, 0x05, +0x67, 0x19, 0x06, 0x68, 0x18, 0x05, 0x6f, 0x1a, 0x04, 0x74, 0x1c, 0x06, 0x7a, 0x1e, 0x06, 0x82, +0x21, 0x08, 0x8b, 0x24, 0x07, 0x96, 0x2a, 0x08, 0x9f, 0x2f, 0x0a, 0xa6, 0x32, 0x0a, 0xaa, 0x34, +0x0b, 0xab, 0x35, 0x0b, 0xad, 0x34, 0x08, 0xaf, 0x34, 0x06, 0xb1, 0x34, 0x04, 0xb1, 0x33, 0x04, +0xb0, 0x31, 0x02, 0xae, 0x2f, 0x02, 0xab, 0x2d, 0x01, 0xaa, 0x2c, 0x00, 0xa3, 0x29, 0x00, 0x9c, +0x27, 0x00, 0x98, 0x25, 0x00, 0x93, 0x23, 0x00, 0x8c, 0x22, 0x00, 0x85, 0x20, 0x00, 0x7f, 0x1f, +0x00, 0x78, 0x1c, 0x00, 0x72, 0x1a, 0x00, 0x6c, 0x19, 0x00, 0x66, 0x16, 0x00, 0x60, 0x15, 0x00, +0x5b, 0x14, 0x00, 0x56, 0x13, 0x01, 0xca, 0x71, 0x06, 0xca, 0x72, 0x07, 0xca, 0x71, 0x07, 0xef, +0xb6, 0x62, 0xff, 0xaf, 0x6c, 0xff, 0xa2, 0x60, 0xff, 0xa2, 0x5f, 0xff, 0x9f, 0x59, 0xff, 0x94, +0x4b, 0xff, 0x8c, 0x41, 0xff, 0x88, 0x3e, 0xff, 0x85, 0x3a, 0xff, 0x84, 0x3a, 0x8d, 0x38, 0x15, +0x34, 0x09, 0x01, 0x2b, 0x1f, 0x38, 0x26, 0x24, 0x48, 0x28, 0x22, 0x41, 0x28, 0x21, 0x3e, 0x29, +0x21, 0x3a, 0x29, 0x21, 0x36, 0x2a, 0x21, 0x34, 0x2d, 0x23, 0x33, 0x34, 0x2a, 0x39, 0x47, 0x3d, +0x4a, 0x6b, 0x5f, 0x69, 0xd1, 0xa7, 0xa3, 0x97, 0x4c, 0x2f, 0x40, 0x09, 0x00, 0x4e, 0x11, 0x02, +0x53, 0x11, 0x01, 0x56, 0x12, 0x01, 0x61, 0x15, 0x02, 0x6c, 0x18, 0x03, 0x74, 0x1b, 0x04, 0x7b, +0x1e, 0x05, 0x85, 0x21, 0x06, 0x8f, 0x26, 0x07, 0x99, 0x2a, 0x08, 0xa1, 0x2e, 0x07, 0xa6, 0x31, +0x09, 0xa6, 0x31, 0x0a, 0xaa, 0x32, 0x07, 0xab, 0x31, 0x05, 0xae, 0x31, 0x03, 0xad, 0x30, 0x03, +0xad, 0x2f, 0x02, 0xad, 0x2f, 0x02, 0xab, 0x2e, 0x01, 0xa8, 0x2c, 0x00, 0xa3, 0x2a, 0x00, 0x9b, +0x26, 0x00, 0x98, 0x24, 0x00, 0x92, 0x23, 0x00, 0x8c, 0x22, 0x00, 0x84, 0x20, 0x00, 0x7e, 0x1e, +0x00, 0x78, 0x1c, 0x00, 0x72, 0x1a, 0x00, 0x6c, 0x18, 0x00, 0x65, 0x16, 0x00, 0x60, 0x14, 0x00, +0x5a, 0x13, 0x00, 0x54, 0x13, 0x01 }; + +const size_t g_icon_size = 12342; + diff --git a/UnleashedRecomp/ui/window.cpp b/UnleashedRecomp/ui/window.cpp index 071225b..3e00a32 100644 --- a/UnleashedRecomp/ui/window.cpp +++ b/UnleashedRecomp/ui/window.cpp @@ -2,6 +2,80 @@ #include #include #include +#include "game.h" + +bool m_isFullscreenKeyReleased = true; + +int Window_OnSDLEvent(void*, SDL_Event* event) +{ + // TODO (Hyper): prevent window changes during boot to avoid buffer resize crashes. + switch (event->type) + { + // TODO: use Game::Exit(). + case SDL_QUIT: + ExitProcess(0); + break; + + case SDL_KEYDOWN: + { + switch (event->key.keysym.sym) + { + // Toggle fullscreen on ALT+ENTER. + case SDLK_RETURN: + { + if (!(event->key.keysym.mod & KMOD_ALT) || !m_isFullscreenKeyReleased) + break; + + Window::SetFullscreen(!Window::IsFullscreen()); + + // Block holding ALT+ENTER spamming window changes. + m_isFullscreenKeyReleased = false; + + break; + } + } + + break; + } + + case SDL_KEYUP: + { + switch (event->key.keysym.sym) + { + // Allow user to input ALT+ENTER again. + case SDLK_RETURN: + m_isFullscreenKeyReleased = true; + break; + } + } + + case SDL_WINDOWEVENT: + { + switch (event->window.event) + { + case SDL_WINDOWEVENT_FOCUS_LOST: + Window::s_isFocused = false; + SDL_ShowCursor(SDL_ENABLE); + break; + + case SDL_WINDOWEVENT_FOCUS_GAINED: + Window::s_isFocused = true; + SDL_ShowCursor(Window::IsFullscreen() ? SDL_DISABLE : SDL_ENABLE); + break; + + case SDL_WINDOWEVENT_RESIZED: + Window::s_width = event->window.data1; + Window::s_height = event->window.data2; + Window::RaiseResizeEvents(); + break; + } + + break; + } + } + + return 0; +} void Window::Init() { @@ -11,9 +85,18 @@ void Window::Init() SDL_InitSubSystem(SDL_INIT_VIDEO); SDL_EventState(SDL_SYSWMEVENT, SDL_ENABLE); + SDL_AddEventWatch(Window_OnSDLEvent, s_window); s_window = SDL_CreateWindow(title, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 1280, 720, SDL_WINDOW_RESIZABLE); + if (auto icon = GetIconSurface()) + { + SDL_SetWindowIcon(s_window, icon); + SDL_FreeSurface(icon); + } + + SetFullscreen(Config::Fullscreen); + SDL_SysWMinfo info; SDL_VERSION(&info.version); SDL_GetWindowWMInfo(s_window, &info); diff --git a/UnleashedRecomp/ui/window.h b/UnleashedRecomp/ui/window.h index f21c386..a778da5 100644 --- a/UnleashedRecomp/ui/window.h +++ b/UnleashedRecomp/ui/window.h @@ -1,10 +1,119 @@ #pragma once + #include +#include "res/icon.h" struct Window { - static inline SDL_Window* s_window; - static inline HWND s_windowHandle; + inline static std::vector> ms_resizeEvents; + +public: + inline static SDL_Window* s_window; + inline static HWND s_windowHandle; + + inline static bool s_isFocused; + + inline static int s_width; + inline static int s_height; + + static SDL_Surface* GetIconSurface(void* pIconBmp = nullptr) + { + auto rw = SDL_RWFromMem(pIconBmp ? pIconBmp : (void*)g_icon, g_icon_size); + auto surface = SDL_LoadBMP_RW(rw, 1); + + if (!surface) + printf("Failed to load icon: %s\n", SDL_GetError()); + + return surface; + } + + static bool IsDisplayResolution(int w, int h, bool isExact = true) + { + auto width = w <= 0 ? Config::Width : w; + auto height = h <= 0 ? Config::Height : h; + + SDL_Rect displayRect; + if (SDL_GetDisplayBounds(SDL_GetWindowDisplayIndex(s_window), &displayRect) == ERROR_SUCCESS) + { + if (isExact) + { + if (displayRect.w == width && displayRect.h == height) + return true; + } + else + { + if (displayRect.w <= width && displayRect.h <= height) + return true; + } + } + + return false; + } + + static bool IsFullscreen() + { + return SDL_GetWindowFlags(s_window) & SDL_WINDOW_FULLSCREEN_DESKTOP; + } + + static bool SetFullscreen(bool isEnabled) + { + if (isEnabled) + { + SDL_SetWindowFullscreen(s_window, SDL_WINDOW_FULLSCREEN_DESKTOP); + SDL_ShowCursor(SDL_DISABLE); + + return true; + } + else + { + SDL_SetWindowFullscreen(s_window, 0); + SDL_ShowCursor(SDL_ENABLE); + + SDL_Rect displayRect; + if (SDL_GetDisplayBounds(SDL_GetWindowDisplayIndex(s_window), &displayRect) == ERROR_SUCCESS) + { + // Maximise window if the config resolution is greater than the display. + if (IsDisplayResolution(Config::Width, Config::Height, false)) + SDL_MaximizeWindow(s_window); + } + + return false; + } + } + + static void SetWindowDimensions(int w, int h) + { + auto width = w <= 0 ? Config::Width : w; + auto height = h <= 0 ? Config::Height : h; + auto isPendingMaximise = false; + + if (IsDisplayResolution(width, height)) + { + height -= GetSystemMetrics(31); + isPendingMaximise = true; + } + + SDL_SetWindowSize(s_window, width, height); + SDL_SetWindowMinimumSize(s_window, 640, 480); + SDL_SetWindowPosition(s_window, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED); + + if (!isPendingMaximise) + return; + + // Maximise window if the config resolution matches the display. + SDL_MaximizeWindow(s_window); + } + + static void AddResizeEvent(std::function resizeEvent) + { + ms_resizeEvents.push_back(resizeEvent); + } + + static void RaiseResizeEvents() + { + for (const auto& resizeEvent : ms_resizeEvents) + resizeEvent(s_width, s_height); + } static void Init(); };