diff --git a/NativeCore/BypaPH/BypaPH.h b/NativeCore/BypaPH/BypaPH.h new file mode 100644 index 00000000..257168b9 --- /dev/null +++ b/NativeCore/BypaPH/BypaPH.h @@ -0,0 +1,140 @@ +#pragma once +#include "Driver.h" +#include "KProcessHacker.h" + +#define KPH_DEVICE_TYPE 0x9999 +#define KPH_CTL_CODE(x) CTL_CODE(KPH_DEVICE_TYPE, 0x800 + x, METHOD_NEITHER, FILE_ANY_ACCESS) +#define KPH_READVIRTUALMEMORYUNSAFE KPH_CTL_CODE(58) +#define KPH_READVIRTUALMEMORY KPH_CTL_CODE(56) +#define KPH_WRITEVIRTUALMEMORY KPH_CTL_CODE(57) + +#define PHACKER_DRIVER_FILE "kprocesshacker.sys" +#define PHACKER_SERVICE_NAME "KProcessHacker2" +#define PHACKER_DEVICE_NAME "\\Device\\KProcessHacker2" + +class BypaPH +{ +public: + HANDLE m_hTarget = nullptr; + DWORD pID = 0; + + BypaPH(DWORD dwTargetPid = NULL) + { + pID = dwTargetPid; + SetPrivilege(SE_DEBUG_NAME, TRUE); + m_drv = new Driver(PHACKER_DRIVER_FILE, PHACKER_DEVICE_NAME, PHACKER_SERVICE_NAME, KProcessHacker, KProcessHackerSize); + if (dwTargetPid) + Attach(dwTargetPid); + } + + ~BypaPH() + { + delete m_drv; + if (m_hTarget) + CloseHandle(m_hTarget); + SetPrivilege(SE_DEBUG_NAME, FALSE); + } + + NTSTATUS RWVM(HANDLE ProcessHandle, PVOID BaseAddress, PVOID Buffer, SIZE_T BufferSize, PSIZE_T NumberOfBytesReadOrWritten = nullptr, bool read = true, bool unsafe = false) + { + // ProcessHandle may be NULL if reading kernel memory >= 0x8* + + if (!m_drv->GetHandle()) + return STATUS_ABANDONED; + + struct + { + HANDLE ProcessHandle; + PVOID BaseAddress; + PVOID Buffer; + SIZE_T BufferSize; + PSIZE_T NumberOfBytesRead; + } input = { ProcessHandle, BaseAddress, Buffer, BufferSize, NumberOfBytesReadOrWritten }; + + IO_STATUS_BLOCK isb; + + ULONG ioctrlCode = 0; + if (!read && unsafe) // There is no write unsafe + return STATUS_ABANDONED; + if (read && unsafe) + ioctrlCode = KPH_READVIRTUALMEMORYUNSAFE; + if (read && !unsafe) + ioctrlCode = KPH_READVIRTUALMEMORY; + if (!read && !unsafe) + ioctrlCode = KPH_WRITEVIRTUALMEMORY; + + return NtDeviceIoControlFile(m_drv->GetHandle(), nullptr, nullptr, nullptr, &isb, ioctrlCode, &input, sizeof(input), nullptr, 0); + // If status == 0xC0000004 (STATUS_INFO_LENGTH_MISMATCH) you are most likely using the x64 driver from an x86 process. + // We could have it working by having the struct at the right size though. + } + + template T RVMu(HANDLE ProcessHandle, PVOID BaseAddress, PSIZE_T NumberOfBytesRead = nullptr) + { + T response = {}; + RWVM(ProcessHandle, BaseAddress, &response, sizeof(T), NumberOfBytesRead, true, true); + return response; + } + + template T qRVMu(PVOID BaseAddress, PSIZE_T NumberOfBytesRead = nullptr) + { + if (!m_hTarget) + { + *NumberOfBytesRead = 0; + return T{}; + } + return RVMu(m_hTarget, BaseAddress, NumberOfBytesRead); + } + + template T RVM(HANDLE ProcessHandle, PVOID BaseAddress, PSIZE_T NumberOfBytesRead = nullptr) + { + T response = {}; + RWVM(ProcessHandle, BaseAddress, &response, sizeof(T), NumberOfBytesRead, true, false); + return response; + } + + template T qRVM(PVOID BaseAddress, PSIZE_T NumberOfBytesRead = nullptr) + { + if (!m_hTarget) + { + *NumberOfBytesRead = 0; + return T{}; + } + return RVM(m_hTarget, BaseAddress, NumberOfBytesRead); + } + + NTSTATUS WVM(HANDLE ProcessHandle, PVOID BaseAddress, PVOID Buffer, SIZE_T BufferSize, PSIZE_T NumberOfBytesWritten = nullptr) + { + return RWVM(ProcessHandle, BaseAddress, Buffer, BufferSize, NumberOfBytesWritten, false, false); + } + + NTSTATUS qWVM(PVOID BaseAddress, PVOID Buffer, SIZE_T BufferSize, PSIZE_T NumberOfBytesWritten = nullptr) + { + if (!m_hTarget) + { + *NumberOfBytesWritten = 0; + return STATUS_ABANDONED; + } + return WVM(m_hTarget, BaseAddress, Buffer, BufferSize, NumberOfBytesWritten); + } + + bool Attach(DWORD dwPid) + { + if (m_hTarget) + if (!CloseHandle(m_hTarget)) + return false; + m_hTarget = OpenProcess(SYNCHRONIZE, FALSE, dwPid); // Read will work whatever the handle permission. + return m_hTarget != nullptr; + } + + bool Detach(DWORD dwPid) + { + if (m_hTarget) + if (!CloseHandle(m_hTarget)) + return false; + m_hTarget = nullptr; + return true; + } + +private: + Driver* m_drv = nullptr; +}; diff --git a/NativeCore/BypaPH/Driver.cpp b/NativeCore/BypaPH/Driver.cpp new file mode 100644 index 00000000..9dacfad6 --- /dev/null +++ b/NativeCore/BypaPH/Driver.cpp @@ -0,0 +1,191 @@ +#include "Driver.h" + +Driver::Driver(const std::string& strDriverFile, + const std::string& strDeviceName, + const std::string& strDriverName, + const unsigned char* pRawDriver, + const size_t szRawDriver) +{ + // Using either absolute path or getting relative path + m_strDriverFile = strDriverFile; + if (strDriverFile.find_first_of(':') == std::string::npos) + { + char currentPath[MAX_PATH]; + GetCurrentDirectoryA(MAX_PATH, currentPath); + std::string strCurrentPath = currentPath; + strCurrentPath += "\\"; + m_strDriverFile = strCurrentPath + strDriverFile; + } + + m_strDeviceName = strDeviceName; + m_strDriverName = strDriverName; + m_pRawDriver = pRawDriver; + m_szRawDriver = szRawDriver; + + Load(); +} + +Driver::~Driver() { Unload(); } + +bool Driver::Connect() +{ + // Attempts to connect (get a handle) to the driver, first with the classic way + const auto hDevice = CreateFileA(m_strDeviceName.c_str(), GENERIC_READ | GENERIC_WRITE, 0, nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr); + if (hDevice != INVALID_HANDLE_VALUE) + { + m_hDriver = hDevice; + return true; + } + + // If that failed, trying to get a handle directly with NtOpenFile like Process Hacker does (see their source, in kph.c) + // Thank to sen66 @ UnknownCheats.me for this code snippet + UNICODE_STRING objectName; + OBJECT_ATTRIBUTES objectAttributes; + IO_STATUS_BLOCK isb; + HANDLE hNtDriver; + const auto strObjectName = str2wstr(m_strDeviceName); + + RtlInitUnicodeString(&objectName, strObjectName.c_str()); + InitializeObjectAttributes(&objectAttributes, &objectName, FILE_NON_DIRECTORY_FILE, NULL, NULL); + const auto status = NtOpenFile(&hNtDriver, FILE_GENERIC_READ | FILE_GENERIC_WRITE, &objectAttributes, &isb, FILE_SHARE_READ | FILE_SHARE_WRITE, FILE_NON_DIRECTORY_FILE); + if (status == STATUS_SUCCESS) + { + m_hDriver = hNtDriver; + return true; + } + + return false; +} + +bool Driver::Load() +{ + // Try to get a handle on the driver (if already loaded) + if (Connect()) + { + m_wasRunning = true; + return true; + } + m_wasRunning = false; + + // Getting ready to interact with the service + const auto hScm = OpenSCManagerA(nullptr, nullptr, SC_MANAGER_CREATE_SERVICE); + if (!hScm) + return false; + + // Trying to get a handle on the service if it exist, otherwise we create it + auto hSc = OpenServiceA(hScm, m_strDriverName.c_str(), SERVICE_START); + if (!hSc) + { + // If driver file doesn't exist on disk and we have an embedded driver, we write it on disk + if (WriteDataToFile(m_pRawDriver, m_szRawDriver, m_strDriverFile)) + m_fileWasCreated = true; + else + m_fileWasCreated = false; + + hSc = CreateServiceA(hScm, m_strDriverName.c_str(), "", SERVICE_START, SERVICE_KERNEL_DRIVER, SERVICE_DEMAND_START, SERVICE_ERROR_IGNORE, m_strDriverFile.c_str(), nullptr, nullptr, nullptr, nullptr, nullptr); + if (!hSc) + { + // Service doesn't exist and can't create it, aborting + CloseServiceHandle(hScm); + return false; + } + m_wasInstalled = false; + } + else + m_wasInstalled = true; // The service was already installed + + // Starting service + auto bStartService = StartServiceA(hSc, NULL, nullptr); + if (!bStartService && GetLastError() == ERROR_SERVICE_DISABLED) + { + // Couldn't start service because it is disabled, upgrading handle to modify servcie configuration and starting it + CloseServiceHandle(hSc); + hSc = OpenServiceA(hScm, m_strDriverName.c_str(), SERVICE_START | SERVICE_CHANGE_CONFIG); + const auto bChangeServiceConfig = ChangeServiceConfigA(hSc, SERVICE_NO_CHANGE, SERVICE_DEMAND_START, SERVICE_NO_CHANGE, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr); + std::cout << "GLE = " << std::dec << GetLastError() << std::endl; + if (bChangeServiceConfig) + { + bStartService = StartServiceA(hSc, NULL, nullptr); + if (bStartService) + m_wasDisabled = true; + else + m_wasDisabled = false; + } + } + CloseServiceHandle(hSc); + CloseServiceHandle(hScm); + + // Getting handle + return Connect(); +} + +bool Driver::Unload() +{ + // Closing handle + CloseHandle(m_hDriver); + m_hDriver = nullptr; + + // If we want to forcibly stop the driver's service and uninstall it, we ignore if it was running and installed + if (removeAllOnExit) + { + m_wasRunning = false; + m_wasInstalled = false; + } + + // If the service was running we just leave it be just as it was + if (m_wasRunning && !removeAllOnExit) + return true; + + // Getting ready to interact with the service to stop, disable, and/or delete it + SERVICE_STATUS scStatus; + const auto hScm = OpenSCManagerA(nullptr, nullptr, SC_MANAGER_CONNECT); + if (!hScm) + return false; + DWORD dwServicePermission = SERVICE_STOP; + if (!m_wasInstalled) + dwServicePermission |= DELETE; + if (m_wasDisabled) + dwServicePermission |= SERVICE_CHANGE_CONFIG; + const auto hSc = OpenServiceA(hScm, m_strDriverName.c_str(), dwServicePermission); + if (!hSc) + { + CloseServiceHandle(hScm); + return false; + } + + // If the service was not running we stop it + if (!ControlService(hSc, SERVICE_CONTROL_STOP, &scStatus)) + { + CloseServiceHandle(hSc); + CloseServiceHandle(hScm); + return false; + } + + // If the service was disabled we re-disable it + if (m_wasDisabled) + if (!ChangeServiceConfigA(hSc, SERVICE_NO_CHANGE, SERVICE_DISABLED, SERVICE_NO_CHANGE, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr)) + { + CloseServiceHandle(hSc); + CloseServiceHandle(hScm); + return false; + } + + // If the service was installed we stop here + if (m_wasInstalled && !removeAllOnExit) + { + CloseServiceHandle(hSc); + CloseServiceHandle(hScm); + return true; + } + + // If the service was not installed, we uninstall it + const auto bDeleteService = DeleteService(hSc); + CloseServiceHandle(hSc); + CloseServiceHandle(hScm); + + // If we should delete the file we delete it + if (m_fileWasCreated && removeAllOnExit) + return DeleteFileA(m_strDriverFile.c_str()); + + return bDeleteService; +} \ No newline at end of file diff --git a/NativeCore/BypaPH/Driver.h b/NativeCore/BypaPH/Driver.h new file mode 100644 index 00000000..fe656b54 --- /dev/null +++ b/NativeCore/BypaPH/Driver.h @@ -0,0 +1,44 @@ +#pragma once +#include +#include +#include +#include +#include +#include "Tools.h" + +#pragma comment (lib, "ntdll.lib") + +class Driver +{ +public: + Driver(const std::string& strDriverFile, + const std::string& strDeviceName, + const std::string& strDriverName, + const unsigned char* pRawDriver = nullptr, + const size_t szRawDriver = 0); + + ~Driver(); + + HANDLE GetHandle() const { return m_hDriver; } + bool removeAllOnExit = false; + +private: + bool Connect(); + bool Load(); + bool Unload(); + + std::string m_strDriverFile = ""; + std::string m_strDeviceName = ""; + std::string m_strDriverName = ""; + + const unsigned char* m_pRawDriver = nullptr; + size_t m_szRawDriver = 0; + + bool m_wasRunning = false; + bool m_wasInstalled = false; + bool m_wasDisabled = false; + bool m_fileWasCreated = false; + + HANDLE m_hDriver = nullptr; +}; + diff --git a/NativeCore/BypaPH/KProcessHacker.cpp b/NativeCore/BypaPH/KProcessHacker.cpp new file mode 100644 index 00000000..e69de29b diff --git a/NativeCore/BypaPH/KProcessHacker.h b/NativeCore/BypaPH/KProcessHacker.h new file mode 100644 index 00000000..af1c4e10 --- /dev/null +++ b/NativeCore/BypaPH/KProcessHacker.h @@ -0,0 +1,4797 @@ +#pragma once + +#ifndef _WIN64 +#define KProcessHacker KProcessHacker_2_38_x86 +#define KProcessHackerSize KProcessHacker_2_38_x86_size +#else +#define KProcessHacker KProcessHacker_2_38_x64 +#define KProcessHackerSize KProcessHacker_2_38_x64_size +#endif + +const size_t KProcessHacker_2_38_x86_size = 36376; +const unsigned char KProcessHacker_2_38_x86[36376] = { + 0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, + 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x02, 0x00, 0x00, + 0x0E, 0x1F, 0xBA, 0x0E, 0x00, 0xB4, 0x09, 0xCD, 0x21, 0xB8, 0x01, 0x4C, 0xCD, 0x21, 0x54, 0x68, + 0x69, 0x73, 0x20, 0x70, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x20, 0x63, 0x61, 0x6E, 0x6E, 0x6F, + 0x74, 0x20, 0x62, 0x65, 0x20, 0x72, 0x75, 0x6E, 0x20, 0x69, 0x6E, 0x20, 0x44, 0x4F, 0x53, 0x20, + 0x6D, 0x6F, 0x64, 0x65, 0x2E, 0x0D, 0x0D, 0x0A, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0F, 0xAF, 0x3D, 0x7C, 0x4B, 0xCE, 0x53, 0x2F, 0x4B, 0xCE, 0x53, 0x2F, 0x4B, 0xCE, 0x53, 0x2F, + 0x42, 0xB6, 0xC6, 0x2F, 0x4F, 0xCE, 0x53, 0x2F, 0x4B, 0xCE, 0x52, 0x2F, 0x06, 0xCE, 0x53, 0x2F, + 0x88, 0xC1, 0x0E, 0x2F, 0x4E, 0xCE, 0x53, 0x2F, 0x88, 0xC1, 0x0C, 0x2F, 0x4A, 0xCE, 0x53, 0x2F, + 0x42, 0xB6, 0xD0, 0x2F, 0x46, 0xCE, 0x53, 0x2F, 0x42, 0xB6, 0xC7, 0x2F, 0x4A, 0xCE, 0x53, 0x2F, + 0x42, 0xB6, 0xC2, 0x2F, 0x4A, 0xCE, 0x53, 0x2F, 0x52, 0x69, 0x63, 0x68, 0x4B, 0xCE, 0x53, 0x2F, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x45, 0x00, 0x00, 0x4C, 0x01, 0x07, 0x00, + 0xE2, 0x77, 0x69, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x02, 0x01, + 0x0B, 0x01, 0x09, 0x00, 0x80, 0x51, 0x00, 0x00, 0x80, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xBE, 0x57, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x01, 0x00, 0x06, 0x00, 0x01, 0x00, + 0x05, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x69, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, + 0x9C, 0x38, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x57, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x00, 0x00, 0xF8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x69, 0x00, 0x00, 0x98, 0x24, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x78, 0x05, 0x00, 0x00, + 0x40, 0x13, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x60, 0x13, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x12, 0x00, 0x00, 0x3C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2E, 0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, 0x4A, 0x0D, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, + 0x80, 0x0D, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x68, 0x2E, 0x72, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, + 0xB4, 0x06, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x48, + 0x2E, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x00, 0xB4, 0x02, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, + 0x00, 0x03, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xC8, 0x50, 0x41, 0x47, 0x45, 0x00, 0x00, 0x00, 0x00, + 0x50, 0x3B, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x80, 0x3B, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x60, + 0x49, 0x4E, 0x49, 0x54, 0x00, 0x00, 0x00, 0x00, 0x42, 0x08, 0x00, 0x00, 0x80, 0x57, 0x00, 0x00, + 0x80, 0x08, 0x00, 0x00, 0x80, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0xE2, 0x2E, 0x72, 0x73, 0x72, 0x63, 0x00, 0x00, 0x00, + 0xF8, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x42, + 0x2E, 0x72, 0x65, 0x6C, 0x6F, 0x63, 0x00, 0x00, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, + 0x80, 0x06, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x1C, 0xA1, 0x10, + 0x1A, 0x01, 0x00, 0x33, 0xC5, 0x89, 0x45, 0xFC, 0x83, 0x65, 0xE4, 0x00, 0x53, 0x8B, 0x1D, 0x0C, + 0x12, 0x01, 0x00, 0x56, 0x8B, 0x75, 0x0C, 0x8B, 0x46, 0x60, 0x57, 0x8B, 0x78, 0x04, 0xFF, 0xD3, + 0x33, 0xC0, 0x40, 0x39, 0x05, 0xA8, 0x1B, 0x01, 0x00, 0x75, 0x38, 0x83, 0x65, 0xF4, 0x00, 0x83, + 0x65, 0xF8, 0x00, 0x89, 0x45, 0xE8, 0x89, 0x45, 0xEC, 0x0F, 0xB6, 0x46, 0x20, 0x50, 0x8B, 0x47, + 0x04, 0x83, 0xC0, 0x1C, 0x50, 0x8D, 0x45, 0xE8, 0x50, 0xC7, 0x45, 0xF0, 0x14, 0x00, 0x00, 0x00, + 0xFF, 0x15, 0x98, 0x12, 0x01, 0x00, 0x84, 0xC0, 0x75, 0x09, 0xBF, 0x61, 0x00, 0x00, 0xC0, 0xFF, + 0xD3, 0xEB, 0x03, 0x8B, 0x7D, 0xE4, 0x83, 0x66, 0x1C, 0x00, 0x32, 0xD2, 0x8B, 0xCE, 0x89, 0x7E, + 0x18, 0xFF, 0x15, 0x28, 0x13, 0x01, 0x00, 0x8B, 0x4D, 0xFC, 0x8B, 0xC7, 0x5F, 0x5E, 0x33, 0xCD, + 0x5B, 0xE8, 0xE5, 0x08, 0x00, 0x00, 0xC9, 0xC2, 0x08, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x51, 0x51, 0x53, 0x56, 0x57, 0xC7, 0x45, 0xFC, 0x00, 0x08, 0x00, + 0x00, 0xC7, 0x45, 0xF8, 0x08, 0x00, 0x00, 0x00, 0xBE, 0x4B, 0x70, 0x68, 0x54, 0x56, 0xFF, 0x75, + 0xFC, 0x6A, 0x01, 0xFF, 0x15, 0x20, 0x12, 0x01, 0x00, 0x8B, 0xF8, 0x85, 0xFF, 0x74, 0x2D, 0x8D, + 0x45, 0xFC, 0x50, 0xFF, 0x75, 0xFC, 0x57, 0x6A, 0x0B, 0xFF, 0x15, 0x30, 0x12, 0x01, 0x00, 0x8B, + 0xD8, 0x85, 0xDB, 0x7D, 0x1E, 0x56, 0x57, 0xFF, 0x15, 0x18, 0x12, 0x01, 0x00, 0x81, 0xFB, 0x04, + 0x00, 0x00, 0xC0, 0x75, 0x13, 0xFF, 0x4D, 0xF8, 0x75, 0xC3, 0xEB, 0x0C, 0xBB, 0x9A, 0x00, 0x00, + 0xC0, 0xEB, 0x05, 0x8B, 0x45, 0x08, 0x89, 0x38, 0x5F, 0x5E, 0x8B, 0xC3, 0x5B, 0xC9, 0xC2, 0x04, + 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x0C, 0x8D, 0x45, + 0xF4, 0x50, 0xE8, 0x79, 0xFF, 0xFF, 0xFF, 0x33, 0xD2, 0x3B, 0xC2, 0x7C, 0x5F, 0x8B, 0x4D, 0xF4, + 0x88, 0x55, 0xFF, 0x89, 0x55, 0xF8, 0x39, 0x11, 0x76, 0x3A, 0x8B, 0x45, 0x0C, 0x56, 0x8B, 0x75, + 0x08, 0x57, 0x8D, 0x3C, 0x06, 0x8D, 0x41, 0x0C, 0x53, 0x3B, 0xFE, 0x72, 0x0F, 0x8B, 0x10, 0x3B, + 0xF2, 0x72, 0x09, 0x8B, 0x58, 0x04, 0x03, 0xDA, 0x3B, 0xFB, 0x76, 0x11, 0xFF, 0x45, 0xF8, 0x8B, + 0x55, 0xF8, 0x05, 0x1C, 0x01, 0x00, 0x00, 0x3B, 0x11, 0x72, 0xDE, 0xEB, 0x04, 0xC6, 0x45, 0xFF, + 0x01, 0x5B, 0x5F, 0x5E, 0x68, 0x4B, 0x70, 0x68, 0x54, 0x51, 0xFF, 0x15, 0x18, 0x12, 0x01, 0x00, + 0x33, 0xC0, 0x38, 0x45, 0xFF, 0x75, 0x05, 0xB8, 0x05, 0x00, 0x00, 0xC0, 0xC9, 0xC2, 0x08, 0x00, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x58, 0x68, 0x38, 0x14, 0x01, 0x00, 0xE8, 0xFA, 0x09, + 0x00, 0x00, 0x8B, 0x4D, 0x0C, 0x89, 0x4D, 0x98, 0x8B, 0x41, 0x60, 0x8B, 0x78, 0x10, 0x8B, 0x58, + 0x08, 0x8B, 0x70, 0x0C, 0x8A, 0x41, 0x20, 0x88, 0x45, 0xA0, 0x85, 0xDB, 0x74, 0x0E, 0x85, 0xFF, + 0x75, 0x0A, 0xBE, 0x06, 0x02, 0x00, 0xC0, 0xE9, 0xE3, 0x04, 0x00, 0x00, 0x83, 0xFB, 0x40, 0x77, + 0xF1, 0x84, 0xC0, 0x74, 0x45, 0x83, 0x65, 0xFC, 0x00, 0x6A, 0x01, 0x53, 0x57, 0xFF, 0x15, 0x38, + 0x12, 0x01, 0x00, 0x53, 0x57, 0x8D, 0x45, 0xA4, 0x50, 0xE8, 0xCE, 0x07, 0x00, 0x00, 0x83, 0xC4, + 0x0C, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x2E, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, + 0x00, 0x89, 0x45, 0x9C, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x75, 0x9C, 0xC7, 0x45, + 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xE9, 0x95, 0x04, 0x00, 0x00, 0x53, 0x57, 0x8D, 0x45, 0xA4, 0x50, + 0xE8, 0x97, 0x07, 0x00, 0x00, 0x83, 0xC4, 0x0C, 0xB8, 0x97, 0x21, 0x99, 0x99, 0x3B, 0xF0, 0x0F, + 0x87, 0x33, 0x02, 0x00, 0x00, 0x0F, 0x84, 0x0E, 0x02, 0x00, 0x00, 0xB8, 0xDF, 0x20, 0x99, 0x99, + 0x3B, 0xF0, 0x0F, 0x87, 0xF4, 0x00, 0x00, 0x00, 0x0F, 0x84, 0xD6, 0x00, 0x00, 0x00, 0x81, 0xFE, + 0x03, 0x20, 0x99, 0x99, 0x0F, 0x84, 0xAB, 0x00, 0x00, 0x00, 0x81, 0xFE, 0xCB, 0x20, 0x99, 0x99, + 0x0F, 0x84, 0x84, 0x00, 0x00, 0x00, 0x81, 0xFE, 0xCF, 0x20, 0x99, 0x99, 0x74, 0x61, 0x81, 0xFE, + 0xD3, 0x20, 0x99, 0x99, 0x74, 0x3E, 0x81, 0xFE, 0xD7, 0x20, 0x99, 0x99, 0x74, 0x21, 0x81, 0xFE, + 0xDB, 0x20, 0x99, 0x99, 0x0F, 0x85, 0x4C, 0x03, 0x00, 0x00, 0x83, 0xFB, 0x04, 0x75, 0x7B, 0xFF, + 0x75, 0xA0, 0xFF, 0x75, 0xA4, 0xE8, 0x60, 0x33, 0x00, 0x00, 0xE9, 0x0E, 0x04, 0x00, 0x00, 0x83, + 0xFB, 0x04, 0x75, 0x66, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xA4, 0xE8, 0xF7, 0x32, 0x00, 0x00, 0xE9, + 0xF9, 0x03, 0x00, 0x00, 0x83, 0xFB, 0x0C, 0x75, 0x51, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xAC, 0xFF, + 0x75, 0xA8, 0xFF, 0x75, 0xA4, 0xE8, 0xEC, 0x31, 0x00, 0x00, 0xE9, 0xDE, 0x03, 0x00, 0x00, 0x83, + 0xFB, 0x0C, 0x75, 0x36, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xAC, 0xFF, 0x75, 0xA8, 0xFF, 0x75, 0xA4, + 0xE8, 0xE5, 0x30, 0x00, 0x00, 0xE9, 0xC3, 0x03, 0x00, 0x00, 0x83, 0xFB, 0x0C, 0x75, 0x1B, 0xFF, + 0x75, 0xA0, 0xFF, 0x75, 0xAC, 0xFF, 0x75, 0xA8, 0xFF, 0x75, 0xA4, 0xE8, 0xAE, 0x2F, 0x00, 0x00, + 0xE9, 0xA8, 0x03, 0x00, 0x00, 0x83, 0xFB, 0x04, 0x74, 0x0A, 0xBE, 0x04, 0x00, 0x00, 0xC0, 0xE9, + 0x9B, 0x03, 0x00, 0x00, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xA4, 0xE8, 0xFD, 0x15, 0x00, 0x00, 0xE9, + 0x89, 0x03, 0x00, 0x00, 0x83, 0xFB, 0x08, 0x75, 0xE1, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xA8, 0xFF, + 0x75, 0xA4, 0xE8, 0x93, 0x33, 0x00, 0x00, 0xE9, 0x71, 0x03, 0x00, 0x00, 0x81, 0xFE, 0xE3, 0x20, + 0x99, 0x99, 0x0F, 0x84, 0xDC, 0x00, 0x00, 0x00, 0x81, 0xFE, 0xE7, 0x20, 0x99, 0x99, 0x0F, 0x84, + 0xAB, 0x00, 0x00, 0x00, 0x81, 0xFE, 0xEB, 0x20, 0x99, 0x99, 0x74, 0x7E, 0x81, 0xFE, 0xEF, 0x20, + 0x99, 0x99, 0x74, 0x51, 0x81, 0xFE, 0xF3, 0x20, 0x99, 0x99, 0x74, 0x27, 0x81, 0xFE, 0x93, 0x21, + 0x99, 0x99, 0x0F, 0x85, 0x5E, 0x02, 0x00, 0x00, 0x83, 0xFB, 0x0C, 0x75, 0x8D, 0xFF, 0x75, 0xA0, + 0xFF, 0x75, 0xAC, 0xFF, 0x75, 0xA8, 0xFF, 0x75, 0xA4, 0xE8, 0xFA, 0x39, 0x00, 0x00, 0xE9, 0x1A, + 0x03, 0x00, 0x00, 0x83, 0xFB, 0x10, 0x0F, 0x85, 0x6E, 0xFF, 0xFF, 0xFF, 0xFF, 0x75, 0xA0, 0xFF, + 0x75, 0xB0, 0xFF, 0x75, 0xAC, 0xFF, 0x75, 0xA8, 0xFF, 0x75, 0xA4, 0xE8, 0x04, 0x36, 0x00, 0x00, + 0xE9, 0xF8, 0x02, 0x00, 0x00, 0x83, 0xFB, 0x14, 0x0F, 0x85, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0x75, + 0xA0, 0xFF, 0x75, 0xB4, 0xFF, 0x75, 0xB0, 0xFF, 0x75, 0xAC, 0xFF, 0x75, 0xA8, 0xFF, 0x75, 0xA4, + 0xE8, 0x93, 0x33, 0x00, 0x00, 0xE9, 0xD3, 0x02, 0x00, 0x00, 0x83, 0xFB, 0x14, 0x0F, 0x85, 0x27, + 0xFF, 0xFF, 0xFF, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xB4, 0xFF, 0x75, 0xB0, 0xFF, 0x75, 0xAC, 0xFF, + 0x75, 0xA8, 0xFF, 0x75, 0xA4, 0xE8, 0x7E, 0x4A, 0x00, 0x00, 0xE9, 0xAE, 0x02, 0x00, 0x00, 0x83, + 0xFB, 0x14, 0x0F, 0x85, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xB4, 0xFF, 0x75, + 0xB0, 0xFF, 0x75, 0xAC, 0xFF, 0x75, 0xA8, 0xFF, 0x75, 0xA4, 0xE8, 0x4D, 0x49, 0x00, 0x00, 0xE9, + 0x89, 0x02, 0x00, 0x00, 0x83, 0xFB, 0x14, 0x0F, 0x85, 0xDD, 0xFE, 0xFF, 0xFF, 0xFF, 0x75, 0xA0, + 0xFF, 0x75, 0xB4, 0xFF, 0x75, 0xB0, 0xFF, 0x75, 0xAC, 0xFF, 0x75, 0xA8, 0xFF, 0x75, 0xA4, 0xE8, + 0x1C, 0x48, 0x00, 0x00, 0xE9, 0x64, 0x02, 0x00, 0x00, 0x83, 0xFB, 0x0C, 0x0F, 0x85, 0xB8, 0xFE, + 0xFF, 0xFF, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xAC, 0xFF, 0x75, 0xA8, 0xFF, 0x75, 0xA4, 0xE8, 0x29, + 0x3A, 0x00, 0x00, 0xE9, 0x45, 0x02, 0x00, 0x00, 0xB8, 0xB3, 0x21, 0x99, 0x99, 0x3B, 0xF0, 0x0F, + 0x87, 0x25, 0x01, 0x00, 0x00, 0x0F, 0x84, 0xFD, 0x00, 0x00, 0x00, 0x81, 0xFE, 0x9B, 0x21, 0x99, + 0x99, 0x0F, 0x84, 0xD5, 0x00, 0x00, 0x00, 0x81, 0xFE, 0x9F, 0x21, 0x99, 0x99, 0x0F, 0x84, 0xAD, + 0x00, 0x00, 0x00, 0x81, 0xFE, 0xA3, 0x21, 0x99, 0x99, 0x0F, 0x84, 0x85, 0x00, 0x00, 0x00, 0x81, + 0xFE, 0xA7, 0x21, 0x99, 0x99, 0x74, 0x61, 0x81, 0xFE, 0xAB, 0x21, 0x99, 0x99, 0x74, 0x31, 0x81, + 0xFE, 0xAF, 0x21, 0x99, 0x99, 0x0F, 0x85, 0x1B, 0x01, 0x00, 0x00, 0x83, 0xFB, 0x14, 0x0F, 0x85, + 0x46, 0xFE, 0xFF, 0xFF, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xB4, 0xFF, 0x75, 0xB0, 0xFF, 0x75, 0xAC, + 0xFF, 0x75, 0xA8, 0xFF, 0x75, 0xA4, 0xE8, 0xB7, 0x3C, 0x00, 0x00, 0xE9, 0xCD, 0x01, 0x00, 0x00, + 0x83, 0xFB, 0x18, 0x0F, 0x85, 0x21, 0xFE, 0xFF, 0xFF, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xB8, 0xFF, + 0x75, 0xB4, 0xFF, 0x75, 0xB0, 0xFF, 0x75, 0xAC, 0xFF, 0x75, 0xA8, 0xFF, 0x75, 0xA4, 0xE8, 0x2D, + 0x43, 0x00, 0x00, 0xE9, 0xA5, 0x01, 0x00, 0x00, 0x83, 0xFB, 0x08, 0x0F, 0x85, 0xF9, 0xFD, 0xFF, + 0xFF, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xA8, 0xFF, 0x75, 0xA4, 0xE8, 0xE7, 0x3B, 0x00, 0x00, 0xE9, + 0x89, 0x01, 0x00, 0x00, 0x83, 0xFB, 0x08, 0x0F, 0x85, 0xDD, 0xFD, 0xFF, 0xFF, 0xFF, 0x75, 0xA0, + 0xFF, 0x75, 0xA8, 0xFF, 0x75, 0xA4, 0xE8, 0x7F, 0x3B, 0x00, 0x00, 0xE9, 0x6D, 0x01, 0x00, 0x00, + 0x83, 0xFB, 0x08, 0x0F, 0x85, 0xC1, 0xFD, 0xFF, 0xFF, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xA8, 0xFF, + 0x75, 0xA4, 0xE8, 0xCF, 0x3F, 0x00, 0x00, 0xE9, 0x51, 0x01, 0x00, 0x00, 0x83, 0xFB, 0x08, 0x0F, + 0x85, 0xA5, 0xFD, 0xFF, 0xFF, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xA8, 0xFF, 0x75, 0xA4, 0xE8, 0xB9, + 0x3A, 0x00, 0x00, 0xE9, 0x35, 0x01, 0x00, 0x00, 0x83, 0xFB, 0x10, 0x0F, 0x85, 0x89, 0xFD, 0xFF, + 0xFF, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xB0, 0xFF, 0x75, 0xAC, 0xFF, 0x75, 0xA8, 0xFF, 0x75, 0xA4, + 0xE8, 0xB5, 0x3D, 0x00, 0x00, 0xE9, 0x13, 0x01, 0x00, 0x00, 0x81, 0xFE, 0x5B, 0x22, 0x99, 0x99, + 0x0F, 0x84, 0xEA, 0x00, 0x00, 0x00, 0x81, 0xFE, 0x5F, 0x22, 0x99, 0x99, 0x0F, 0x84, 0xB9, 0x00, + 0x00, 0x00, 0x81, 0xFE, 0x63, 0x22, 0x99, 0x99, 0x0F, 0x84, 0x8B, 0x00, 0x00, 0x00, 0x81, 0xFE, + 0x67, 0x22, 0x99, 0x99, 0x74, 0x5B, 0x81, 0xFE, 0x23, 0x23, 0x99, 0x99, 0x74, 0x37, 0x81, 0xFE, + 0x27, 0x23, 0x99, 0x99, 0x74, 0x0A, 0xBE, 0x10, 0x00, 0x00, 0xC0, 0xE9, 0xCF, 0x00, 0x00, 0x00, + 0x83, 0xFB, 0x14, 0x0F, 0x85, 0x21, 0xFD, 0xFF, 0xFF, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xB4, 0xFF, + 0x75, 0xB0, 0xFF, 0x75, 0xAC, 0xFF, 0x75, 0xA8, 0xFF, 0x75, 0xA4, 0xE8, 0xD4, 0x35, 0x00, 0x00, + 0xE9, 0xA8, 0x00, 0x00, 0x00, 0x83, 0xFB, 0x08, 0x0F, 0x85, 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0x75, + 0xA0, 0xFF, 0x75, 0xA8, 0xFF, 0x75, 0xA4, 0xE8, 0x4C, 0x35, 0x00, 0x00, 0xE9, 0x8C, 0x00, 0x00, + 0x00, 0x83, 0xFB, 0x1C, 0x0F, 0x85, 0xE0, 0xFC, 0xFF, 0xFF, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xBC, + 0xFF, 0x75, 0xB8, 0xFF, 0x75, 0xB4, 0xFF, 0x75, 0xB0, 0xFF, 0x75, 0xAC, 0xFF, 0x75, 0xA8, 0xFF, + 0x75, 0xA4, 0xE8, 0x85, 0x21, 0x00, 0x00, 0xEB, 0x64, 0x83, 0xFB, 0x14, 0x0F, 0x85, 0xB8, 0xFC, + 0xFF, 0xFF, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xB4, 0xFF, 0x75, 0xB0, 0xFF, 0x75, 0xAC, 0xFF, 0x75, + 0xA8, 0xFF, 0x75, 0xA4, 0xE8, 0xCF, 0x1E, 0x00, 0x00, 0xEB, 0x42, 0x83, 0xFB, 0x18, 0x0F, 0x85, + 0x96, 0xFC, 0xFF, 0xFF, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xB8, 0xFF, 0x75, 0xB4, 0xFF, 0x75, 0xB0, + 0xFF, 0x75, 0xAC, 0xFF, 0x75, 0xA8, 0xFF, 0x75, 0xA4, 0xE8, 0xF6, 0x23, 0x00, 0x00, 0xEB, 0x1D, + 0x83, 0xFB, 0x10, 0x0F, 0x85, 0x71, 0xFC, 0xFF, 0xFF, 0xFF, 0x75, 0xA0, 0xFF, 0x75, 0xB0, 0xFF, + 0x75, 0xAC, 0xFF, 0x75, 0xA8, 0xFF, 0x75, 0xA4, 0xE8, 0x21, 0x1C, 0x00, 0x00, 0x8B, 0xF0, 0x8B, + 0x4D, 0x98, 0x89, 0x71, 0x18, 0x83, 0x61, 0x1C, 0x00, 0x32, 0xD2, 0xFF, 0x15, 0x28, 0x13, 0x01, + 0x00, 0x8B, 0xC6, 0xE8, 0x1C, 0x05, 0x00, 0x00, 0xC2, 0x08, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x51, 0x56, 0x8B, 0x75, 0x08, 0x80, 0x3E, 0x00, 0x75, 0x04, 0x33, + 0xC0, 0xEB, 0x5B, 0x80, 0x7E, 0x01, 0x00, 0x75, 0x52, 0x8B, 0x46, 0x04, 0x8B, 0x4E, 0x0C, 0x53, + 0x8B, 0x5E, 0x08, 0x57, 0x89, 0x45, 0xFC, 0x8B, 0x46, 0x10, 0x50, 0x8D, 0x14, 0x01, 0x51, 0x89, + 0x55, 0x08, 0xE8, 0x0F, 0xFA, 0xFF, 0xFF, 0x85, 0xC0, 0x7C, 0x26, 0x8B, 0x7E, 0x0C, 0xEB, 0x10, + 0x53, 0xFF, 0x75, 0xFC, 0x57, 0xFF, 0x15, 0x3C, 0x12, 0x01, 0x00, 0x3B, 0xC3, 0x74, 0x08, 0x47, + 0x3B, 0x7D, 0x08, 0x72, 0xEB, 0xEB, 0x0E, 0x8B, 0x46, 0x14, 0x03, 0xC7, 0x89, 0x46, 0x18, 0xEB, + 0x04, 0x83, 0x66, 0x18, 0x00, 0x5F, 0xC6, 0x46, 0x01, 0x01, 0x5B, 0x8B, 0x46, 0x18, 0x5E, 0xC9, + 0xC2, 0x04, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x1C, 0x68, 0x58, 0x14, 0x01, 0x00, 0xE8, + 0x80, 0x02, 0x00, 0x00, 0x83, 0x65, 0xFC, 0x00, 0x6A, 0x04, 0x6A, 0x08, 0x8B, 0x7D, 0x08, 0x57, + 0x8B, 0x35, 0x38, 0x12, 0x01, 0x00, 0xFF, 0xD6, 0x66, 0x8B, 0x1F, 0x66, 0x89, 0x5D, 0xD4, 0x66, + 0x89, 0x5D, 0xD6, 0x83, 0x65, 0xD8, 0x00, 0x8B, 0x47, 0x04, 0x89, 0x45, 0xE4, 0x0F, 0xB7, 0xFB, + 0x6A, 0x02, 0x57, 0x50, 0xFF, 0xD6, 0x6A, 0xFE, 0x5E, 0x89, 0x75, 0xFC, 0xF6, 0xC3, 0x01, 0x74, + 0x0A, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0xE9, 0x8E, 0x00, 0x00, 0x00, 0x66, 0x85, 0xDB, 0x74, 0x31, + 0x68, 0x4B, 0x70, 0x68, 0x55, 0x57, 0x33, 0xDB, 0x43, 0x53, 0xFF, 0x15, 0x20, 0x12, 0x01, 0x00, + 0x89, 0x45, 0xD8, 0x85, 0xC0, 0x75, 0x07, 0xB8, 0x9A, 0x00, 0x00, 0xC0, 0xEB, 0x6B, 0x89, 0x5D, + 0xFC, 0x57, 0xFF, 0x75, 0xE4, 0x50, 0xE8, 0xF1, 0x01, 0x00, 0x00, 0x83, 0xC4, 0x0C, 0x89, 0x75, + 0xFC, 0x8B, 0x4D, 0xD4, 0x8B, 0x45, 0x0C, 0x89, 0x08, 0x8B, 0x4D, 0xD8, 0x89, 0x48, 0x04, 0x33, + 0xC0, 0xEB, 0x46, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xE0, 0x33, 0xC0, 0x40, + 0xC3, 0x8B, 0x65, 0xE8, 0x68, 0x4B, 0x70, 0x68, 0x55, 0xFF, 0x75, 0xD8, 0xFF, 0x15, 0x18, 0x12, + 0x01, 0x00, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x45, 0xE0, 0xEB, 0x1B, 0x8B, 0x45, + 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xDC, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0xC7, + 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x45, 0xDC, 0xE8, 0xEB, 0x01, 0x00, 0x00, 0xC2, 0x08, + 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0xA1, 0x20, 0x1A, 0x01, 0x00, + 0x85, 0xC0, 0x74, 0x19, 0x83, 0x3D, 0x38, 0x1A, 0x01, 0x00, 0x00, 0x74, 0x10, 0xFF, 0x75, 0x08, + 0xFF, 0xD0, 0x33, 0xC9, 0x85, 0xC0, 0x0F, 0x9D, 0xC1, 0x8A, 0xC1, 0xEB, 0x19, 0xA1, 0x08, 0x19, + 0x01, 0x00, 0x83, 0xF8, 0xFF, 0x75, 0x04, 0x32, 0xC0, 0xEB, 0x0B, 0x8B, 0x4D, 0x08, 0x03, 0xC8, + 0xFF, 0x15, 0xBC, 0x12, 0x01, 0x00, 0x5D, 0xC2, 0x04, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0xA1, 0x38, 0x1A, 0x01, 0x00, 0x85, 0xC0, 0x74, 0x03, 0x5D, 0xFF, + 0xE0, 0xA1, 0x08, 0x19, 0x01, 0x00, 0x83, 0xF8, 0xFF, 0x74, 0x0B, 0x8B, 0x4D, 0x08, 0x03, 0xC8, + 0xFF, 0x15, 0xC0, 0x12, 0x01, 0x00, 0x5D, 0xC2, 0x04, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x81, 0xEC, 0x00, 0x01, 0x00, 0x00, 0x53, 0x8B, 0x5D, 0x0C, 0x56, + 0x8B, 0x75, 0x08, 0x46, 0x8D, 0x04, 0x1E, 0x83, 0xF8, 0x40, 0x76, 0x04, 0x33, 0xC0, 0xEB, 0x58, + 0x8B, 0x4D, 0x10, 0x83, 0xE1, 0x01, 0x3B, 0x4D, 0x10, 0x75, 0xF1, 0xFF, 0x75, 0x10, 0x50, 0x8D, + 0x85, 0x00, 0xFF, 0xFF, 0xFF, 0x50, 0xFF, 0x15, 0xE4, 0x12, 0x01, 0x00, 0x89, 0x45, 0x10, 0x3B, + 0xC6, 0x76, 0xD9, 0x57, 0x33, 0xC0, 0x33, 0xFF, 0x85, 0xDB, 0x76, 0x22, 0x8D, 0x94, 0xB5, 0x00, + 0xFF, 0xFF, 0xFF, 0x8D, 0x0C, 0x30, 0x3B, 0x4D, 0x10, 0x73, 0x13, 0x8B, 0x0A, 0x8B, 0x5D, 0x14, + 0x03, 0xF9, 0x89, 0x0C, 0x83, 0x40, 0x83, 0xC2, 0x04, 0x3B, 0x45, 0x0C, 0x72, 0xE5, 0x8B, 0x4D, + 0x18, 0x85, 0xC9, 0x74, 0x02, 0x89, 0x39, 0x5F, 0x5E, 0x5B, 0xC9, 0xC2, 0x14, 0x00, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x8B, 0x55, 0x0C, 0x8B, 0x45, 0x08, 0xC6, + 0x02, 0x00, 0x8B, 0x00, 0x8B, 0x08, 0x81, 0xF9, 0x05, 0x00, 0x00, 0xC0, 0x74, 0x10, 0x81, 0xF9, + 0x01, 0x00, 0x00, 0x80, 0x74, 0x08, 0x81, 0xF9, 0x06, 0x00, 0x00, 0xC0, 0x75, 0x11, 0x83, 0x78, + 0x10, 0x01, 0x76, 0x0B, 0x8B, 0x4D, 0x10, 0xC6, 0x02, 0x01, 0x8B, 0x40, 0x18, 0x89, 0x01, 0x33, + 0xC0, 0x40, 0x5D, 0xC2, 0x0C, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x3B, 0x0D, 0x10, 0x1A, 0x01, + 0x00, 0x75, 0x03, 0xC2, 0x00, 0x00, 0xE9, 0x05, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x51, 0x89, 0x4D, 0xFC, 0x6A, 0x00, 0xFF, 0x35, 0x14, 0x1A, 0x01, + 0x00, 0xFF, 0x35, 0x10, 0x1A, 0x01, 0x00, 0xFF, 0x75, 0xFC, 0x68, 0xF7, 0x00, 0x00, 0x00, 0xFF, + 0x15, 0x24, 0x13, 0x01, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xFF, 0x25, 0x28, 0x12, + 0x01, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xFF, 0x25, 0x2C, 0x13, 0x01, 0x00, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x68, 0xC0, 0x0E, 0x01, 0x00, 0x64, 0xFF, 0x35, 0x00, 0x00, 0x00, 0x00, + 0x8B, 0x44, 0x24, 0x10, 0x89, 0x6C, 0x24, 0x10, 0x8D, 0x6C, 0x24, 0x10, 0x2B, 0xE0, 0x53, 0x56, + 0x57, 0xA1, 0x10, 0x1A, 0x01, 0x00, 0x31, 0x45, 0xFC, 0x33, 0xC5, 0x50, 0x89, 0x65, 0xE8, 0xFF, + 0x75, 0xF8, 0x8B, 0x45, 0xFC, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x89, 0x45, 0xF8, 0x8D, + 0x45, 0xF0, 0x64, 0xA3, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x8B, 0x4D, 0xF0, 0x64, 0x89, 0x0D, 0x00, + 0x00, 0x00, 0x00, 0x59, 0x5F, 0x5F, 0x5E, 0x5B, 0x8B, 0xE5, 0x5D, 0x51, 0xC3, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x14, 0x53, 0x8B, 0x5D, 0x0C, 0x56, 0x8B, 0x73, 0x08, + 0x33, 0x35, 0x10, 0x1A, 0x01, 0x00, 0x57, 0x8B, 0x06, 0xC6, 0x45, 0xFF, 0x00, 0xC7, 0x45, 0xF8, + 0x01, 0x00, 0x00, 0x00, 0x8D, 0x7B, 0x10, 0x83, 0xF8, 0xFE, 0x74, 0x0D, 0x8B, 0x4E, 0x04, 0x03, + 0xCF, 0x33, 0x0C, 0x38, 0xE8, 0x02, 0xFF, 0xFF, 0xFF, 0x8B, 0x4E, 0x0C, 0x8B, 0x46, 0x08, 0x03, + 0xCF, 0x33, 0x0C, 0x38, 0xE8, 0xF2, 0xFE, 0xFF, 0xFF, 0x8B, 0x45, 0x08, 0xF6, 0x40, 0x04, 0x66, + 0x0F, 0x85, 0xE2, 0x00, 0x00, 0x00, 0x8B, 0x4D, 0x10, 0x8D, 0x55, 0xEC, 0x89, 0x53, 0xFC, 0x8B, + 0x5B, 0x0C, 0x89, 0x45, 0xEC, 0x89, 0x4D, 0xF0, 0x83, 0xFB, 0xFE, 0x74, 0x5F, 0x8D, 0x49, 0x00, + 0x8D, 0x04, 0x5B, 0x8B, 0x4C, 0x86, 0x14, 0x8D, 0x44, 0x86, 0x10, 0x89, 0x45, 0xF4, 0x8B, 0x00, + 0x89, 0x45, 0x08, 0x85, 0xC9, 0x74, 0x14, 0x8B, 0xD7, 0xE8, 0x0F, 0x02, 0x00, 0x00, 0xC6, 0x45, + 0xFF, 0x01, 0x85, 0xC0, 0x7C, 0x40, 0x7F, 0x47, 0x8B, 0x45, 0x08, 0x8B, 0xD8, 0x83, 0xF8, 0xFE, + 0x75, 0xCE, 0x80, 0x7D, 0xFF, 0x00, 0x74, 0x24, 0x8B, 0x06, 0x83, 0xF8, 0xFE, 0x74, 0x0D, 0x8B, + 0x4E, 0x04, 0x03, 0xCF, 0x33, 0x0C, 0x38, 0xE8, 0x7F, 0xFE, 0xFF, 0xFF, 0x8B, 0x4E, 0x0C, 0x8B, + 0x56, 0x08, 0x03, 0xCF, 0x33, 0x0C, 0x3A, 0xE8, 0x6F, 0xFE, 0xFF, 0xFF, 0x8B, 0x45, 0xF8, 0x5F, + 0x5E, 0x5B, 0x8B, 0xE5, 0x5D, 0xC3, 0xC7, 0x45, 0xF8, 0x00, 0x00, 0x00, 0x00, 0xEB, 0xC9, 0x8B, + 0x4D, 0x0C, 0xE8, 0xDF, 0x01, 0x00, 0x00, 0x8B, 0x45, 0x0C, 0x39, 0x58, 0x0C, 0x74, 0x12, 0x68, + 0x10, 0x1A, 0x01, 0x00, 0x57, 0x8B, 0xD3, 0x8B, 0xC8, 0xE8, 0xE2, 0x01, 0x00, 0x00, 0x8B, 0x45, + 0x0C, 0x8B, 0x4D, 0x08, 0x89, 0x48, 0x0C, 0x8B, 0x06, 0x83, 0xF8, 0xFE, 0x74, 0x0D, 0x8B, 0x4E, + 0x04, 0x03, 0xCF, 0x33, 0x0C, 0x38, 0xE8, 0x20, 0xFE, 0xFF, 0xFF, 0x8B, 0x4E, 0x0C, 0x8B, 0x56, + 0x08, 0x03, 0xCF, 0x33, 0x0C, 0x3A, 0xE8, 0x10, 0xFE, 0xFF, 0xFF, 0x8B, 0x45, 0xF4, 0x8B, 0x48, + 0x08, 0x8B, 0xD7, 0xE8, 0x7C, 0x01, 0x00, 0x00, 0xBA, 0xFE, 0xFF, 0xFF, 0xFF, 0x39, 0x53, 0x0C, + 0x74, 0x8A, 0x68, 0x10, 0x1A, 0x01, 0x00, 0x57, 0x8B, 0xCB, 0xE8, 0x91, 0x01, 0x00, 0x00, 0xE9, + 0x54, 0xFF, 0xFF, 0xFF, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x68, 0xC0, 0x0E, 0x01, + 0x00, 0x64, 0xFF, 0x35, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x44, 0x24, 0x10, 0x89, 0x6C, 0x24, 0x10, + 0x8D, 0x6C, 0x24, 0x10, 0x2B, 0xE0, 0x53, 0x56, 0x57, 0xA1, 0x10, 0x1A, 0x01, 0x00, 0x31, 0x45, + 0xFC, 0x33, 0xC5, 0x89, 0x45, 0xE4, 0x50, 0x89, 0x65, 0xE8, 0xFF, 0x75, 0xF8, 0x8B, 0x45, 0xFC, + 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x89, 0x45, 0xF8, 0x8D, 0x45, 0xF0, 0x64, 0xA3, 0x00, + 0x00, 0x00, 0x00, 0xC3, 0x8B, 0x4D, 0xE4, 0x33, 0xCD, 0xE8, 0x8D, 0xFD, 0xFF, 0xFF, 0xE9, 0x26, + 0xFE, 0xFF, 0xFF, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x53, 0x56, 0x57, 0x8B, 0x54, 0x24, 0x10, 0x8B, + 0x44, 0x24, 0x14, 0x8B, 0x4C, 0x24, 0x18, 0x55, 0x52, 0x50, 0x51, 0x51, 0x68, 0xFB, 0x10, 0x01, + 0x00, 0x64, 0xFF, 0x35, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x10, 0x1A, 0x01, 0x00, 0x33, 0xC4, 0x89, + 0x44, 0x24, 0x08, 0x64, 0x89, 0x25, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x44, 0x24, 0x30, 0x8B, 0x58, + 0x08, 0x8B, 0x4C, 0x24, 0x2C, 0x33, 0x19, 0x8B, 0x70, 0x0C, 0x83, 0xFE, 0xFE, 0x74, 0x2E, 0x8B, + 0x54, 0x24, 0x34, 0x83, 0xFA, 0xFE, 0x74, 0x04, 0x3B, 0xF2, 0x76, 0x21, 0x8D, 0x34, 0x76, 0x8D, + 0x5C, 0xB3, 0x10, 0x8B, 0x0B, 0x89, 0x48, 0x0C, 0x83, 0x7B, 0x04, 0x00, 0x75, 0xCC, 0xB9, 0x01, + 0x00, 0x00, 0x00, 0x8B, 0x43, 0x08, 0xE8, 0xD1, 0x00, 0x00, 0x00, 0xEB, 0xBD, 0x64, 0x8F, 0x05, + 0x00, 0x00, 0x00, 0x00, 0x83, 0xC4, 0x18, 0x5F, 0x5E, 0x5B, 0xC3, 0x8B, 0x4C, 0x24, 0x04, 0xF7, + 0x41, 0x04, 0x06, 0x00, 0x00, 0x00, 0xB8, 0x01, 0x00, 0x00, 0x00, 0x74, 0x33, 0x8B, 0x44, 0x24, + 0x08, 0x8B, 0x48, 0x08, 0x33, 0xC8, 0xE8, 0xE0, 0xFC, 0xFF, 0xFF, 0x55, 0x8B, 0x68, 0x18, 0xFF, + 0x70, 0x0C, 0xFF, 0x70, 0x10, 0xFF, 0x70, 0x14, 0xE8, 0x4B, 0xFF, 0xFF, 0xFF, 0x83, 0xC4, 0x0C, + 0x5D, 0x8B, 0x44, 0x24, 0x08, 0x8B, 0x54, 0x24, 0x10, 0x89, 0x02, 0xB8, 0x03, 0x00, 0x00, 0x00, + 0xC3, 0x55, 0x8B, 0x4C, 0x24, 0x08, 0x8B, 0x29, 0xFF, 0x71, 0x1C, 0xFF, 0x71, 0x18, 0xFF, 0x71, + 0x28, 0xE8, 0x22, 0xFF, 0xFF, 0xFF, 0x83, 0xC4, 0x0C, 0x5D, 0xC2, 0x04, 0x00, 0x55, 0x56, 0x57, + 0x53, 0x8B, 0xEA, 0x33, 0xC0, 0x33, 0xDB, 0x33, 0xD2, 0x33, 0xF6, 0x33, 0xFF, 0xFF, 0xD1, 0x5B, + 0x5F, 0x5E, 0x5D, 0xC3, 0x8B, 0xEA, 0x8B, 0xF1, 0x8B, 0xC1, 0x33, 0xC0, 0x33, 0xDB, 0x33, 0xC9, + 0x33, 0xD2, 0x33, 0xFF, 0xFF, 0xE6, 0x55, 0x8B, 0xEC, 0x53, 0x56, 0x57, 0x6A, 0x00, 0x6A, 0x00, + 0x68, 0x9B, 0x11, 0x01, 0x00, 0x51, 0xE8, 0x29, 0x00, 0x00, 0x00, 0x5F, 0x5E, 0x5B, 0x5D, 0xC3, + 0x55, 0x8B, 0x6C, 0x24, 0x08, 0x52, 0x51, 0xFF, 0x74, 0x24, 0x14, 0xE8, 0xC8, 0xFE, 0xFF, 0xFF, + 0x83, 0xC4, 0x0C, 0x5D, 0xC2, 0x08, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xFF, 0xD0, 0xC3, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xFF, 0x25, 0x34, 0x13, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x92, 0x5F, 0x00, 0x00, 0xA0, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x59, 0x00, 0x00, + 0x9C, 0x59, 0x00, 0x00, 0xAE, 0x59, 0x00, 0x00, 0xB8, 0x59, 0x00, 0x00, 0xCC, 0x59, 0x00, 0x00, + 0xD8, 0x59, 0x00, 0x00, 0xF0, 0x59, 0x00, 0x00, 0x08, 0x5A, 0x00, 0x00, 0x12, 0x5A, 0x00, 0x00, + 0x22, 0x5A, 0x00, 0x00, 0x3E, 0x5A, 0x00, 0x00, 0x50, 0x5A, 0x00, 0x00, 0x60, 0x5A, 0x00, 0x00, + 0x74, 0x5A, 0x00, 0x00, 0x84, 0x5A, 0x00, 0x00, 0xA0, 0x5A, 0x00, 0x00, 0xB4, 0x5A, 0x00, 0x00, + 0xCC, 0x5A, 0x00, 0x00, 0xE8, 0x5A, 0x00, 0x00, 0xF8, 0x5A, 0x00, 0x00, 0x0C, 0x5B, 0x00, 0x00, + 0x26, 0x5B, 0x00, 0x00, 0x3E, 0x5B, 0x00, 0x00, 0x56, 0x5B, 0x00, 0x00, 0x70, 0x5B, 0x00, 0x00, + 0x88, 0x5B, 0x00, 0x00, 0x98, 0x5B, 0x00, 0x00, 0xAE, 0x5B, 0x00, 0x00, 0xC4, 0x5B, 0x00, 0x00, + 0xD8, 0x5B, 0x00, 0x00, 0xEE, 0x5B, 0x00, 0x00, 0x06, 0x5C, 0x00, 0x00, 0x22, 0x5C, 0x00, 0x00, + 0x3E, 0x5C, 0x00, 0x00, 0x5C, 0x5C, 0x00, 0x00, 0x70, 0x59, 0x00, 0x00, 0x76, 0x5C, 0x00, 0x00, + 0x94, 0x5C, 0x00, 0x00, 0xB2, 0x5C, 0x00, 0x00, 0xCE, 0x5C, 0x00, 0x00, 0xE2, 0x5C, 0x00, 0x00, + 0xFC, 0x5C, 0x00, 0x00, 0x08, 0x5D, 0x00, 0x00, 0x1A, 0x5D, 0x00, 0x00, 0x30, 0x5D, 0x00, 0x00, + 0x4E, 0x5D, 0x00, 0x00, 0x6C, 0x5D, 0x00, 0x00, 0x86, 0x5D, 0x00, 0x00, 0x9C, 0x5D, 0x00, 0x00, + 0xAC, 0x5D, 0x00, 0x00, 0xC8, 0x5D, 0x00, 0x00, 0xDC, 0x5D, 0x00, 0x00, 0xEA, 0x5D, 0x00, 0x00, + 0x00, 0x5E, 0x00, 0x00, 0x16, 0x5E, 0x00, 0x00, 0x2A, 0x5E, 0x00, 0x00, 0x44, 0x5E, 0x00, 0x00, + 0x62, 0x5E, 0x00, 0x00, 0x7C, 0x5E, 0x00, 0x00, 0x94, 0x5E, 0x00, 0x00, 0xA8, 0x5E, 0x00, 0x00, + 0xBA, 0x5E, 0x00, 0x00, 0xCE, 0x5E, 0x00, 0x00, 0xDE, 0x5E, 0x00, 0x00, 0xF4, 0x5E, 0x00, 0x00, + 0x04, 0x5F, 0x00, 0x00, 0x24, 0x5F, 0x00, 0x00, 0x3A, 0x5F, 0x00, 0x00, 0x52, 0x5F, 0x00, 0x00, + 0x66, 0x5F, 0x00, 0x00, 0x74, 0x5F, 0x00, 0x00, 0x5A, 0x59, 0x00, 0x00, 0x6C, 0x5C, 0x00, 0x00, + 0x48, 0x59, 0x00, 0x00, 0xB6, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xE2, 0x77, 0x69, 0x55, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x5E, 0x00, 0x00, 0x00, 0xA8, 0x13, 0x00, 0x00, 0xA8, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x1A, 0x01, 0x00, + 0x10, 0x14, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x52, 0x53, 0x44, 0x53, 0x91, 0xE5, 0x7F, 0xB7, + 0xDE, 0x2C, 0x9C, 0x42, 0xAF, 0x26, 0x46, 0xC1, 0x91, 0x80, 0x7A, 0x90, 0x06, 0x00, 0x00, 0x00, + 0x64, 0x3A, 0x5C, 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x73, 0x5C, 0x70, 0x72, 0x6F, 0x63, + 0x65, 0x73, 0x73, 0x68, 0x61, 0x63, 0x6B, 0x65, 0x72, 0x32, 0x5C, 0x6B, 0x70, 0x72, 0x6F, 0x63, + 0x65, 0x73, 0x73, 0x68, 0x61, 0x63, 0x6B, 0x65, 0x72, 0x5C, 0x62, 0x69, 0x6E, 0x5C, 0x69, 0x33, + 0x38, 0x36, 0x5C, 0x6B, 0x70, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x68, 0x61, 0x63, 0x6B, 0x65, + 0x72, 0x2E, 0x70, 0x64, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xC0, 0x0E, 0x00, 0x00, 0xFB, 0x10, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xD4, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xD0, 0x1D, 0x01, 0x00, + 0xDE, 0x1D, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE4, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x88, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x7A, 0x06, 0x01, 0x00, + 0x88, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xC4, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x8E, 0x0C, 0x01, 0x00, + 0x9C, 0x0C, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x63, 0x0C, 0x01, 0x00, 0x71, 0x0C, 0x01, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xBC, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0xDC, 0x26, 0x01, 0x00, 0xEA, 0x26, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xB8, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0xB0, 0x27, 0x01, 0x00, 0xBE, 0x27, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, + 0x7C, 0x28, 0x01, 0x00, 0x8A, 0x28, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xBA, 0x28, 0x01, 0x00, + 0xC8, 0x28, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xB4, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x36, 0x2A, 0x01, 0x00, + 0x44, 0x2A, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x88, 0x2A, 0x01, 0x00, 0x96, 0x2A, 0x01, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x83, 0x2C, 0x01, 0x00, 0x91, 0x2C, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, + 0x27, 0x2D, 0x01, 0x00, 0x2B, 0x2D, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xAC, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xB7, 0x2D, 0x01, 0x00, + 0xC5, 0x2D, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x67, 0x2E, 0x01, 0x00, 0x75, 0x2E, 0x01, 0x00, + 0xE4, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x92, 0x2F, 0x01, 0x00, 0xA3, 0x2F, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, + 0x35, 0x30, 0x01, 0x00, 0x46, 0x30, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x1B, 0x31, 0x01, 0x00, + 0x2C, 0x31, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x04, 0x32, 0x01, 0x00, 0x15, 0x32, 0x01, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x94, 0x32, 0x01, 0x00, 0xA5, 0x32, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, + 0x1B, 0x33, 0x01, 0x00, 0x2C, 0x33, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xA2, 0x33, 0x01, 0x00, + 0xB3, 0x33, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xC8, 0x34, 0x01, 0x00, 0xD9, 0x34, 0x01, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0xB2, 0x35, 0x01, 0x00, 0xC3, 0x35, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, + 0x7C, 0x36, 0x01, 0x00, 0x8D, 0x36, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xE3, 0x36, 0x01, 0x00, + 0xE7, 0x36, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xC0, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x74, 0x37, 0x01, 0x00, + 0x82, 0x37, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x19, 0x38, 0x01, 0x00, 0x27, 0x38, 0x01, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0xE4, 0x38, 0x01, 0x00, 0xF2, 0x38, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, + 0x01, 0x39, 0x01, 0x00, 0x0F, 0x39, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xCC, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x66, 0x39, 0x01, 0x00, + 0x74, 0x39, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xF5, 0x39, 0x01, 0x00, 0x03, 0x3A, 0x01, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x33, 0x3C, 0x01, 0x00, 0x41, 0x3C, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, + 0xC5, 0x3D, 0x01, 0x00, 0xD3, 0x3D, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x6C, 0x3D, 0x01, 0x00, + 0x7A, 0x3D, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xF7, 0x3C, 0x01, 0x00, 0x05, 0x3D, 0x01, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x12, 0x3E, 0x01, 0x00, 0x16, 0x3E, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xB4, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x61, 0x3E, 0x01, 0x00, 0x6F, 0x3E, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, + 0x65, 0x3F, 0x01, 0x00, 0x73, 0x3F, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xDA, 0x3E, 0x01, 0x00, + 0xE8, 0x3E, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xCC, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x92, 0x40, 0x01, 0x00, + 0xA0, 0x40, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xD0, 0x41, 0x01, 0x00, 0xDE, 0x41, 0x01, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x4E, 0x42, 0x01, 0x00, 0x5C, 0x42, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, + 0xDB, 0x42, 0x01, 0x00, 0xE9, 0x42, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xCC, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x39, 0x43, 0x01, 0x00, + 0x47, 0x43, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xBD, 0x43, 0x01, 0x00, 0xCB, 0x43, 0x01, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x50, 0x46, 0x01, 0x00, 0x5E, 0x46, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, + 0x5A, 0x47, 0x01, 0x00, 0x68, 0x47, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x0F, 0x47, 0x01, 0x00, + 0x1D, 0x47, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xA7, 0x47, 0x01, 0x00, 0xAB, 0x47, 0x01, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0xF8, 0x47, 0x01, 0x00, 0x06, 0x48, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, + 0x02, 0x49, 0x01, 0x00, 0x10, 0x49, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x70, 0x48, 0x01, 0x00, + 0x7E, 0x48, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x6C, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xAF, 0x4A, 0x01, 0x00, + 0xBD, 0x4A, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xF8, 0x4A, 0x01, 0x00, 0x06, 0x4B, 0x01, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x46, 0x4C, 0x01, 0x00, 0x54, 0x4C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xE4, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x24, 0xFD, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0xD9, 0x4F, 0x01, 0x00, 0xFB, 0x4F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x39, 0x51, 0x01, 0x00, 0x47, 0x51, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, + 0xCA, 0x51, 0x01, 0x00, 0xCE, 0x51, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xD4, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x45, 0x52, 0x01, 0x00, + 0x53, 0x52, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xD6, 0x52, 0x01, 0x00, 0xDA, 0x52, 0x01, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0xFF, 0xA0, 0x53, 0x01, 0x00, 0xAE, 0x53, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, + 0xF1, 0x53, 0x01, 0x00, 0xFF, 0x53, 0x01, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x6E, 0x54, 0x01, 0x00, + 0x72, 0x54, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x56, 0x64, 0xA1, 0x24, 0x01, 0x00, 0x00, + 0x8B, 0x75, 0x08, 0x3B, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x56, 0x8B, 0x75, 0x08, 0x57, 0x8D, 0xBE, + 0x40, 0x02, 0x00, 0x00, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x53, 0x56, 0x57, 0x33, 0xD2, 0x6A, 0x08, + 0x42, 0x5E, 0x8D, 0xB9, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x51, 0x51, 0x53, 0x56, 0x64, 0x8B, 0x35, + 0x24, 0x01, 0x00, 0x00, 0x66, 0xFF, 0x8E, 0x84, 0x00, 0x00, 0x00, 0x57, 0xC7, 0x45, 0xFC, 0x00, + 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x51, 0x53, 0x64, 0x8B, 0x1D, 0x24, 0x01, 0x00, 0x00, 0x56, 0x8D, + 0xB3, 0x3C, 0x01, 0x00, 0x00, 0x66, 0xFF, 0x0E, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xE4, 0xF8, + 0x56, 0x64, 0x8B, 0x35, 0x24, 0x01, 0x00, 0x00, 0x57, 0x66, 0xFF, 0x8E, 0x3C, 0x01, 0x00, 0x00, + 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x0C, 0x83, 0x4D, 0xF8, 0xFF, 0x56, 0x57, 0x8B, 0x7D, + 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x53, 0x56, 0x57, 0x8B, 0x7D, 0x08, 0x8D, 0xB7, 0x40, 0x02, 0x00, + 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xE4, 0xF8, 0x51, 0x53, 0x56, 0x8B, 0x75, 0x08, 0x57, 0x8D, + 0xBE, 0x60, 0x02, 0x00, 0x00, 0xF6, 0x07, 0x40, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xE4, 0xF8, + 0x51, 0x53, 0x56, 0x8B, 0x75, 0x08, 0x57, 0x8D, 0xBE, 0x80, 0x02, 0x00, 0x00, 0xF6, 0x07, 0x40, + 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x8D, 0x87, 0x68, 0x02, 0x00, 0x00, 0xF6, 0x00, 0x20, 0x53, 0x8A, + 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x53, 0x56, 0x8B, 0xF1, 0x8B, 0xDA, 0x57, 0x8D, 0xBE, 0xB8, 0x03, + 0x4E, 0xE6, 0x40, 0xBB, 0xB1, 0x19, 0xBF, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x35, 0xB0, 0x1B, 0x01, 0x00, 0xFF, 0x15, 0x30, 0x13, + 0x01, 0x00, 0xC2, 0x04, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, + 0xEC, 0x18, 0xA1, 0x10, 0x1A, 0x01, 0x00, 0x33, 0xC5, 0x89, 0x45, 0xFC, 0x8B, 0x45, 0x08, 0x8B, + 0x4D, 0x0C, 0x85, 0xC0, 0x75, 0x05, 0x8B, 0x45, 0x10, 0xEB, 0x29, 0x8D, 0x55, 0xE8, 0x52, 0x6A, + 0x10, 0x8D, 0x55, 0xEC, 0x52, 0x6A, 0x02, 0x51, 0x50, 0xFF, 0x15, 0x10, 0x12, 0x01, 0x00, 0x83, + 0x7D, 0xF0, 0x04, 0x74, 0x05, 0xB8, 0x24, 0x00, 0x00, 0xC0, 0x85, 0xC0, 0x8B, 0x45, 0x10, 0x7C, + 0x03, 0x8B, 0x45, 0xF8, 0x8B, 0x4D, 0xFC, 0x33, 0xCD, 0xE8, 0x8D, 0xF1, 0xFF, 0xFF, 0xC9, 0xC2, + 0x0C, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x34, + 0x53, 0x56, 0x57, 0x8B, 0x3D, 0x24, 0x12, 0x01, 0x00, 0x68, 0xE0, 0x54, 0x01, 0x00, 0x8D, 0x45, + 0xEC, 0x50, 0xFF, 0xD7, 0x8B, 0x75, 0x08, 0x66, 0x8B, 0x06, 0x66, 0x03, 0x45, 0xEC, 0xBB, 0x4B, + 0x70, 0x68, 0x54, 0x66, 0x89, 0x45, 0xF4, 0x66, 0x89, 0x45, 0xF6, 0x0F, 0xB7, 0xC0, 0x53, 0x50, + 0x6A, 0x01, 0xFF, 0x15, 0x20, 0x12, 0x01, 0x00, 0x89, 0x45, 0xF8, 0x85, 0xC0, 0x75, 0x0A, 0xB8, + 0x9A, 0x00, 0x00, 0xC0, 0xE9, 0xC7, 0x00, 0x00, 0x00, 0x0F, 0xB7, 0x0E, 0x51, 0xFF, 0x76, 0x04, + 0x50, 0xE8, 0x66, 0xF1, 0xFF, 0xFF, 0x0F, 0xB7, 0x45, 0xEC, 0x8B, 0x4D, 0xF8, 0x50, 0x0F, 0xB7, + 0x06, 0xFF, 0x75, 0xF0, 0xD1, 0xE8, 0x8D, 0x04, 0x41, 0x50, 0xE8, 0x4D, 0xF1, 0xFF, 0xFF, 0x8D, + 0x45, 0xF4, 0x83, 0xC4, 0x18, 0x89, 0x45, 0xD4, 0x8D, 0x45, 0xCC, 0x50, 0x33, 0xF6, 0x68, 0x19, + 0x00, 0x02, 0x00, 0x8D, 0x45, 0xFC, 0x50, 0xC7, 0x45, 0xCC, 0x18, 0x00, 0x00, 0x00, 0x89, 0x75, + 0xD0, 0xC7, 0x45, 0xD8, 0x40, 0x02, 0x00, 0x00, 0x89, 0x75, 0xDC, 0x89, 0x75, 0xE0, 0xFF, 0x15, + 0x1C, 0x12, 0x01, 0x00, 0x53, 0xFF, 0x75, 0xF8, 0x89, 0x45, 0x08, 0xFF, 0x15, 0x18, 0x12, 0x01, + 0x00, 0x39, 0x75, 0x08, 0x7D, 0x06, 0x89, 0x75, 0x08, 0x89, 0x75, 0xFC, 0x68, 0xC4, 0x54, 0x01, + 0x00, 0x8D, 0x45, 0xE4, 0x50, 0xFF, 0xD7, 0x6A, 0x01, 0x8D, 0x45, 0xE4, 0x50, 0xFF, 0x75, 0xFC, + 0xE8, 0xC5, 0xFE, 0xFF, 0xFF, 0xA3, 0xA8, 0x1B, 0x01, 0x00, 0x68, 0x8C, 0x54, 0x01, 0x00, 0x8D, + 0x45, 0xE4, 0x50, 0xFF, 0xD7, 0x56, 0x8D, 0x45, 0xE4, 0x50, 0xFF, 0x75, 0xFC, 0xE8, 0xA8, 0xFE, + 0xFF, 0xFF, 0xFF, 0x75, 0xFC, 0xA3, 0xAC, 0x1B, 0x01, 0x00, 0xE8, 0xB1, 0x06, 0x00, 0x00, 0x39, + 0x75, 0xFC, 0x74, 0x09, 0xFF, 0x75, 0xFC, 0xFF, 0x15, 0x14, 0x12, 0x01, 0x00, 0x8B, 0x45, 0x08, + 0x5F, 0x5E, 0x5B, 0xC9, 0xC2, 0x04, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x0C, 0x68, 0x18, + 0x14, 0x01, 0x00, 0xE8, 0xAC, 0xF0, 0xFF, 0xFF, 0x80, 0x7D, 0x0C, 0x00, 0x74, 0x3F, 0x83, 0x65, + 0xFC, 0x00, 0x6A, 0x04, 0x6A, 0x04, 0x8B, 0x75, 0x08, 0x56, 0xFF, 0x15, 0x2C, 0x12, 0x01, 0x00, + 0xA1, 0xA0, 0x1B, 0x01, 0x00, 0x89, 0x06, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x28, + 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xE4, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, + 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x45, 0xE4, 0xEB, 0x0D, 0x8B, 0x45, 0x08, + 0x8B, 0x0D, 0xA0, 0x1B, 0x01, 0x00, 0x89, 0x08, 0x33, 0xC0, 0xE8, 0x9A, 0xF0, 0xFF, 0xFF, 0xC2, + 0x08, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x51, 0x51, 0x56, + 0x8B, 0x75, 0x08, 0x89, 0x35, 0x9C, 0x1B, 0x01, 0x00, 0xE8, 0xDC, 0x05, 0x00, 0x00, 0x85, 0xC0, + 0x7C, 0x63, 0xE8, 0xE9, 0x06, 0x00, 0x00, 0xFF, 0x75, 0x0C, 0xE8, 0x49, 0xFE, 0xFF, 0xFF, 0x85, + 0xC0, 0x7C, 0x52, 0x68, 0xF8, 0x54, 0x01, 0x00, 0x8D, 0x45, 0xF8, 0x50, 0xFF, 0x15, 0x24, 0x12, + 0x01, 0x00, 0x8D, 0x45, 0x08, 0x50, 0x6A, 0x00, 0x68, 0x00, 0x01, 0x00, 0x00, 0x6A, 0x22, 0x8D, + 0x45, 0xF8, 0x50, 0x6A, 0x00, 0x56, 0xFF, 0x15, 0x34, 0x12, 0x01, 0x00, 0x85, 0xC0, 0x7C, 0x25, + 0x8B, 0x4D, 0x08, 0x89, 0x0D, 0xB0, 0x1B, 0x01, 0x00, 0xC7, 0x46, 0x38, 0x86, 0x04, 0x01, 0x00, + 0xC7, 0x46, 0x70, 0x16, 0x06, 0x01, 0x00, 0xC7, 0x46, 0x34, 0x06, 0x1C, 0x01, 0x00, 0x81, 0x61, + 0x1C, 0x7F, 0xFF, 0xFF, 0xFF, 0x5E, 0xC9, 0xC2, 0x08, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0x7D, 0x0C, 0x08, 0x73, 0x0A, 0xB8, 0x0D, 0x00, 0x00, 0xC0, + 0xE9, 0x84, 0x00, 0x00, 0x00, 0x8B, 0x45, 0x08, 0x83, 0x38, 0x02, 0x75, 0xEE, 0x56, 0x8B, 0x70, + 0x04, 0x83, 0xFE, 0x40, 0x77, 0x0D, 0x8B, 0xCE, 0x6B, 0xC9, 0x24, 0x83, 0xC1, 0x08, 0x39, 0x4D, + 0x0C, 0x73, 0x07, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0xEB, 0x5E, 0x53, 0x57, 0x33, 0xFF, 0x85, 0xF6, + 0x76, 0x4F, 0x83, 0xC0, 0x0C, 0xBA, 0xFF, 0xFF, 0x00, 0x00, 0x0F, 0xB7, 0x48, 0xFC, 0x3B, 0x0D, + 0x84, 0x1A, 0x01, 0x00, 0x75, 0x33, 0x0F, 0xB7, 0x48, 0xFE, 0x3B, 0x0D, 0x88, 0x1A, 0x01, 0x00, + 0x75, 0x27, 0x0F, 0xB7, 0x08, 0x8B, 0xDA, 0x66, 0x3B, 0xCB, 0x74, 0x09, 0x66, 0x3B, 0x0D, 0x94, + 0x1B, 0x01, 0x00, 0x75, 0x14, 0x0F, 0xB7, 0x48, 0x02, 0x66, 0x3B, 0xCB, 0x74, 0x1F, 0x0F, 0xB7, + 0xC9, 0x3B, 0x0D, 0x8C, 0x1A, 0x01, 0x00, 0x74, 0x14, 0x47, 0x83, 0xC0, 0x24, 0x3B, 0xFE, 0x72, + 0xB9, 0xB8, 0x25, 0x02, 0x00, 0xC0, 0x5F, 0x5B, 0x5E, 0x5D, 0xC2, 0x08, 0x00, 0x8B, 0x48, 0x04, + 0x89, 0x0D, 0x7C, 0x1A, 0x01, 0x00, 0x0F, 0xBF, 0x48, 0x08, 0x89, 0x0D, 0x00, 0x19, 0x01, 0x00, + 0x0F, 0xBF, 0x48, 0x0A, 0x89, 0x0D, 0x04, 0x19, 0x01, 0x00, 0x0F, 0xBF, 0x48, 0x10, 0x89, 0x0D, + 0x08, 0x19, 0x01, 0x00, 0x0F, 0xBF, 0x48, 0x12, 0x89, 0x0D, 0x0C, 0x19, 0x01, 0x00, 0x0F, 0xBF, + 0x48, 0x14, 0x89, 0x0D, 0x10, 0x19, 0x01, 0x00, 0x0F, 0xBF, 0x48, 0x16, 0x89, 0x0D, 0x14, 0x19, + 0x01, 0x00, 0x0F, 0xBF, 0x48, 0x18, 0x89, 0x0D, 0x18, 0x19, 0x01, 0x00, 0x0F, 0xBF, 0x48, 0x1A, + 0x89, 0x0D, 0x1C, 0x19, 0x01, 0x00, 0x0F, 0xBF, 0x40, 0x1C, 0xA3, 0x20, 0x19, 0x01, 0x00, 0x33, + 0xC0, 0xEB, 0x93, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0x0D, 0x84, 0x1A, 0x01, 0x00, 0xA1, 0x88, + 0x1A, 0x01, 0x00, 0x53, 0x56, 0x0F, 0xB7, 0x35, 0x94, 0x1B, 0x01, 0x00, 0x57, 0x83, 0xF9, 0x05, + 0x0F, 0x85, 0x3A, 0x01, 0x00, 0x00, 0x83, 0xF8, 0x01, 0x0F, 0x85, 0x92, 0x00, 0x00, 0x00, 0x68, + 0xB4, 0x55, 0x01, 0x00, 0xE8, 0x1F, 0x05, 0x00, 0x00, 0x33, 0xDB, 0xC7, 0x05, 0x7C, 0x1A, 0x01, + 0x00, 0x33, 0x00, 0x00, 0x00, 0x3B, 0xF3, 0x0F, 0x84, 0x0E, 0x04, 0x00, 0x00, 0x83, 0xFE, 0x01, + 0x0F, 0x84, 0x05, 0x04, 0x00, 0x00, 0x83, 0xFE, 0x02, 0x74, 0x09, 0x83, 0xFE, 0x03, 0x0F, 0x85, + 0xF7, 0x03, 0x00, 0x00, 0xC7, 0x05, 0x04, 0x19, 0x01, 0x00, 0xC4, 0x00, 0x00, 0x00, 0xC7, 0x05, + 0x08, 0x19, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0xC7, 0x05, 0x14, 0x19, 0x01, 0x00, 0x40, 0x00, + 0x00, 0x00, 0xC7, 0x05, 0x18, 0x19, 0x01, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x3B, 0xC3, 0x0F, 0x84, + 0xB5, 0x03, 0x00, 0x00, 0x6A, 0x10, 0x5A, 0xC7, 0x05, 0x64, 0x1A, 0x01, 0x00, 0x24, 0x19, 0x01, + 0x00, 0x89, 0x15, 0x68, 0x1A, 0x01, 0x00, 0xB9, 0x00, 0x00, 0x10, 0x00, 0xC7, 0x05, 0x44, 0x1A, + 0x01, 0x00, 0xA0, 0x19, 0x01, 0x00, 0x89, 0x15, 0x48, 0x1A, 0x01, 0x00, 0xE9, 0x40, 0x03, 0x00, + 0x00, 0x83, 0xF8, 0x02, 0x0F, 0x85, 0x91, 0x03, 0x00, 0x00, 0x68, 0x98, 0x55, 0x01, 0x00, 0xE8, + 0x84, 0x04, 0x00, 0x00, 0x33, 0xDB, 0xC7, 0x05, 0x7C, 0x1A, 0x01, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x3B, 0xF3, 0x74, 0x0E, 0x83, 0xFE, 0x01, 0x74, 0x09, 0x83, 0xFE, 0x02, 0x0F, 0x85, 0x69, 0x03, + 0x00, 0x00, 0xC7, 0x05, 0x04, 0x19, 0x01, 0x00, 0xD4, 0x00, 0x00, 0x00, 0xC7, 0x05, 0x08, 0x19, + 0x01, 0x00, 0x90, 0x00, 0x00, 0x00, 0xC7, 0x05, 0x14, 0x19, 0x01, 0x00, 0x40, 0x00, 0x00, 0x00, + 0xC7, 0x05, 0x18, 0x19, 0x01, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x3B, 0xC3, 0x0F, 0x84, 0x27, 0x03, + 0x00, 0x00, 0x8D, 0x88, 0x00, 0x00, 0xFB, 0xFF, 0x6A, 0x10, 0x5A, 0x89, 0x0D, 0x6C, 0x1A, 0x01, + 0x00, 0xC7, 0x05, 0x64, 0x1A, 0x01, 0x00, 0x34, 0x19, 0x01, 0x00, 0x89, 0x15, 0x68, 0x1A, 0x01, + 0x00, 0xB9, 0x00, 0x00, 0x10, 0x00, 0xC7, 0x05, 0x44, 0x1A, 0x01, 0x00, 0xB0, 0x19, 0x01, 0x00, + 0x89, 0x15, 0x48, 0x1A, 0x01, 0x00, 0x05, 0x00, 0x00, 0xFE, 0xFF, 0xE9, 0xA6, 0x02, 0x00, 0x00, + 0x83, 0xF9, 0x06, 0x0F, 0x85, 0xE9, 0x02, 0x00, 0x00, 0x33, 0xDB, 0x3B, 0xC3, 0x0F, 0x85, 0xB7, + 0x00, 0x00, 0x00, 0x68, 0xB4, 0x55, 0x01, 0x00, 0xE8, 0xDB, 0x03, 0x00, 0x00, 0x6A, 0x08, 0xC7, + 0x05, 0x7C, 0x1A, 0x01, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x59, 0x3B, 0xF3, 0x75, 0x16, 0xC7, 0x05, + 0x14, 0x19, 0x01, 0x00, 0x40, 0x00, 0x00, 0x00, 0xC7, 0x05, 0x18, 0x19, 0x01, 0x00, 0x4C, 0x00, + 0x00, 0x00, 0xEB, 0x1E, 0x83, 0xFE, 0x01, 0x74, 0x09, 0x83, 0xFE, 0x02, 0x0F, 0x85, 0xA9, 0x02, + 0x00, 0x00, 0xC7, 0x05, 0x18, 0x19, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0x89, 0x0D, 0x14, 0x19, + 0x01, 0x00, 0xC7, 0x05, 0x00, 0x19, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0xC7, 0x05, 0x04, 0x19, + 0x01, 0x00, 0xDC, 0x00, 0x00, 0x00, 0xC7, 0x05, 0x08, 0x19, 0x01, 0x00, 0x98, 0x00, 0x00, 0x00, + 0x89, 0x0D, 0x0C, 0x19, 0x01, 0x00, 0x3B, 0xC3, 0x0F, 0x84, 0x5B, 0x02, 0x00, 0x00, 0xA3, 0x6C, + 0x1A, 0x01, 0x00, 0xC7, 0x05, 0x64, 0x1A, 0x01, 0x00, 0x44, 0x19, 0x01, 0x00, 0xC7, 0x05, 0x68, + 0x1A, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0xB9, 0x00, 0x00, 0x10, 0x00, 0xC7, 0x05, 0x44, 0x1A, + 0x01, 0x00, 0xC0, 0x19, 0x01, 0x00, 0xC7, 0x05, 0x48, 0x1A, 0x01, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0xFB, 0xFF, 0xE9, 0xDC, 0x01, 0x00, 0x00, 0x83, 0xF8, 0x01, 0x0F, 0x85, 0xD0, + 0x00, 0x00, 0x00, 0x68, 0x70, 0x55, 0x01, 0x00, 0xE8, 0x1B, 0x03, 0x00, 0x00, 0x68, 0x4C, 0x55, + 0x01, 0x00, 0x8B, 0xF8, 0xE8, 0x0F, 0x03, 0x00, 0x00, 0xC7, 0x05, 0x7C, 0x1A, 0x01, 0x00, 0x3D, + 0x00, 0x00, 0x00, 0x3B, 0xF3, 0x74, 0x09, 0x83, 0xFE, 0x01, 0x0F, 0x85, 0xFB, 0x01, 0x00, 0x00, + 0x6A, 0x08, 0x59, 0xC7, 0x05, 0x00, 0x19, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0xC7, 0x05, 0x04, + 0x19, 0x01, 0x00, 0xF4, 0x00, 0x00, 0x00, 0xC7, 0x05, 0x08, 0x19, 0x01, 0x00, 0xB0, 0x00, 0x00, + 0x00, 0x89, 0x0D, 0x0C, 0x19, 0x01, 0x00, 0x89, 0x0D, 0x14, 0x19, 0x01, 0x00, 0xC7, 0x05, 0x18, + 0x19, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0x3B, 0xFB, 0x74, 0x3D, 0xC6, 0x05, 0x60, 0x1A, 0x01, + 0x00, 0x01, 0x88, 0x1D, 0x61, 0x1A, 0x01, 0x00, 0xC7, 0x05, 0x64, 0x1A, 0x01, 0x00, 0x54, 0x19, + 0x01, 0x00, 0xC7, 0x05, 0x68, 0x1A, 0x01, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x89, 0x3D, 0x6C, 0x1A, + 0x01, 0x00, 0xC7, 0x05, 0x70, 0x1A, 0x01, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x89, 0x1D, 0x74, 0x1A, + 0x01, 0x00, 0x89, 0x1D, 0x78, 0x1A, 0x01, 0x00, 0x3B, 0xC3, 0x0F, 0x84, 0x69, 0x01, 0x00, 0x00, + 0xC7, 0x05, 0x44, 0x1A, 0x01, 0x00, 0xD8, 0x19, 0x01, 0x00, 0xC7, 0x05, 0x48, 0x1A, 0x01, 0x00, + 0x18, 0x00, 0x00, 0x00, 0xC7, 0x05, 0x50, 0x1A, 0x01, 0x00, 0x00, 0xA0, 0x01, 0x00, 0xE9, 0x28, + 0x01, 0x00, 0x00, 0x83, 0xF8, 0x02, 0x75, 0x71, 0x68, 0x28, 0x55, 0x01, 0x00, 0xE8, 0x46, 0x02, + 0x00, 0x00, 0xC7, 0x05, 0x7C, 0x1A, 0x01, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x3B, 0xF3, 0x0F, 0x85, + 0x37, 0x01, 0x00, 0x00, 0x6A, 0x08, 0x59, 0xC7, 0x05, 0x00, 0x19, 0x01, 0x00, 0x0C, 0x00, 0x00, + 0x00, 0xC7, 0x05, 0x04, 0x19, 0x01, 0x00, 0x50, 0x01, 0x00, 0x00, 0xC7, 0x05, 0x08, 0x19, 0x01, + 0x00, 0xB0, 0x00, 0x00, 0x00, 0x89, 0x0D, 0x0C, 0x19, 0x01, 0x00, 0x89, 0x0D, 0x14, 0x19, 0x01, + 0x00, 0xC7, 0x05, 0x18, 0x19, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0x3B, 0xC3, 0x0F, 0x84, 0xE6, + 0x00, 0x00, 0x00, 0xC7, 0x05, 0x64, 0x1A, 0x01, 0x00, 0x70, 0x19, 0x01, 0x00, 0xC7, 0x05, 0x44, + 0x1A, 0x01, 0x00, 0xF0, 0x19, 0x01, 0x00, 0xEB, 0x6F, 0x83, 0xF8, 0x03, 0x0F, 0x85, 0xCB, 0x00, + 0x00, 0x00, 0x68, 0x28, 0x55, 0x01, 0x00, 0xE8, 0xCC, 0x01, 0x00, 0x00, 0xC7, 0x05, 0x7C, 0x1A, + 0x01, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x3B, 0xF3, 0x0F, 0x85, 0xBD, 0x00, 0x00, 0x00, 0xC7, 0x05, + 0x00, 0x19, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0xC7, 0x05, 0x04, 0x19, 0x01, 0x00, 0x50, 0x01, + 0x00, 0x00, 0xC7, 0x05, 0x08, 0x19, 0x01, 0x00, 0xB0, 0x00, 0x00, 0x00, 0xC7, 0x05, 0x14, 0x19, + 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0xC7, 0x05, 0x18, 0x19, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x3B, 0xC3, 0x74, 0x75, 0xC7, 0x05, 0x64, 0x1A, 0x01, 0x00, 0x88, 0x19, 0x01, 0x00, 0xC7, 0x05, + 0x44, 0x1A, 0x01, 0x00, 0x00, 0x1A, 0x01, 0x00, 0xC7, 0x05, 0x48, 0x1A, 0x01, 0x00, 0x10, 0x00, + 0x00, 0x00, 0xB9, 0x00, 0x80, 0x00, 0x00, 0xC7, 0x05, 0x68, 0x1A, 0x01, 0x00, 0x18, 0x00, 0x00, + 0x00, 0xA3, 0x6C, 0x1A, 0x01, 0x00, 0xC6, 0x05, 0x60, 0x1A, 0x01, 0x00, 0x01, 0x88, 0x1D, 0x61, + 0x1A, 0x01, 0x00, 0x89, 0x0D, 0x70, 0x1A, 0x01, 0x00, 0x89, 0x1D, 0x74, 0x1A, 0x01, 0x00, 0x89, + 0x1D, 0x78, 0x1A, 0x01, 0x00, 0x89, 0x0D, 0x50, 0x1A, 0x01, 0x00, 0x89, 0x1D, 0x58, 0x1A, 0x01, + 0x00, 0x89, 0x1D, 0x54, 0x1A, 0x01, 0x00, 0xA3, 0x4C, 0x1A, 0x01, 0x00, 0x88, 0x1D, 0x41, 0x1A, + 0x01, 0x00, 0xC6, 0x05, 0x40, 0x1A, 0x01, 0x00, 0x01, 0x33, 0xC0, 0xEB, 0x13, 0x77, 0x05, 0x83, + 0xF9, 0x06, 0x76, 0x07, 0x83, 0x0D, 0x7C, 0x1A, 0x01, 0x00, 0xFF, 0xB8, 0xBB, 0x00, 0x00, 0xC0, + 0x5F, 0x5E, 0x5B, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x56, 0x68, 0x80, 0x1A, + 0x01, 0x00, 0xC7, 0x05, 0x80, 0x1A, 0x01, 0x00, 0x1C, 0x01, 0x00, 0x00, 0xFF, 0x15, 0x40, 0x12, + 0x01, 0x00, 0x8B, 0xF0, 0x85, 0xF6, 0x7C, 0x10, 0x83, 0x3D, 0x7C, 0x1A, 0x01, 0x00, 0x00, 0x75, + 0x05, 0xE8, 0x72, 0xFB, 0xFF, 0xFF, 0x8B, 0xC6, 0x5E, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x0C, 0x56, 0x33, 0xF6, 0x39, 0x75, 0x08, 0x75, 0x0A, + 0xB8, 0x01, 0x00, 0x00, 0xC0, 0xE9, 0x94, 0x00, 0x00, 0x00, 0x68, 0xC4, 0x55, 0x01, 0x00, 0x8D, + 0x45, 0xF4, 0x50, 0xFF, 0x15, 0x24, 0x12, 0x01, 0x00, 0x8D, 0x45, 0xFC, 0x50, 0x56, 0x56, 0x8B, + 0x35, 0x10, 0x12, 0x01, 0x00, 0x6A, 0x02, 0x8D, 0x45, 0xF4, 0x50, 0xFF, 0x75, 0x08, 0xFF, 0xD6, + 0x3D, 0x05, 0x00, 0x00, 0x80, 0x74, 0x07, 0x3D, 0x23, 0x00, 0x00, 0xC0, 0x75, 0xC2, 0x53, 0x57, + 0xBB, 0x4B, 0x70, 0x68, 0x54, 0x53, 0xFF, 0x75, 0xFC, 0x6A, 0x01, 0xFF, 0x15, 0x20, 0x12, 0x01, + 0x00, 0x8B, 0xF8, 0x85, 0xFF, 0x75, 0x07, 0xB8, 0x9A, 0x00, 0x00, 0xC0, 0xEB, 0x3E, 0x8D, 0x45, + 0xFC, 0x50, 0xFF, 0x75, 0xFC, 0x8D, 0x45, 0xF4, 0x57, 0x6A, 0x02, 0x50, 0xFF, 0x75, 0x08, 0xFF, + 0xD6, 0x8B, 0xF0, 0x85, 0xF6, 0x7C, 0x1B, 0x83, 0x7F, 0x04, 0x03, 0x75, 0x10, 0xFF, 0x77, 0x08, + 0x8D, 0x47, 0x0C, 0x50, 0xE8, 0xC7, 0xF9, 0xFF, 0xFF, 0x8B, 0xF0, 0xEB, 0x05, 0xBE, 0x24, 0x00, + 0x00, 0xC0, 0x53, 0x57, 0xFF, 0x15, 0x18, 0x12, 0x01, 0x00, 0x8B, 0xC6, 0x5F, 0x5B, 0x5E, 0xC9, + 0xC2, 0x04, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x51, 0x51, 0xFF, + 0x75, 0x08, 0x8D, 0x45, 0xF8, 0x50, 0xFF, 0x15, 0x24, 0x12, 0x01, 0x00, 0x8D, 0x45, 0xF8, 0x50, + 0xFF, 0x15, 0x44, 0x12, 0x01, 0x00, 0xC9, 0xC2, 0x04, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x83, 0x3D, 0x7C, 0x1A, 0x01, 0x00, 0x3E, 0x72, 0x0F, 0x68, 0x0A, 0x57, 0x01, 0x00, 0xE8, 0xC5, + 0xFF, 0xFF, 0xFF, 0xA3, 0x30, 0x1A, 0x01, 0x00, 0x68, 0xEA, 0x56, 0x01, 0x00, 0xE8, 0xB6, 0xFF, + 0xFF, 0xFF, 0x68, 0xA2, 0x56, 0x01, 0x00, 0xA3, 0x28, 0x1A, 0x01, 0x00, 0xE8, 0xA7, 0xFF, 0xFF, + 0xFF, 0x68, 0x78, 0x56, 0x01, 0x00, 0xA3, 0x20, 0x1A, 0x01, 0x00, 0xE8, 0x98, 0xFF, 0xFF, 0xFF, + 0x68, 0x30, 0x56, 0x01, 0x00, 0xA3, 0x2C, 0x1A, 0x01, 0x00, 0xE8, 0x89, 0xFF, 0xFF, 0xFF, 0x68, + 0x10, 0x56, 0x01, 0x00, 0xA3, 0x38, 0x1A, 0x01, 0x00, 0xE8, 0x7A, 0xFF, 0xFF, 0xFF, 0x68, 0xEE, + 0x55, 0x01, 0x00, 0xA3, 0x24, 0x1A, 0x01, 0x00, 0xE8, 0x6B, 0xFF, 0xFF, 0xFF, 0xA3, 0x34, 0x1A, + 0x01, 0x00, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0xA1, 0x7C, 0x1A, + 0x01, 0x00, 0x8D, 0x48, 0xCD, 0x83, 0xF9, 0x09, 0x77, 0x08, 0x8B, 0x45, 0x08, 0x8B, 0x40, 0xF0, + 0xEB, 0x13, 0x83, 0xF8, 0x3D, 0x72, 0x0C, 0xA1, 0x28, 0x1A, 0x01, 0x00, 0x85, 0xC0, 0x74, 0x03, + 0x5D, 0xFF, 0xE0, 0x33, 0xC0, 0x5D, 0xC2, 0x04, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, + 0x55, 0x8B, 0xEC, 0x56, 0x33, 0xF6, 0x83, 0x3D, 0x04, 0x19, 0x01, 0x00, 0xFF, 0x75, 0x04, 0x33, + 0xC0, 0xEB, 0x23, 0x57, 0x8B, 0x7D, 0x08, 0x57, 0xE8, 0xD9, 0xE6, 0xFF, 0xFF, 0x84, 0xC0, 0x74, + 0x12, 0xA1, 0x04, 0x19, 0x01, 0x00, 0x8B, 0x34, 0x38, 0x85, 0xF6, 0x75, 0x06, 0x57, 0xE8, 0x0D, + 0xE7, 0xFF, 0xFF, 0x8B, 0xC6, 0x5F, 0x5E, 0x5D, 0xC2, 0x04, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x8B, 0x4D, 0x0C, 0x33, 0xC0, 0x40, 0xF0, 0x0F, 0xC1, 0x01, 0x8B, + 0x45, 0x08, 0x8B, 0x0D, 0x10, 0x19, 0x01, 0x00, 0x03, 0xC8, 0x83, 0x39, 0x00, 0x74, 0x08, 0x33, + 0xD2, 0xFF, 0x15, 0x30, 0x1A, 0x01, 0x00, 0x5D, 0xC2, 0x08, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x6A, 0x24, 0x68, 0x80, 0x14, 0x01, 0x00, 0xE8, 0x18, 0xE8, 0xFF, 0xFF, 0x8B, 0x4D, 0x08, 0x8B, + 0x11, 0x8B, 0xC2, 0x83, 0xE0, 0xF8, 0x8B, 0x75, 0x0C, 0x89, 0x75, 0xCC, 0x8D, 0x70, 0x18, 0xF7, + 0xD8, 0x1B, 0xC0, 0x23, 0xC6, 0x89, 0x45, 0xD0, 0x8B, 0x49, 0x04, 0x8B, 0xF1, 0x81, 0xE6, 0xFF, + 0xFF, 0xFF, 0xFD, 0x89, 0x75, 0xD4, 0xBE, 0xFF, 0xFF, 0x00, 0x00, 0x66, 0x89, 0x75, 0xD8, 0x33, + 0xF6, 0x66, 0x89, 0x75, 0xDA, 0xC1, 0xE9, 0x19, 0x83, 0xE1, 0x01, 0x83, 0xE2, 0x06, 0x0B, 0xCA, + 0x89, 0x4D, 0xDC, 0x89, 0x75, 0xE0, 0x3B, 0xC6, 0x74, 0x2D, 0x50, 0xE8, 0xF8, 0xFE, 0xFF, 0xFF, + 0x3B, 0xC6, 0x74, 0x23, 0x8B, 0x0D, 0x18, 0x19, 0x01, 0x00, 0x83, 0xF9, 0xFF, 0x74, 0x18, 0x83, + 0x3D, 0x7C, 0x1A, 0x01, 0x00, 0x3D, 0x72, 0x07, 0x66, 0x0F, 0xB6, 0x04, 0x01, 0xEB, 0x04, 0x66, + 0x8B, 0x04, 0x01, 0x66, 0x89, 0x45, 0xD8, 0x8B, 0x45, 0x10, 0x8B, 0x78, 0x08, 0x8D, 0x4F, 0x18, + 0x89, 0x48, 0x08, 0xFF, 0x40, 0x0C, 0x3B, 0x38, 0x72, 0x3B, 0x3B, 0x48, 0x04, 0x77, 0x36, 0x89, + 0x75, 0xFC, 0x6A, 0x06, 0x59, 0x8D, 0x75, 0xCC, 0xF3, 0xA5, 0xEB, 0x20, 0x8B, 0x45, 0xEC, 0x8B, + 0x00, 0x8B, 0x00, 0x89, 0x45, 0xE4, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x45, 0x10, + 0x83, 0x78, 0x10, 0x00, 0x75, 0x06, 0x8B, 0x4D, 0xE4, 0x89, 0x48, 0x10, 0xC7, 0x45, 0xFC, 0xFE, + 0xFF, 0xFF, 0xFF, 0xEB, 0x0C, 0x39, 0x70, 0x10, 0x75, 0x07, 0xC7, 0x40, 0x10, 0x23, 0x00, 0x00, + 0xC0, 0x32, 0xC0, 0xE8, 0x81, 0xE7, 0xFF, 0xFF, 0xC2, 0x0C, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x53, 0xFF, 0x75, 0x14, 0xFF, 0x75, 0x10, 0xFF, 0x75, 0x0C, 0xE8, + 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x75, 0x0C, 0x8A, 0xD8, 0xFF, 0x75, 0x08, 0xE8, 0xBF, 0xFE, 0xFF, + 0xFF, 0x8A, 0xC3, 0x5B, 0x5D, 0xC2, 0x10, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x28, + 0x68, 0xA0, 0x14, 0x01, 0x00, 0xE8, 0xFA, 0xE6, 0xFF, 0xFF, 0x33, 0xDB, 0x83, 0x3D, 0x7C, 0x1A, + 0x01, 0x00, 0x3E, 0x72, 0x1B, 0x39, 0x1D, 0x30, 0x1A, 0x01, 0x00, 0x74, 0x09, 0x83, 0x3D, 0x10, + 0x19, 0x01, 0x00, 0xFF, 0x75, 0x0A, 0xB8, 0xBB, 0x00, 0x00, 0xC0, 0xE9, 0x55, 0x01, 0x00, 0x00, + 0x38, 0x5D, 0x18, 0x74, 0x4B, 0x89, 0x5D, 0xFC, 0x6A, 0x04, 0xFF, 0x75, 0x10, 0x8B, 0x7D, 0x0C, + 0x57, 0x8B, 0x35, 0x2C, 0x12, 0x01, 0x00, 0xFF, 0xD6, 0x39, 0x5D, 0x14, 0x74, 0x09, 0x6A, 0x04, + 0x6A, 0x04, 0xFF, 0x75, 0x14, 0xFF, 0xD6, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x23, + 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xE4, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x45, + 0xE4, 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xE9, 0x05, 0x01, 0x00, 0x00, + 0x8B, 0x7D, 0x0C, 0x53, 0x8D, 0x45, 0x0C, 0x50, 0xFF, 0x75, 0x18, 0xA1, 0x54, 0x12, 0x01, 0x00, + 0xFF, 0x30, 0x53, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x50, 0x12, 0x01, 0x00, 0x3B, 0xC3, 0x0F, 0x8C, + 0xE1, 0x00, 0x00, 0x00, 0xFF, 0x75, 0x0C, 0xE8, 0xC2, 0xFD, 0xFF, 0xFF, 0x3B, 0xC3, 0x75, 0x13, + 0x8B, 0x4D, 0x0C, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0xB8, 0x01, 0x00, 0x00, 0xC0, 0xE9, 0xC2, + 0x00, 0x00, 0x00, 0x89, 0x7D, 0xC8, 0x8B, 0x75, 0x10, 0x8D, 0x0C, 0x37, 0x89, 0x4D, 0xCC, 0x8D, + 0x4F, 0x04, 0x89, 0x4D, 0xD0, 0x89, 0x5D, 0xD4, 0x89, 0x5D, 0xD8, 0x53, 0x8D, 0x4D, 0xC8, 0x51, + 0x83, 0x3D, 0x7C, 0x1A, 0x01, 0x00, 0x3E, 0x72, 0x07, 0x68, 0x20, 0x27, 0x01, 0x00, 0xEB, 0x05, + 0x68, 0x30, 0x26, 0x01, 0x00, 0x50, 0xFF, 0x15, 0x48, 0x12, 0x01, 0x00, 0xFF, 0x75, 0x0C, 0xE8, + 0xAC, 0xE4, 0xFF, 0xFF, 0x8B, 0x4D, 0x0C, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x83, 0xFE, 0x04, + 0x72, 0x35, 0x38, 0x5D, 0x18, 0x74, 0x2B, 0xC7, 0x45, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x8B, 0x45, + 0xD4, 0x89, 0x07, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x1B, 0x8B, 0x45, 0xEC, 0x8B, + 0x00, 0x8B, 0x00, 0x89, 0x45, 0xE0, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x45, 0xE0, 0xE9, 0x2F, 0xFF, + 0xFF, 0xFF, 0x8B, 0x45, 0xD4, 0x89, 0x07, 0x8B, 0x75, 0x14, 0x3B, 0xF3, 0x74, 0x34, 0x8B, 0x45, + 0xD0, 0x2B, 0xC7, 0x38, 0x5D, 0x18, 0x74, 0x28, 0xC7, 0x45, 0xFC, 0x02, 0x00, 0x00, 0x00, 0x89, + 0x06, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x18, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, + 0x00, 0x89, 0x45, 0xDC, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x45, 0xDC, 0xE9, 0xF1, 0xFE, 0xFF, 0xFF, + 0x89, 0x06, 0x8B, 0x45, 0xD8, 0xE8, 0xBF, 0xE5, 0xFF, 0xFF, 0xC2, 0x14, 0x00, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x51, 0x6A, 0x08, 0x59, 0x39, 0x4D, 0x10, 0x73, 0x0C, + 0x8B, 0x45, 0x14, 0x89, 0x08, 0xB8, 0x23, 0x00, 0x00, 0xC0, 0xEB, 0x5E, 0x53, 0x33, 0xC0, 0x56, + 0x8B, 0x75, 0x0C, 0x66, 0x89, 0x06, 0x8D, 0x46, 0x08, 0x57, 0x8B, 0x7D, 0x08, 0x89, 0x46, 0x04, + 0x89, 0x45, 0x0C, 0x8B, 0x47, 0x04, 0x33, 0xDB, 0x8B, 0xD1, 0x3B, 0xC3, 0x74, 0x2D, 0x8D, 0x4D, + 0xFC, 0x51, 0xFF, 0x75, 0x10, 0x56, 0x50, 0xFF, 0x15, 0x58, 0x12, 0x01, 0x00, 0x3B, 0xC3, 0x7D, + 0x0F, 0x3D, 0x04, 0x00, 0x00, 0xC0, 0x75, 0x03, 0x83, 0xC0, 0x1F, 0x8B, 0x55, 0xFC, 0xEB, 0x12, + 0x0F, 0xB7, 0x06, 0x01, 0x45, 0x0C, 0x83, 0xC0, 0x08, 0x8B, 0xD0, 0x39, 0x5F, 0x34, 0x75, 0x0E, + 0x33, 0xC0, 0x8B, 0x4D, 0x14, 0x5F, 0x5E, 0x89, 0x11, 0x5B, 0xC9, 0xC2, 0x10, 0x00, 0x8B, 0xC7, + 0x0F, 0xB7, 0x48, 0x30, 0x03, 0xD9, 0x8B, 0x48, 0x20, 0x3B, 0xC1, 0x74, 0x06, 0x8B, 0xC1, 0x85, + 0xC0, 0x75, 0xED, 0x03, 0xD3, 0x89, 0x55, 0x08, 0x3B, 0x55, 0x10, 0x76, 0x07, 0xB8, 0x23, 0x00, + 0x00, 0xC0, 0xEB, 0xCE, 0x01, 0x5D, 0x0C, 0x0F, 0xB7, 0x47, 0x30, 0x29, 0x45, 0x0C, 0x50, 0xFF, + 0x77, 0x34, 0xFF, 0x75, 0x0C, 0xE8, 0xA2, 0xE4, 0xFF, 0xFF, 0x8B, 0x47, 0x20, 0x83, 0xC4, 0x0C, + 0x3B, 0xF8, 0x74, 0x06, 0x8B, 0xF8, 0x85, 0xFF, 0x75, 0xDD, 0x66, 0x01, 0x1E, 0x8B, 0x55, 0x08, + 0xEB, 0x9E, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x2C, 0x68, 0xD8, 0x14, 0x01, 0x00, 0xE8, + 0x90, 0xE4, 0xFF, 0xFF, 0x33, 0xDB, 0x38, 0x5D, 0x1C, 0x74, 0x25, 0x33, 0xC0, 0x83, 0x7D, 0x10, + 0x03, 0x0F, 0x94, 0xC0, 0x48, 0x83, 0xE0, 0x03, 0x40, 0x89, 0x5D, 0xFC, 0x50, 0xFF, 0x75, 0x18, + 0xFF, 0x75, 0x14, 0xFF, 0x15, 0x38, 0x12, 0x01, 0x00, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, + 0x53, 0x8D, 0x45, 0xE4, 0x50, 0xFF, 0x75, 0x1C, 0xA1, 0x54, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x53, + 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x50, 0x12, 0x01, 0x00, 0x8B, 0xF0, 0x3B, 0xF3, 0x0F, 0x8C, 0xCD, + 0x00, 0x00, 0x00, 0x8B, 0x4D, 0xE4, 0xA1, 0x68, 0x12, 0x01, 0x00, 0x3B, 0x08, 0x75, 0x37, 0x81, + 0x4D, 0x0C, 0x00, 0x00, 0x00, 0x80, 0x83, 0x7D, 0x10, 0x03, 0x74, 0x3C, 0xBE, 0x03, 0x00, 0x00, + 0xC0, 0xE9, 0xA1, 0x00, 0x00, 0x00, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xE0, + 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x45, + 0xE0, 0xE9, 0x8C, 0x00, 0x00, 0x00, 0x39, 0x5D, 0x0C, 0x7D, 0xCB, 0xFF, 0x15, 0x4C, 0x12, 0x01, + 0x00, 0xB8, 0x08, 0x00, 0x00, 0xC0, 0xEB, 0x7A, 0x83, 0x7D, 0x18, 0x02, 0x75, 0x39, 0xC7, 0x45, + 0xFC, 0x01, 0x00, 0x00, 0x00, 0x8B, 0x45, 0x14, 0x66, 0x8B, 0x00, 0x66, 0x89, 0x45, 0x1C, 0xC7, + 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x24, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, + 0x45, 0xDC, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x75, 0xDC, 0xC7, 0x45, 0xFC, 0xFE, + 0xFF, 0xFF, 0xFF, 0x33, 0xDB, 0xEB, 0x05, 0xBE, 0x04, 0x00, 0x00, 0xC0, 0x3B, 0xF3, 0x7C, 0x27, + 0x8D, 0x45, 0xC4, 0x50, 0xFF, 0x75, 0xE4, 0xFF, 0x15, 0x64, 0x12, 0x01, 0x00, 0x53, 0x8D, 0x45, + 0x1C, 0x50, 0xFF, 0x75, 0x0C, 0xFF, 0x15, 0x60, 0x12, 0x01, 0x00, 0x8B, 0xF0, 0x8D, 0x45, 0xC4, + 0x50, 0xFF, 0x15, 0x5C, 0x12, 0x01, 0x00, 0x8B, 0x4D, 0xE4, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, + 0x8B, 0xC6, 0xE8, 0xB2, 0xE3, 0xFF, 0xFF, 0xC2, 0x18, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x20, 0x83, 0x7D, 0x0C, 0x00, 0xC6, 0x45, 0xFF, 0x00, + 0xC6, 0x45, 0xFE, 0x00, 0x74, 0x06, 0x83, 0x7D, 0x14, 0x00, 0x75, 0x10, 0xF6, 0x45, 0x20, 0x01, + 0x75, 0x0A, 0xB8, 0x30, 0x00, 0x00, 0xC0, 0xE9, 0x26, 0x01, 0x00, 0x00, 0x8A, 0x45, 0x24, 0x84, + 0xC0, 0x74, 0x13, 0xF7, 0x45, 0x1C, 0x00, 0x02, 0x00, 0x00, 0x74, 0x0A, 0xB8, 0xF4, 0x00, 0x00, + 0xC0, 0xE9, 0x0C, 0x01, 0x00, 0x00, 0x8B, 0x0D, 0x68, 0x12, 0x01, 0x00, 0x53, 0x8B, 0x5D, 0x08, + 0x3B, 0x19, 0x75, 0x0D, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x80, 0xC6, 0x45, 0x24, 0x00, 0xEB, + 0x03, 0x88, 0x45, 0x24, 0x57, 0x8B, 0x3D, 0x74, 0x12, 0x01, 0x00, 0xFF, 0xD7, 0x3B, 0xD8, 0x75, + 0x10, 0xF6, 0x45, 0x20, 0x01, 0x74, 0x0A, 0xB8, 0xDB, 0x00, 0x00, 0xC0, 0xE9, 0xCF, 0x00, 0x00, + 0x00, 0x56, 0xFF, 0xD7, 0x8B, 0x35, 0x64, 0x12, 0x01, 0x00, 0x3B, 0xD8, 0x74, 0x0B, 0x8D, 0x45, + 0xE0, 0x50, 0x53, 0xFF, 0xD6, 0xC6, 0x45, 0xFF, 0x01, 0xF6, 0x45, 0x20, 0x01, 0x74, 0x25, 0xFF, + 0x75, 0x24, 0xFF, 0x75, 0x10, 0xFF, 0x15, 0x70, 0x12, 0x01, 0x00, 0x80, 0x7D, 0xFF, 0x00, 0x8B, + 0xF0, 0x74, 0x0A, 0x8D, 0x45, 0xE0, 0x50, 0xFF, 0x15, 0x5C, 0x12, 0x01, 0x00, 0x8B, 0xC6, 0xE9, + 0x8B, 0x00, 0x00, 0x00, 0x33, 0xC0, 0x50, 0x8D, 0x4D, 0x08, 0x51, 0xFF, 0x75, 0x24, 0x50, 0x50, + 0xFF, 0x75, 0x10, 0xFF, 0x15, 0x50, 0x12, 0x01, 0x00, 0x80, 0x7D, 0xFF, 0x00, 0x8B, 0xD8, 0x74, + 0x0A, 0x8D, 0x45, 0xE0, 0x50, 0xFF, 0x15, 0x5C, 0x12, 0x01, 0x00, 0x85, 0xDB, 0x7D, 0x04, 0x8B, + 0xC3, 0xEB, 0x5C, 0xFF, 0xD7, 0x39, 0x45, 0x0C, 0x74, 0x0D, 0x8D, 0x45, 0xE0, 0x50, 0xFF, 0x75, + 0x0C, 0xFF, 0xD6, 0xC6, 0x45, 0xFE, 0x01, 0x8D, 0x45, 0xF8, 0x50, 0x33, 0xF6, 0x56, 0x56, 0xFF, + 0x75, 0x18, 0x56, 0xFF, 0x75, 0x1C, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x6C, 0x12, 0x01, 0x00, 0x8B, + 0x4D, 0x08, 0x8B, 0xF8, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x80, 0x7D, 0xFE, 0x00, 0x74, 0x0A, + 0x8D, 0x45, 0xE0, 0x50, 0xFF, 0x15, 0x5C, 0x12, 0x01, 0x00, 0x3B, 0xFE, 0x7C, 0x0A, 0x8B, 0x45, + 0xF8, 0x8B, 0x4D, 0x14, 0x89, 0x01, 0xEB, 0x05, 0x8B, 0x45, 0x14, 0x89, 0x30, 0x8B, 0xC7, 0x5E, + 0x5F, 0x5B, 0xC9, 0xC2, 0x20, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x14, 0x68, 0x00, + 0x15, 0x01, 0x00, 0xE8, 0xFC, 0xE1, 0xFF, 0xFF, 0x33, 0xDB, 0x89, 0x5D, 0xE4, 0x89, 0x5D, 0xE0, + 0x38, 0x5D, 0x24, 0x74, 0x3E, 0x89, 0x5D, 0xFC, 0x8B, 0x7D, 0x14, 0x3B, 0xFB, 0x74, 0x0B, 0x6A, + 0x01, 0x6A, 0x04, 0x57, 0xFF, 0x15, 0x2C, 0x12, 0x01, 0x00, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, + 0xFF, 0xEB, 0x23, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xDC, 0x33, 0xC0, 0x40, + 0xC3, 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x45, 0xDC, 0xE9, 0xB8, + 0x00, 0x00, 0x00, 0x8B, 0x7D, 0x14, 0x53, 0x8D, 0x45, 0xE4, 0x50, 0xFF, 0x75, 0x24, 0xA1, 0x54, + 0x12, 0x01, 0x00, 0xFF, 0x30, 0x53, 0xFF, 0x75, 0x08, 0x8B, 0x35, 0x50, 0x12, 0x01, 0x00, 0xFF, + 0xD6, 0x3B, 0xC3, 0x0F, 0x8C, 0x92, 0x00, 0x00, 0x00, 0x39, 0x5D, 0x10, 0x74, 0x1B, 0x53, 0x8D, + 0x45, 0xE0, 0x50, 0xFF, 0x75, 0x24, 0xA1, 0x54, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x53, 0xFF, 0x75, + 0x10, 0xFF, 0xD6, 0x8B, 0xF0, 0x3B, 0xF3, 0x7C, 0x67, 0xFF, 0x75, 0x24, 0xFF, 0x75, 0x20, 0xFF, + 0x75, 0x1C, 0xFF, 0x75, 0x18, 0x8D, 0x45, 0x14, 0x50, 0xFF, 0x75, 0x0C, 0xFF, 0x75, 0xE0, 0xFF, + 0x75, 0xE4, 0xE8, 0xE9, 0xFD, 0xFF, 0xFF, 0x8B, 0xF0, 0x3B, 0xFB, 0x74, 0x36, 0x38, 0x5D, 0x24, + 0x74, 0x2C, 0xC7, 0x45, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x8B, 0x45, 0x14, 0x89, 0x07, 0xC7, 0x45, + 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x1C, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0xBE, 0x05, + 0x00, 0x00, 0xC0, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x33, 0xDB, 0xEB, 0x05, 0x8B, 0x45, + 0x14, 0x89, 0x07, 0x8B, 0x4D, 0xE0, 0x3B, 0xCB, 0x74, 0x06, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, + 0x8B, 0x4D, 0xE4, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x8B, 0xC6, 0xE8, 0x39, 0xE1, 0xFF, 0xFF, + 0xC2, 0x20, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x34, 0x68, 0x28, 0x15, 0x01, 0x00, 0xE8, + 0xE0, 0xE0, 0xFF, 0xFF, 0x33, 0xDB, 0x89, 0x5D, 0xBC, 0x33, 0xC0, 0x8D, 0x7D, 0xC0, 0xAB, 0xAB, + 0xAB, 0xAB, 0xAB, 0x38, 0x5D, 0x18, 0x74, 0x4F, 0x89, 0x5D, 0xFC, 0x6A, 0x04, 0x6A, 0x04, 0xFF, + 0x75, 0x08, 0xFF, 0x15, 0x2C, 0x12, 0x01, 0x00, 0x6A, 0x04, 0x6A, 0x18, 0x8B, 0x75, 0x10, 0x56, + 0xFF, 0x15, 0x38, 0x12, 0x01, 0x00, 0x6A, 0x06, 0x59, 0x8D, 0x7D, 0xBC, 0xF3, 0xA5, 0xC7, 0x45, + 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x2B, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, + 0xE0, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, + 0x45, 0xE0, 0xE9, 0xB7, 0x00, 0x00, 0x00, 0x6A, 0x06, 0x59, 0x8B, 0x75, 0x10, 0x8D, 0x7D, 0xBC, + 0xF3, 0xA5, 0x39, 0x5D, 0xC4, 0x75, 0x0A, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0xE9, 0x9D, 0x00, 0x00, + 0x00, 0x38, 0x5D, 0x18, 0x74, 0x13, 0xF7, 0x45, 0xC8, 0x00, 0x02, 0x00, 0x00, 0x75, 0xE8, 0x38, + 0x5D, 0x18, 0x74, 0x05, 0x39, 0x5D, 0xC0, 0x7C, 0xDE, 0x8D, 0x45, 0xD4, 0x50, 0xFF, 0x75, 0xC4, + 0xE8, 0xB3, 0xDD, 0xFF, 0xFF, 0x3B, 0xC3, 0x7C, 0x75, 0x8D, 0x45, 0xD4, 0x89, 0x45, 0xC4, 0x89, + 0x5D, 0xCC, 0x89, 0x5D, 0xD0, 0x8D, 0x45, 0xE4, 0x50, 0x53, 0xFF, 0x75, 0x0C, 0x53, 0x53, 0xFF, + 0x75, 0x14, 0x8D, 0x45, 0xBC, 0x50, 0xFF, 0x15, 0x78, 0x12, 0x01, 0x00, 0x8B, 0xF0, 0x39, 0x5D, + 0xD8, 0x74, 0x0E, 0x68, 0x4B, 0x70, 0x68, 0x55, 0xFF, 0x75, 0xD8, 0xFF, 0x15, 0x18, 0x12, 0x01, + 0x00, 0x38, 0x5D, 0x18, 0x74, 0x2E, 0xC7, 0x45, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x8B, 0x45, 0xE4, + 0x8B, 0x4D, 0x08, 0x89, 0x01, 0xEB, 0x14, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, + 0xDC, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x75, 0xDC, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, + 0xFF, 0xFF, 0xEB, 0x08, 0x8B, 0x45, 0xE4, 0x8B, 0x4D, 0x08, 0x89, 0x01, 0x8B, 0xC6, 0xE8, 0x06, + 0xE0, 0xFF, 0xFF, 0xC2, 0x14, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, + 0xEC, 0x56, 0x8B, 0x75, 0x08, 0x56, 0xE8, 0xDD, 0xF6, 0xFF, 0xFF, 0x8B, 0x0D, 0x7C, 0x12, 0x01, + 0x00, 0x3B, 0x01, 0x75, 0x1D, 0x83, 0x7E, 0x44, 0x00, 0x75, 0x06, 0x83, 0x7E, 0x40, 0x00, 0x74, + 0x11, 0xFF, 0x75, 0x14, 0xFF, 0x75, 0x10, 0xFF, 0x75, 0x0C, 0x56, 0xE8, 0x12, 0xFA, 0xFF, 0xFF, + 0xEB, 0x10, 0xFF, 0x75, 0x14, 0xFF, 0x75, 0x10, 0xFF, 0x75, 0x0C, 0x56, 0xFF, 0x15, 0x58, 0x12, + 0x01, 0x00, 0xB9, 0x23, 0x00, 0x00, 0xC0, 0x5E, 0x3D, 0x05, 0x00, 0x00, 0x80, 0x75, 0x02, 0x8B, + 0xC1, 0x3D, 0x04, 0x00, 0x00, 0xC0, 0x75, 0x02, 0x8B, 0xC1, 0x5D, 0xC2, 0x10, 0x00, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x68, 0xA4, 0x00, 0x00, 0x00, 0x68, 0x50, 0x15, 0x01, 0x00, 0xE8, 0x09, + 0xE1, 0xFF, 0xFF, 0x8B, 0x45, 0x08, 0x89, 0x45, 0x98, 0x8B, 0x7D, 0x0C, 0x8B, 0x45, 0x14, 0x89, + 0x45, 0x9C, 0x8B, 0x5D, 0x1C, 0x89, 0x9D, 0x5C, 0xFF, 0xFF, 0xFF, 0x80, 0x7D, 0x20, 0x00, 0x74, + 0x24, 0x83, 0x65, 0xFC, 0x00, 0x6A, 0x04, 0xFF, 0x75, 0x18, 0x50, 0x8B, 0x35, 0x2C, 0x12, 0x01, + 0x00, 0xFF, 0xD6, 0x85, 0xDB, 0x74, 0x07, 0x6A, 0x04, 0x6A, 0x04, 0x53, 0xFF, 0xD6, 0xC7, 0x45, + 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x6A, 0x00, 0x8D, 0x45, 0x90, 0x50, 0xFF, 0x75, 0x20, 0xA1, 0x54, + 0x12, 0x01, 0x00, 0xFF, 0x30, 0x6A, 0x00, 0xFF, 0x75, 0x98, 0x8B, 0x35, 0x50, 0x12, 0x01, 0x00, + 0xFF, 0xD6, 0x85, 0xC0, 0x0F, 0x8C, 0x81, 0x07, 0x00, 0x00, 0x8B, 0x4D, 0x90, 0xA1, 0x68, 0x12, + 0x01, 0x00, 0x3B, 0x08, 0x75, 0x32, 0x81, 0xCF, 0x00, 0x00, 0x00, 0x80, 0xC6, 0x45, 0xA8, 0x00, + 0xEB, 0x40, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x85, 0x50, 0xFF, 0xFF, 0xFF, 0x33, + 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x85, 0x50, + 0xFF, 0xFF, 0xFF, 0xE9, 0x43, 0x07, 0x00, 0x00, 0x85, 0xFF, 0x7D, 0x10, 0xFF, 0x15, 0x4C, 0x12, + 0x01, 0x00, 0xB8, 0x08, 0x00, 0x00, 0xC0, 0xE9, 0x2F, 0x07, 0x00, 0x00, 0x8A, 0x45, 0x20, 0x88, + 0x45, 0xA8, 0x8B, 0x45, 0x10, 0x6A, 0x08, 0x5B, 0x3B, 0xC3, 0x0F, 0x87, 0xD1, 0x06, 0x00, 0x00, + 0xFF, 0x24, 0x85, 0x04, 0x37, 0x01, 0x00, 0x8D, 0x85, 0x78, 0xFF, 0xFF, 0xFF, 0x50, 0x51, 0xFF, + 0x15, 0x64, 0x12, 0x01, 0x00, 0x33, 0xF6, 0x56, 0x6A, 0x38, 0x8D, 0x45, 0xAC, 0x50, 0x56, 0x57, + 0xFF, 0x15, 0x94, 0x12, 0x01, 0x00, 0x89, 0x45, 0xA8, 0x8D, 0x85, 0x78, 0xFF, 0xFF, 0xFF, 0x50, + 0xFF, 0x15, 0x5C, 0x12, 0x01, 0x00, 0x39, 0x75, 0xA8, 0x7C, 0x47, 0x83, 0x7D, 0x18, 0x38, 0x75, + 0x3A, 0xC7, 0x45, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x6A, 0x0E, 0x59, 0x8D, 0x75, 0xAC, 0x8B, 0x7D, + 0x9C, 0xF3, 0xA5, 0xEB, 0x1D, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x85, 0x54, 0xFF, + 0xFF, 0xFF, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x85, 0x54, 0xFF, 0xFF, 0xFF, 0x89, + 0x45, 0xA8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x07, 0xC7, 0x45, 0xA8, 0x04, 0x00, + 0x00, 0xC0, 0xC7, 0x45, 0xA0, 0x38, 0x00, 0x00, 0x00, 0xE9, 0x4E, 0x06, 0x00, 0x00, 0x89, 0x5D, + 0xA0, 0x8D, 0x85, 0x78, 0xFF, 0xFF, 0xFF, 0x50, 0x51, 0xFF, 0x15, 0x64, 0x12, 0x01, 0x00, 0x33, + 0xC0, 0x50, 0x8D, 0x4D, 0xA4, 0x51, 0xFF, 0x75, 0xA8, 0x50, 0x50, 0x57, 0xFF, 0xD6, 0x89, 0x45, + 0xA8, 0x8D, 0x85, 0x78, 0xFF, 0xFF, 0xFF, 0x50, 0xFF, 0x15, 0x5C, 0x12, 0x01, 0x00, 0x83, 0x7D, + 0xA8, 0x00, 0x0F, 0x8C, 0x14, 0x06, 0x00, 0x00, 0x8B, 0x7D, 0x18, 0x8B, 0xC7, 0x3B, 0xFB, 0x73, + 0x02, 0x8B, 0xC3, 0x68, 0x4B, 0x70, 0x68, 0x51, 0x50, 0x6A, 0x01, 0xFF, 0x15, 0x90, 0x12, 0x01, + 0x00, 0x8B, 0xF0, 0x89, 0x75, 0x98, 0x85, 0xF6, 0x0F, 0x84, 0x82, 0x00, 0x00, 0x00, 0x57, 0x6A, + 0x00, 0x56, 0xE8, 0x71, 0xDD, 0xFF, 0xFF, 0x83, 0xC4, 0x0C, 0x8D, 0x45, 0xA0, 0x50, 0x57, 0x56, + 0xFF, 0x75, 0xA4, 0xE8, 0xB4, 0xFD, 0xFF, 0xFF, 0x89, 0x45, 0xA8, 0x85, 0xC0, 0x7C, 0x53, 0x8B, + 0x46, 0x04, 0x85, 0xC0, 0x74, 0x08, 0x2B, 0xC6, 0x03, 0x45, 0x9C, 0x89, 0x46, 0x04, 0xC7, 0x45, + 0xFC, 0x02, 0x00, 0x00, 0x00, 0x57, 0x56, 0xFF, 0x75, 0x9C, 0xE8, 0x2D, 0xDD, 0xFF, 0xFF, 0x83, + 0xC4, 0x0C, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x27, 0x8B, 0x45, 0xEC, 0x8B, 0x00, + 0x8B, 0x00, 0x89, 0x85, 0x4C, 0xFF, 0xFF, 0xFF, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, + 0x85, 0x4C, 0xFF, 0xFF, 0xFF, 0x89, 0x45, 0xA8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, + 0x75, 0x98, 0x68, 0x4B, 0x70, 0x68, 0x51, 0x56, 0xFF, 0x15, 0x18, 0x12, 0x01, 0x00, 0xEB, 0x07, + 0xC7, 0x45, 0xA8, 0x9A, 0x00, 0x00, 0xC0, 0x8B, 0x4D, 0xA4, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, + 0xE9, 0x57, 0x05, 0x00, 0x00, 0x6A, 0x60, 0x59, 0x89, 0x4D, 0xA0, 0x8B, 0x45, 0x18, 0x3B, 0xC1, + 0x73, 0x02, 0x8B, 0xC1, 0x03, 0xC3, 0x68, 0x4B, 0x70, 0x68, 0x51, 0x50, 0x6A, 0x01, 0xFF, 0x15, + 0x90, 0x12, 0x01, 0x00, 0x8B, 0xF0, 0x89, 0x75, 0x98, 0x85, 0xF6, 0x0F, 0x84, 0xAB, 0x00, 0x00, + 0x00, 0xFF, 0x75, 0x18, 0x6A, 0x00, 0x56, 0xE8, 0xAC, 0xDC, 0xFF, 0xFF, 0x83, 0xC4, 0x0C, 0x8D, + 0x85, 0x78, 0xFF, 0xFF, 0xFF, 0x50, 0xFF, 0x75, 0x90, 0xFF, 0x15, 0x64, 0x12, 0x01, 0x00, 0x8D, + 0x45, 0xA0, 0x50, 0xFF, 0x75, 0x18, 0x56, 0x6A, 0x02, 0x57, 0xFF, 0x15, 0x94, 0x12, 0x01, 0x00, + 0x89, 0x45, 0xA8, 0x8D, 0x85, 0x78, 0xFF, 0xFF, 0xFF, 0x50, 0xFF, 0x15, 0x5C, 0x12, 0x01, 0x00, + 0x83, 0x7D, 0xA8, 0x00, 0x7C, 0x55, 0x8B, 0x46, 0x04, 0x85, 0xC0, 0x74, 0x08, 0x2B, 0xC6, 0x03, + 0x45, 0x9C, 0x89, 0x46, 0x04, 0xC7, 0x45, 0xFC, 0x03, 0x00, 0x00, 0x00, 0xFF, 0x75, 0x18, 0x56, + 0xFF, 0x75, 0x9C, 0xE8, 0x44, 0xDC, 0xFF, 0xFF, 0x83, 0xC4, 0x0C, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, + 0xFF, 0xFF, 0xEB, 0x27, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x85, 0x74, 0xFF, 0xFF, + 0xFF, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x85, 0x74, 0xFF, 0xFF, 0xFF, 0x89, 0x45, + 0xA8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x75, 0x98, 0x68, 0x4B, 0x70, 0x68, 0x51, + 0x56, 0xFF, 0x15, 0x18, 0x12, 0x01, 0x00, 0xE9, 0x80, 0x04, 0x00, 0x00, 0xC7, 0x45, 0xA8, 0x9A, + 0x00, 0x00, 0xC0, 0xE9, 0x74, 0x04, 0x00, 0x00, 0x8D, 0x85, 0x78, 0xFF, 0xFF, 0xFF, 0x50, 0x51, + 0xFF, 0x15, 0x64, 0x12, 0x01, 0x00, 0x6A, 0x00, 0x6A, 0x02, 0x8D, 0x45, 0xA4, 0x50, 0x6A, 0x04, + 0x5E, 0x56, 0x57, 0xFF, 0x15, 0x94, 0x12, 0x01, 0x00, 0x89, 0x45, 0xA8, 0x8D, 0x85, 0x78, 0xFF, + 0xFF, 0xFF, 0x50, 0xFF, 0x15, 0x5C, 0x12, 0x01, 0x00, 0x83, 0x7D, 0xA8, 0x00, 0x7C, 0x42, 0x83, + 0x7D, 0x18, 0x02, 0x75, 0x35, 0x89, 0x75, 0xFC, 0x66, 0x8B, 0x45, 0xA4, 0x8B, 0x4D, 0x9C, 0x66, + 0x89, 0x01, 0xEB, 0x1D, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x85, 0x68, 0xFF, 0xFF, + 0xFF, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x85, 0x68, 0xFF, 0xFF, 0xFF, 0x89, 0x45, + 0xA8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x07, 0xC7, 0x45, 0xA8, 0x04, 0x00, 0x00, + 0xC0, 0xC7, 0x45, 0xA0, 0x02, 0x00, 0x00, 0x00, 0xE9, 0xEF, 0x03, 0x00, 0x00, 0x8D, 0x85, 0x78, + 0xFF, 0xFF, 0xFF, 0x50, 0x51, 0xFF, 0x15, 0x64, 0x12, 0x01, 0x00, 0x33, 0xF6, 0x56, 0x6A, 0x18, + 0x8D, 0x45, 0xCC, 0x50, 0x56, 0x57, 0xFF, 0x15, 0x8C, 0x12, 0x01, 0x00, 0x89, 0x45, 0xA8, 0x8D, + 0x85, 0x78, 0xFF, 0xFF, 0xFF, 0x50, 0xFF, 0x15, 0x5C, 0x12, 0x01, 0x00, 0x39, 0x75, 0xA8, 0x7C, + 0x47, 0x83, 0x7D, 0x18, 0x18, 0x75, 0x3A, 0xC7, 0x45, 0xFC, 0x05, 0x00, 0x00, 0x00, 0x6A, 0x06, + 0x59, 0x8D, 0x75, 0xCC, 0x8B, 0x7D, 0x9C, 0xF3, 0xA5, 0xEB, 0x1D, 0x8B, 0x45, 0xEC, 0x8B, 0x00, + 0x8B, 0x00, 0x89, 0x85, 0x58, 0xFF, 0xFF, 0xFF, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, + 0x85, 0x58, 0xFF, 0xFF, 0xFF, 0x89, 0x45, 0xA8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, + 0x07, 0xC7, 0x45, 0xA8, 0x04, 0x00, 0x00, 0xC0, 0xC7, 0x45, 0xA0, 0x18, 0x00, 0x00, 0x00, 0xE9, + 0x68, 0x03, 0x00, 0x00, 0x8D, 0x85, 0x78, 0xFF, 0xFF, 0xFF, 0x50, 0x51, 0xFF, 0x15, 0x64, 0x12, + 0x01, 0x00, 0x33, 0xF6, 0x56, 0x6A, 0x1C, 0x8D, 0x45, 0xC8, 0x50, 0x56, 0x57, 0xFF, 0x15, 0x88, + 0x12, 0x01, 0x00, 0x89, 0x45, 0xA8, 0x8D, 0x85, 0x78, 0xFF, 0xFF, 0xFF, 0x50, 0xFF, 0x15, 0x5C, + 0x12, 0x01, 0x00, 0x39, 0x75, 0xA8, 0x7C, 0x47, 0x83, 0x7D, 0x18, 0x1C, 0x75, 0x3A, 0xC7, 0x45, + 0xFC, 0x06, 0x00, 0x00, 0x00, 0x6A, 0x07, 0x59, 0x8D, 0x75, 0xC8, 0x8B, 0x7D, 0x9C, 0xF3, 0xA5, + 0xEB, 0x1D, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x85, 0x60, 0xFF, 0xFF, 0xFF, 0x33, + 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x85, 0x60, 0xFF, 0xFF, 0xFF, 0x89, 0x45, 0xA8, 0xC7, + 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x07, 0xC7, 0x45, 0xA8, 0x04, 0x00, 0x00, 0xC0, 0xC7, + 0x45, 0xA0, 0x1C, 0x00, 0x00, 0x00, 0xE9, 0xE1, 0x02, 0x00, 0x00, 0x83, 0x3D, 0x00, 0x19, 0x01, + 0x00, 0xFF, 0x0F, 0x84, 0x18, 0x01, 0x00, 0x00, 0x83, 0x3D, 0x0C, 0x19, 0x01, 0x00, 0xFF, 0x0F, + 0x84, 0x0B, 0x01, 0x00, 0x00, 0x83, 0x3D, 0x14, 0x19, 0x01, 0x00, 0xFF, 0x0F, 0x84, 0xFE, 0x00, + 0x00, 0x00, 0x8D, 0x85, 0x78, 0xFF, 0xFF, 0xFF, 0x50, 0x51, 0xFF, 0x15, 0x64, 0x12, 0x01, 0x00, + 0x33, 0xDB, 0x53, 0x8D, 0x45, 0xA4, 0x50, 0xFF, 0x75, 0xA8, 0x53, 0x53, 0x57, 0xFF, 0xD6, 0x89, + 0x45, 0xA8, 0x8D, 0x85, 0x78, 0xFF, 0xFF, 0xFF, 0x50, 0xFF, 0x15, 0x5C, 0x12, 0x01, 0x00, 0x39, + 0x5D, 0xA8, 0x0F, 0x8C, 0xCF, 0x00, 0x00, 0x00, 0xFF, 0x75, 0xA4, 0xE8, 0x48, 0xF1, 0xFF, 0xFF, + 0x3B, 0xC3, 0x74, 0x31, 0x8B, 0x0D, 0x14, 0x19, 0x01, 0x00, 0x8D, 0x34, 0x01, 0x68, 0x30, 0x57, + 0x01, 0x00, 0x8D, 0x45, 0x94, 0x50, 0xFF, 0x15, 0x24, 0x12, 0x01, 0x00, 0x53, 0x8D, 0x45, 0x94, + 0x50, 0x56, 0xFF, 0x15, 0x84, 0x12, 0x01, 0x00, 0x84, 0xC0, 0x75, 0x10, 0xC7, 0x45, 0xA8, 0x24, + 0x00, 0x00, 0xC0, 0xEB, 0x07, 0xC7, 0x45, 0xA8, 0xBB, 0x00, 0x00, 0xC0, 0x39, 0x5D, 0xA8, 0x7C, + 0x74, 0xA1, 0x0C, 0x19, 0x01, 0x00, 0x8B, 0x4D, 0xA4, 0x8B, 0x04, 0x08, 0x3B, 0xC3, 0x74, 0x12, + 0x8B, 0x0D, 0x00, 0x19, 0x01, 0x00, 0x8D, 0x34, 0x01, 0x8D, 0x7D, 0xD0, 0xA5, 0xA5, 0xA5, 0xA5, + 0xEB, 0x09, 0x33, 0xC0, 0x8D, 0x7D, 0xD0, 0xAB, 0xAB, 0xAB, 0xAB, 0x89, 0x5D, 0xE0, 0x83, 0x7D, + 0x18, 0x14, 0x75, 0x3A, 0xC7, 0x45, 0xFC, 0x07, 0x00, 0x00, 0x00, 0x6A, 0x05, 0x59, 0x8D, 0x75, + 0xD0, 0x8B, 0x7D, 0x9C, 0xF3, 0xA5, 0xEB, 0x1D, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, + 0x85, 0x70, 0xFF, 0xFF, 0xFF, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x85, 0x70, 0xFF, + 0xFF, 0xFF, 0x89, 0x45, 0xA8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x07, 0xC7, 0x45, + 0xA8, 0x04, 0x00, 0x00, 0xC0, 0x8B, 0x4D, 0xA4, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0xEB, 0x07, + 0xC7, 0x45, 0xA8, 0xBB, 0x00, 0x00, 0xC0, 0xC7, 0x45, 0xA0, 0x14, 0x00, 0x00, 0x00, 0xE9, 0xA9, + 0x01, 0x00, 0x00, 0x8D, 0x85, 0x78, 0xFF, 0xFF, 0xFF, 0x50, 0x51, 0xFF, 0x15, 0x64, 0x12, 0x01, + 0x00, 0x6A, 0x00, 0x8D, 0x45, 0xA4, 0x50, 0xFF, 0x75, 0xA8, 0xA1, 0x7C, 0x12, 0x01, 0x00, 0xFF, + 0x30, 0x6A, 0x00, 0x57, 0xFF, 0xD6, 0x89, 0x45, 0xA8, 0x8D, 0x85, 0x78, 0xFF, 0xFF, 0xFF, 0x50, + 0xFF, 0x15, 0x5C, 0x12, 0x01, 0x00, 0x83, 0x7D, 0xA8, 0x00, 0x0F, 0x8C, 0xF8, 0xFD, 0xFF, 0xFF, + 0x8B, 0x45, 0xA4, 0x8A, 0x48, 0x24, 0x88, 0x4D, 0xCC, 0x8A, 0x48, 0x25, 0x88, 0x4D, 0xCD, 0x8A, + 0x48, 0x26, 0x88, 0x4D, 0xCE, 0x8A, 0x48, 0x27, 0x88, 0x4D, 0xCF, 0x8A, 0x48, 0x28, 0x88, 0x4D, + 0xD0, 0x8A, 0x48, 0x29, 0x88, 0x4D, 0xD1, 0x8A, 0x48, 0x2A, 0x88, 0x4D, 0xD2, 0x8A, 0x48, 0x2B, + 0x88, 0x4D, 0xD3, 0x8B, 0x48, 0x38, 0x89, 0x4D, 0xD4, 0x8B, 0x48, 0x3C, 0x89, 0x4D, 0xD8, 0x8B, + 0x48, 0x2C, 0x89, 0x4D, 0xDC, 0x83, 0x7D, 0x18, 0x18, 0x75, 0x40, 0x89, 0x5D, 0xFC, 0x6A, 0x06, + 0x59, 0x8D, 0x75, 0xCC, 0x8B, 0x7D, 0x9C, 0xF3, 0xA5, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, + 0xEB, 0x30, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x85, 0x6C, 0xFF, 0xFF, 0xFF, 0x33, + 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x85, 0x6C, 0xFF, 0xFF, 0xFF, 0x89, 0x45, 0xA8, 0xC7, + 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x45, 0xA4, 0xEB, 0x07, 0xC7, 0x45, 0xA8, 0x04, 0x00, + 0x00, 0xC0, 0x8B, 0xC8, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0xE9, 0x59, 0xFD, 0xFF, 0xFF, 0x83, + 0x7D, 0x18, 0x04, 0x0F, 0x85, 0xAF, 0x00, 0x00, 0x00, 0x8D, 0x85, 0x78, 0xFF, 0xFF, 0xFF, 0x50, + 0x51, 0xFF, 0x15, 0x64, 0x12, 0x01, 0x00, 0x33, 0xDB, 0x53, 0x8D, 0x45, 0x98, 0x50, 0xFF, 0x75, + 0xA8, 0xA1, 0x7C, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x53, 0x57, 0xFF, 0xD6, 0x89, 0x45, 0xA8, 0x8D, + 0x85, 0x78, 0xFF, 0xFF, 0xFF, 0x50, 0xFF, 0x15, 0x5C, 0x12, 0x01, 0x00, 0x39, 0x5D, 0xA8, 0x0F, + 0x8C, 0x87, 0x00, 0x00, 0x00, 0x8B, 0x45, 0x98, 0x39, 0x58, 0x04, 0x74, 0x26, 0x8B, 0x40, 0x04, + 0x8B, 0x40, 0x08, 0x3B, 0xC3, 0x74, 0x1C, 0x8D, 0x4D, 0xA4, 0x51, 0x53, 0x8B, 0x0D, 0x80, 0x12, + 0x01, 0x00, 0xFF, 0x31, 0x53, 0x53, 0x53, 0x50, 0xFF, 0x15, 0x6C, 0x12, 0x01, 0x00, 0x89, 0x45, + 0xA8, 0xEB, 0x03, 0x89, 0x5D, 0xA4, 0x39, 0x5D, 0xA8, 0x7C, 0x35, 0xC7, 0x45, 0xFC, 0x09, 0x00, + 0x00, 0x00, 0x8B, 0x45, 0x9C, 0x8B, 0x4D, 0xA4, 0x89, 0x08, 0xEB, 0x1D, 0x8B, 0x45, 0xEC, 0x8B, + 0x00, 0x8B, 0x00, 0x89, 0x85, 0x64, 0xFF, 0xFF, 0xFF, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, + 0x8B, 0x85, 0x64, 0xFF, 0xFF, 0xFF, 0x89, 0x45, 0xA8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, + 0x8B, 0x4D, 0x98, 0xE9, 0xB2, 0xFA, 0xFF, 0xFF, 0xC7, 0x45, 0xA8, 0x04, 0x00, 0x00, 0xC0, 0xEB, + 0x0B, 0xC7, 0x45, 0xA8, 0x03, 0x00, 0x00, 0xC0, 0x83, 0x65, 0xA0, 0x00, 0x8B, 0x4D, 0x90, 0xFF, + 0x15, 0x4C, 0x12, 0x01, 0x00, 0x8B, 0x85, 0x5C, 0xFF, 0xFF, 0xFF, 0x85, 0xC0, 0x74, 0x29, 0x80, + 0x7D, 0x20, 0x00, 0x74, 0x1E, 0xC7, 0x45, 0xFC, 0x0A, 0x00, 0x00, 0x00, 0x8B, 0x4D, 0xA0, 0x89, + 0x08, 0xEB, 0x07, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, + 0xFF, 0xEB, 0x05, 0x8B, 0x4D, 0xA0, 0x89, 0x08, 0x8B, 0x45, 0xA8, 0xE8, 0x64, 0xD9, 0xFF, 0xFF, + 0xC2, 0x1C, 0x00, 0x90, 0xE7, 0x2F, 0x01, 0x00, 0x6E, 0x30, 0x01, 0x00, 0x65, 0x31, 0x01, 0x00, + 0x48, 0x32, 0x01, 0x00, 0xCD, 0x32, 0x01, 0x00, 0x54, 0x33, 0x01, 0x00, 0xDB, 0x33, 0x01, 0x00, + 0x13, 0x35, 0x01, 0x00, 0xEF, 0x35, 0x01, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x20, + 0x68, 0xE8, 0x15, 0x01, 0x00, 0xE8, 0x1A, 0xD7, 0xFF, 0xFF, 0x33, 0xDB, 0x38, 0x5D, 0x14, 0x74, + 0x53, 0x89, 0x5D, 0xFC, 0x6A, 0x04, 0x6A, 0x04, 0x8B, 0x7D, 0x08, 0x57, 0xFF, 0x15, 0x2C, 0x12, + 0x01, 0x00, 0x6A, 0x04, 0x6A, 0x08, 0x8B, 0x75, 0x10, 0x56, 0xFF, 0x15, 0x38, 0x12, 0x01, 0x00, + 0x8B, 0x0E, 0x89, 0x4D, 0xD0, 0x8B, 0x76, 0x04, 0x89, 0x75, 0xD4, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, + 0xFF, 0xFF, 0xEB, 0x31, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xE0, 0x33, 0xC0, + 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x45, 0xE0, 0xE9, + 0xA9, 0x00, 0x00, 0x00, 0x8B, 0x45, 0x10, 0x8B, 0x08, 0x89, 0x4D, 0xD0, 0x8B, 0x70, 0x04, 0x89, + 0x75, 0xD4, 0x8B, 0x7D, 0x08, 0x3B, 0xF3, 0x74, 0x23, 0x8D, 0x45, 0xDC, 0x50, 0x8D, 0x45, 0x08, + 0x50, 0x8D, 0x45, 0xD0, 0x50, 0xFF, 0x15, 0xA0, 0x12, 0x01, 0x00, 0x8B, 0xF0, 0x3B, 0xF3, 0x7C, + 0x7A, 0x8B, 0x4D, 0xDC, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0xEB, 0x0D, 0x8D, 0x45, 0x08, 0x50, + 0x51, 0xFF, 0x15, 0x9C, 0x12, 0x01, 0x00, 0x8B, 0xF0, 0x3B, 0xF3, 0x7C, 0x5E, 0x8D, 0x45, 0xE4, + 0x50, 0x53, 0xA1, 0x54, 0x12, 0x01, 0x00, 0xFF, 0x30, 0xFF, 0x75, 0x0C, 0x53, 0x53, 0xFF, 0x75, + 0x08, 0xFF, 0x15, 0x6C, 0x12, 0x01, 0x00, 0x8B, 0xF0, 0x8B, 0x4D, 0x08, 0xFF, 0x15, 0x4C, 0x12, + 0x01, 0x00, 0x3B, 0xF3, 0x7C, 0x35, 0x38, 0x5D, 0x14, 0x74, 0x2B, 0xC7, 0x45, 0xFC, 0x01, 0x00, + 0x00, 0x00, 0x8B, 0x45, 0xE4, 0x89, 0x07, 0xEB, 0x14, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, + 0x89, 0x45, 0xD8, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x75, 0xD8, 0xC7, 0x45, 0xFC, + 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x05, 0x8B, 0x45, 0xE4, 0x89, 0x07, 0x8B, 0xC6, 0xE8, 0x57, 0xD6, + 0xFF, 0xFF, 0xC2, 0x10, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x18, 0x68, 0x10, 0x16, 0x01, + 0x00, 0xE8, 0xFE, 0xD5, 0xFF, 0xFF, 0x33, 0xDB, 0x38, 0x5D, 0x14, 0x74, 0x17, 0x89, 0x5D, 0xFC, + 0x6A, 0x04, 0x6A, 0x04, 0xFF, 0x75, 0x10, 0xFF, 0x15, 0x2C, 0x12, 0x01, 0x00, 0xC7, 0x45, 0xFC, + 0xFE, 0xFF, 0xFF, 0xFF, 0x53, 0x8D, 0x45, 0xE4, 0x50, 0xFF, 0x75, 0x14, 0xA1, 0x54, 0x12, 0x01, + 0x00, 0xFF, 0x30, 0x53, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x50, 0x12, 0x01, 0x00, 0x3B, 0xC3, 0x0F, + 0x8C, 0x93, 0x00, 0x00, 0x00, 0xFF, 0x75, 0xE4, 0xFF, 0x15, 0xAC, 0x12, 0x01, 0x00, 0x8B, 0xF0, + 0x8D, 0x45, 0xE0, 0x50, 0x53, 0xA1, 0xA8, 0x12, 0x01, 0x00, 0xFF, 0x30, 0xFF, 0x75, 0x0C, 0x53, + 0x53, 0x56, 0xFF, 0x15, 0x6C, 0x12, 0x01, 0x00, 0x8B, 0xF8, 0x56, 0xFF, 0x15, 0xA4, 0x12, 0x01, + 0x00, 0x8B, 0x4D, 0xE4, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x3B, 0xFB, 0x7C, 0x58, 0x38, 0x5D, + 0x14, 0x74, 0x4B, 0xC7, 0x45, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x8B, 0x45, 0xE0, 0x8B, 0x4D, 0x10, + 0x89, 0x01, 0xEB, 0x31, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xDC, 0x33, 0xC0, + 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x45, 0xDC, 0xEB, + 0x27, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xD8, 0x33, 0xC0, 0x40, 0xC3, 0x8B, + 0x65, 0xE8, 0x8B, 0x7D, 0xD8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x08, 0x8B, 0x45, + 0xE0, 0x8B, 0x4D, 0x10, 0x89, 0x01, 0x8B, 0xC7, 0xE8, 0x6C, 0xD5, 0xFF, 0xFF, 0xC2, 0x10, 0x00, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x14, 0x68, 0x38, 0x16, 0x01, 0x00, 0xE8, 0x12, 0xD5, + 0xFF, 0xFF, 0x33, 0xDB, 0x89, 0x5D, 0xE4, 0x38, 0x5D, 0x14, 0x74, 0x3A, 0x89, 0x5D, 0xFC, 0x6A, + 0x04, 0x6A, 0x04, 0x8B, 0x7D, 0x10, 0x57, 0xFF, 0x15, 0x2C, 0x12, 0x01, 0x00, 0xC7, 0x45, 0xFC, + 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x23, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xE0, + 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x45, + 0xE0, 0xE9, 0x93, 0x00, 0x00, 0x00, 0x8B, 0x7D, 0x10, 0x53, 0x8D, 0x45, 0x10, 0x50, 0xFF, 0x75, + 0x14, 0xA1, 0x54, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x53, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x50, 0x12, + 0x01, 0x00, 0x3B, 0xC3, 0x7C, 0x73, 0xFF, 0x75, 0x10, 0xFF, 0x15, 0xB4, 0x12, 0x01, 0x00, 0x3B, + 0xC3, 0x74, 0x1D, 0x8D, 0x4D, 0xE4, 0x51, 0x53, 0x8B, 0x0D, 0xB0, 0x12, 0x01, 0x00, 0xFF, 0x31, + 0xFF, 0x75, 0x0C, 0x53, 0x53, 0x50, 0xFF, 0x15, 0x6C, 0x12, 0x01, 0x00, 0x8B, 0xF0, 0xEB, 0x05, + 0xBE, 0x25, 0x02, 0x00, 0xC0, 0x8B, 0x4D, 0x10, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x3B, 0xF3, + 0x7C, 0x35, 0x38, 0x5D, 0x14, 0x74, 0x2B, 0xC7, 0x45, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x8B, 0x45, + 0xE4, 0x89, 0x07, 0xEB, 0x14, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xDC, 0x33, + 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x75, 0xDC, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, + 0xEB, 0x05, 0x8B, 0x45, 0xE4, 0x89, 0x07, 0x8B, 0xC6, 0xE8, 0x7B, 0xD4, 0xFF, 0xFF, 0xC2, 0x10, + 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x56, 0x33, 0xF6, 0x39, 0x35, + 0x34, 0x1A, 0x01, 0x00, 0x75, 0x07, 0xB8, 0xBB, 0x00, 0x00, 0xC0, 0xEB, 0x33, 0x56, 0x8D, 0x45, + 0x0C, 0x50, 0xFF, 0x75, 0x0C, 0xA1, 0x54, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x56, 0xFF, 0x75, 0x08, + 0xFF, 0x15, 0x50, 0x12, 0x01, 0x00, 0x3B, 0xC6, 0x7C, 0x16, 0xFF, 0x75, 0x0C, 0xFF, 0x15, 0x34, + 0x1A, 0x01, 0x00, 0x8B, 0x4D, 0x0C, 0x8B, 0xF0, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x8B, 0xC6, + 0x5E, 0x5D, 0xC2, 0x08, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x56, + 0x33, 0xF6, 0x39, 0x35, 0x24, 0x1A, 0x01, 0x00, 0x75, 0x07, 0xB8, 0xBB, 0x00, 0x00, 0xC0, 0xEB, + 0x33, 0x56, 0x8D, 0x45, 0x0C, 0x50, 0xFF, 0x75, 0x0C, 0xA1, 0x54, 0x12, 0x01, 0x00, 0xFF, 0x30, + 0x56, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x50, 0x12, 0x01, 0x00, 0x3B, 0xC6, 0x7C, 0x16, 0xFF, 0x75, + 0x0C, 0xFF, 0x15, 0x24, 0x1A, 0x01, 0x00, 0x8B, 0x4D, 0x0C, 0x8B, 0xF0, 0xFF, 0x15, 0x4C, 0x12, + 0x01, 0x00, 0x8B, 0xC6, 0x5E, 0x5D, 0xC2, 0x08, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, + 0x55, 0x8B, 0xEC, 0x51, 0x51, 0x83, 0x3D, 0xAC, 0x1B, 0x01, 0x00, 0x00, 0x74, 0x07, 0xB8, 0xBB, + 0x00, 0x00, 0xC0, 0xEB, 0x5B, 0x68, 0x60, 0x1A, 0x01, 0x00, 0xE8, 0x61, 0xD0, 0xFF, 0xFF, 0x89, + 0x45, 0xF8, 0x85, 0xC0, 0x74, 0xE8, 0x8B, 0x0D, 0x7C, 0x1A, 0x01, 0x00, 0x83, 0xF9, 0x33, 0x74, + 0x31, 0x83, 0xF9, 0x34, 0x74, 0x2C, 0x83, 0xF9, 0x3E, 0x74, 0x27, 0x83, 0xF9, 0x3C, 0x74, 0x14, + 0x83, 0xF9, 0x3D, 0x74, 0x0F, 0x83, 0xF9, 0x3F, 0x75, 0xC4, 0x8B, 0x55, 0x0C, 0x8B, 0x4D, 0x08, + 0xFF, 0xD0, 0xEB, 0x16, 0xFF, 0x75, 0x0C, 0x8B, 0x4D, 0x08, 0xFF, 0x55, 0xF8, 0x89, 0x45, 0xFC, + 0xEB, 0x0B, 0xFF, 0x75, 0x0C, 0xFF, 0x75, 0x08, 0xFF, 0xD0, 0x89, 0x45, 0xFC, 0x8B, 0x45, 0xFC, + 0xC9, 0xC2, 0x08, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x6A, + 0x00, 0x8D, 0x45, 0x10, 0x50, 0xFF, 0x75, 0x10, 0xA1, 0x54, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x6A, + 0x00, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x50, 0x12, 0x01, 0x00, 0x85, 0xC0, 0x7C, 0x70, 0x56, 0xFF, + 0x15, 0x74, 0x12, 0x01, 0x00, 0x39, 0x45, 0x10, 0x74, 0x53, 0xFF, 0x75, 0x0C, 0xFF, 0x75, 0x10, + 0xE8, 0x49, 0xFF, 0xFF, 0xFF, 0x8B, 0xF0, 0x81, 0xFE, 0xBB, 0x00, 0x00, 0xC0, 0x75, 0x43, 0x8D, + 0x45, 0x08, 0x50, 0xA1, 0x54, 0x12, 0x01, 0x00, 0x6A, 0x00, 0xFF, 0x30, 0x6A, 0x01, 0x6A, 0x00, + 0x68, 0x00, 0x02, 0x00, 0x00, 0xFF, 0x75, 0x10, 0xFF, 0x15, 0x6C, 0x12, 0x01, 0x00, 0x8B, 0xF0, + 0x85, 0xF6, 0x7C, 0x1E, 0xFF, 0x75, 0x0C, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0xB8, 0x12, 0x01, 0x00, + 0xFF, 0x75, 0x08, 0x8B, 0xF0, 0xFF, 0x15, 0x14, 0x12, 0x01, 0x00, 0xEB, 0x05, 0xBE, 0xDB, 0x00, + 0x00, 0xC0, 0x8B, 0x4D, 0x10, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x8B, 0xC6, 0x5E, 0x5D, 0xC2, + 0x0C, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x34, 0x68, 0x60, 0x16, 0x01, 0x00, 0xE8, + 0x60, 0xD2, 0xFF, 0xFF, 0x80, 0x7D, 0x1C, 0x00, 0x74, 0x59, 0x8B, 0x45, 0x0C, 0x48, 0x74, 0x05, + 0x6A, 0x04, 0x58, 0xEB, 0x03, 0x33, 0xC0, 0x40, 0x83, 0x65, 0xFC, 0x00, 0x50, 0xFF, 0x75, 0x14, + 0x8B, 0x5D, 0x10, 0x53, 0x8B, 0x35, 0x2C, 0x12, 0x01, 0x00, 0xFF, 0xD6, 0x83, 0x7D, 0x18, 0x00, + 0x74, 0x09, 0x6A, 0x04, 0x6A, 0x04, 0xFF, 0x75, 0x18, 0xFF, 0xD6, 0x6A, 0xFE, 0x5F, 0x89, 0x7D, + 0xFC, 0xEB, 0x26, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xE0, 0x33, 0xC0, 0x40, + 0xC3, 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x45, 0xE0, 0xE9, 0xD4, + 0x01, 0x00, 0x00, 0x6A, 0xFE, 0x5F, 0x8B, 0x5D, 0x10, 0x33, 0xF6, 0x56, 0x8D, 0x45, 0xE4, 0x50, + 0xFF, 0x75, 0x1C, 0xA1, 0x54, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x56, 0xFF, 0x75, 0x08, 0xFF, 0x15, + 0x50, 0x12, 0x01, 0x00, 0x89, 0x45, 0x10, 0x3B, 0xC6, 0x0F, 0x8C, 0xA5, 0x01, 0x00, 0x00, 0x8B, + 0x45, 0x0C, 0x48, 0x0F, 0x84, 0x0E, 0x01, 0x00, 0x00, 0x48, 0x0F, 0x84, 0x98, 0x00, 0x00, 0x00, + 0x48, 0x74, 0x0C, 0xC7, 0x45, 0x10, 0x03, 0x00, 0x00, 0xC0, 0xE9, 0x4F, 0x01, 0x00, 0x00, 0x8D, + 0x45, 0x0C, 0x50, 0x56, 0xA1, 0x54, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x68, 0x00, 0x04, 0x00, 0x00, + 0x56, 0x68, 0x00, 0x02, 0x00, 0x00, 0xFF, 0x75, 0xE4, 0xFF, 0x15, 0x6C, 0x12, 0x01, 0x00, 0x89, + 0x45, 0x10, 0x3B, 0xC6, 0x0F, 0x8C, 0xC8, 0x00, 0x00, 0x00, 0x56, 0x6A, 0x04, 0x8D, 0x45, 0x08, + 0x50, 0x6A, 0x21, 0xFF, 0x75, 0x0C, 0xFF, 0x15, 0x8C, 0x12, 0x01, 0x00, 0x89, 0x45, 0x10, 0x3B, + 0xC6, 0x7C, 0x3A, 0x83, 0x7D, 0x14, 0x04, 0x75, 0x2D, 0xC7, 0x45, 0xFC, 0x03, 0x00, 0x00, 0x00, + 0x8B, 0x45, 0x08, 0x89, 0x03, 0xEB, 0x1A, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, + 0xDC, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x45, 0xDC, 0x89, 0x45, 0x10, 0x6A, 0xFE, + 0x5F, 0x89, 0x7D, 0xFC, 0xEB, 0x07, 0xC7, 0x45, 0x10, 0x04, 0x00, 0x00, 0xC0, 0xFF, 0x75, 0x0C, + 0xFF, 0x15, 0x14, 0x12, 0x01, 0x00, 0xEB, 0x6A, 0x8D, 0x45, 0xBC, 0x50, 0xFF, 0x75, 0xE4, 0xFF, + 0x15, 0x64, 0x12, 0x01, 0x00, 0x56, 0x6A, 0x04, 0x8D, 0x45, 0x0C, 0x50, 0x6A, 0x22, 0x6A, 0xFF, + 0xFF, 0x15, 0x8C, 0x12, 0x01, 0x00, 0x89, 0x45, 0x10, 0x8D, 0x45, 0xBC, 0x50, 0xFF, 0x15, 0x5C, + 0x12, 0x01, 0x00, 0x39, 0x75, 0x10, 0x7C, 0x3A, 0x83, 0x7D, 0x14, 0x04, 0x75, 0x2D, 0xC7, 0x45, + 0xFC, 0x02, 0x00, 0x00, 0x00, 0x8B, 0x45, 0x0C, 0x89, 0x03, 0xEB, 0x1A, 0x8B, 0x45, 0xEC, 0x8B, + 0x00, 0x8B, 0x00, 0x89, 0x45, 0xD8, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x45, 0xD8, + 0x89, 0x45, 0x10, 0x6A, 0xFE, 0x5F, 0x89, 0x7D, 0xFC, 0xEB, 0x07, 0xC7, 0x45, 0x10, 0x04, 0x00, + 0x00, 0xC0, 0x6A, 0x04, 0x5E, 0xEB, 0x57, 0x32, 0xC0, 0x8B, 0x0D, 0x2C, 0x1A, 0x01, 0x00, 0x3B, + 0xCE, 0x74, 0x07, 0xFF, 0x75, 0xE4, 0xFF, 0xD1, 0xEB, 0x07, 0xC7, 0x45, 0x10, 0xBB, 0x00, 0x00, + 0xC0, 0x39, 0x75, 0x10, 0x7C, 0x35, 0x33, 0xC9, 0x41, 0x39, 0x4D, 0x14, 0x75, 0x26, 0x89, 0x4D, + 0xFC, 0x88, 0x03, 0xEB, 0x1A, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xD4, 0x33, + 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x45, 0xD4, 0x89, 0x45, 0x10, 0x6A, 0xFE, 0x5F, 0x89, + 0x7D, 0xFC, 0xEB, 0x07, 0xC7, 0x45, 0x10, 0x04, 0x00, 0x00, 0xC0, 0x33, 0xF6, 0x46, 0x8B, 0x4D, + 0xE4, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x8B, 0x45, 0x18, 0x85, 0xC0, 0x74, 0x26, 0x80, 0x7D, + 0x1C, 0x00, 0x74, 0x1E, 0xC7, 0x45, 0xFC, 0x04, 0x00, 0x00, 0x00, 0x89, 0x30, 0x89, 0x7D, 0xFC, + 0xEB, 0x12, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, + 0xEB, 0x02, 0x89, 0x30, 0x8B, 0x45, 0x10, 0xE8, 0x6D, 0xD0, 0xFF, 0xFF, 0xC2, 0x18, 0x00, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x2C, 0x68, 0xB0, 0x16, 0x01, 0x00, 0xE8, 0x14, 0xD0, 0xFF, 0xFF, + 0x80, 0x7D, 0x18, 0x00, 0x74, 0x3B, 0x83, 0x65, 0xFC, 0x00, 0x6A, 0x04, 0xFF, 0x75, 0x14, 0x8B, + 0x7D, 0x10, 0x57, 0xFF, 0x15, 0x38, 0x12, 0x01, 0x00, 0x6A, 0xFE, 0x5B, 0x89, 0x5D, 0xFC, 0xEB, + 0x26, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xE4, 0x33, 0xC0, 0x40, 0xC3, 0x8B, + 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x45, 0xE4, 0xE9, 0x59, 0x01, 0x00, + 0x00, 0x6A, 0xFE, 0x5B, 0x8B, 0x7D, 0x10, 0x6A, 0x00, 0x8D, 0x45, 0x10, 0x50, 0xFF, 0x75, 0x18, + 0xA1, 0x54, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x6A, 0x00, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x50, 0x12, + 0x01, 0x00, 0x8B, 0xF0, 0x85, 0xF6, 0x0F, 0x8C, 0x2C, 0x01, 0x00, 0x00, 0x8B, 0x45, 0x0C, 0x6A, + 0x02, 0x59, 0x2B, 0xC1, 0x0F, 0x84, 0x94, 0x00, 0x00, 0x00, 0x48, 0x74, 0x0A, 0xBE, 0x03, 0x00, + 0x00, 0xC0, 0xE9, 0x08, 0x01, 0x00, 0x00, 0x83, 0x7D, 0x14, 0x04, 0x75, 0x2A, 0x89, 0x4D, 0xFC, + 0x8B, 0x07, 0x89, 0x45, 0x18, 0x89, 0x5D, 0xFC, 0xEB, 0x22, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, + 0x00, 0x89, 0x45, 0xE0, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x75, 0xE0, 0xC7, 0x45, + 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x05, 0xBE, 0x04, 0x00, 0x00, 0xC0, 0x85, 0xF6, 0x0F, 0x8C, + 0xCB, 0x00, 0x00, 0x00, 0x8D, 0x45, 0x14, 0x50, 0x6A, 0x00, 0xA1, 0x54, 0x12, 0x01, 0x00, 0xFF, + 0x30, 0xB8, 0x00, 0x02, 0x00, 0x00, 0x50, 0x6A, 0x00, 0x50, 0xFF, 0x75, 0x10, 0xFF, 0x15, 0x6C, + 0x12, 0x01, 0x00, 0x8B, 0xF0, 0x85, 0xF6, 0x0F, 0x8C, 0xA2, 0x00, 0x00, 0x00, 0x6A, 0x04, 0x8D, + 0x45, 0x18, 0x50, 0x6A, 0x21, 0xFF, 0x75, 0x14, 0xFF, 0x15, 0xC4, 0x12, 0x01, 0x00, 0x8B, 0xF0, + 0xFF, 0x75, 0x14, 0xFF, 0x15, 0x14, 0x12, 0x01, 0x00, 0xE9, 0x81, 0x00, 0x00, 0x00, 0x83, 0x7D, + 0x14, 0x04, 0x75, 0x2E, 0xC7, 0x45, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x8B, 0x07, 0x89, 0x45, 0x14, + 0x89, 0x5D, 0xFC, 0xEB, 0x22, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xDC, 0x33, + 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x75, 0xDC, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, + 0xEB, 0x05, 0xBE, 0x04, 0x00, 0x00, 0xC0, 0x85, 0xF6, 0x7C, 0x44, 0xFF, 0x75, 0x10, 0xE8, 0x23, + 0xCD, 0xFF, 0xFF, 0x84, 0xC0, 0x74, 0x33, 0x8D, 0x45, 0xC4, 0x50, 0xFF, 0x75, 0x10, 0xFF, 0x15, + 0x64, 0x12, 0x01, 0x00, 0x6A, 0x04, 0x8D, 0x45, 0x14, 0x50, 0x6A, 0x22, 0x6A, 0xFF, 0xFF, 0x15, + 0xC4, 0x12, 0x01, 0x00, 0x8B, 0xF0, 0x8D, 0x45, 0xC4, 0x50, 0xFF, 0x15, 0x5C, 0x12, 0x01, 0x00, + 0xFF, 0x75, 0x10, 0xE8, 0x38, 0xCD, 0xFF, 0xFF, 0xEB, 0x05, 0xBE, 0x0A, 0x01, 0x00, 0xC0, 0x8B, + 0x4D, 0x10, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x8B, 0xC6, 0xE8, 0xBA, 0xCE, 0xFF, 0xFF, 0xC2, + 0x14, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0xFF, 0x75, 0x10, + 0xA1, 0x80, 0x12, 0x01, 0x00, 0xFF, 0x30, 0xFF, 0x75, 0x0C, 0x6A, 0x00, 0xFF, 0x75, 0x08, 0xE8, + 0x64, 0xED, 0xFF, 0xFF, 0x5D, 0xC2, 0x0C, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, + 0x55, 0x8B, 0xEC, 0x8B, 0x55, 0x0C, 0x8B, 0x45, 0x08, 0x85, 0xD2, 0x74, 0x22, 0x0F, 0xB7, 0x0A, + 0x66, 0x89, 0x08, 0x66, 0x89, 0x48, 0x02, 0x8D, 0x48, 0x08, 0x89, 0x48, 0x04, 0x0F, 0xB7, 0x00, + 0x50, 0xFF, 0x72, 0x04, 0x51, 0xE8, 0x02, 0xCE, 0xFF, 0xFF, 0x83, 0xC4, 0x0C, 0xEB, 0x0C, 0x33, + 0xC9, 0x21, 0x48, 0x04, 0x66, 0x89, 0x08, 0x66, 0x89, 0x48, 0x02, 0x5D, 0xC2, 0x08, 0x00, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x14, 0x68, 0xE8, 0x16, 0x01, 0x00, 0xE8, 0xF4, 0xCD, 0xFF, 0xFF, + 0x80, 0x7D, 0x1C, 0x00, 0x74, 0x4C, 0x83, 0x65, 0xFC, 0x00, 0x6A, 0x01, 0xFF, 0x75, 0x14, 0x8B, + 0x7D, 0x10, 0x57, 0x8B, 0x35, 0x2C, 0x12, 0x01, 0x00, 0xFF, 0xD6, 0x8B, 0x5D, 0x18, 0x85, 0xDB, + 0x74, 0x07, 0x6A, 0x01, 0x6A, 0x04, 0x53, 0xFF, 0xD6, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, + 0xEB, 0x26, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xE0, 0x33, 0xC0, 0x40, 0xC3, + 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x45, 0xE0, 0xE9, 0x48, 0x01, + 0x00, 0x00, 0x8B, 0x5D, 0x18, 0x8B, 0x7D, 0x10, 0x6A, 0x00, 0x8D, 0x45, 0x10, 0x50, 0xFF, 0x75, + 0x1C, 0xA1, 0x80, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x6A, 0x00, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x50, + 0x12, 0x01, 0x00, 0x89, 0x45, 0xE4, 0x33, 0xF6, 0x3B, 0xC6, 0x0F, 0x8C, 0x1A, 0x01, 0x00, 0x00, + 0xC7, 0x45, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x8B, 0x45, 0x0C, 0x2B, 0xC6, 0x0F, 0x84, 0xB1, 0x00, + 0x00, 0x00, 0x48, 0x74, 0x7C, 0x48, 0x74, 0x0C, 0xC7, 0x45, 0xE4, 0x03, 0x00, 0x00, 0xC0, 0xE9, + 0xE3, 0x00, 0x00, 0x00, 0x8B, 0x45, 0x10, 0x39, 0x70, 0x18, 0x74, 0x3F, 0x3B, 0xFE, 0x74, 0x21, + 0x8B, 0x40, 0x18, 0x83, 0xC0, 0x0C, 0x0F, 0xB7, 0x08, 0x83, 0xC1, 0x08, 0x3B, 0x4D, 0x14, 0x77, + 0x09, 0x50, 0x57, 0xE8, 0xE6, 0xFE, 0xFF, 0xFF, 0xEB, 0x07, 0xC7, 0x45, 0xE4, 0x23, 0x00, 0x00, + 0xC0, 0x3B, 0xDE, 0x0F, 0x84, 0xAE, 0x00, 0x00, 0x00, 0x8B, 0x45, 0x10, 0x8B, 0x40, 0x18, 0x0F, + 0xB7, 0x40, 0x0C, 0x83, 0xC0, 0x08, 0xE9, 0x81, 0x00, 0x00, 0x00, 0x3B, 0xFE, 0x74, 0x16, 0x83, + 0x7D, 0x14, 0x08, 0x72, 0x09, 0x56, 0x57, 0xE8, 0xB2, 0xFE, 0xFF, 0xFF, 0xEB, 0x07, 0xC7, 0x45, + 0xE4, 0x23, 0x00, 0x00, 0xC0, 0x3B, 0xDE, 0x74, 0x7E, 0xC7, 0x03, 0x08, 0x00, 0x00, 0x00, 0xEB, + 0x76, 0x3B, 0xFE, 0x74, 0x21, 0x8B, 0x45, 0x10, 0x83, 0xC0, 0x1C, 0x0F, 0xB7, 0x08, 0x83, 0xC1, + 0x08, 0x3B, 0x4D, 0x14, 0x77, 0x09, 0x50, 0x57, 0xE8, 0x81, 0xFE, 0xFF, 0xFF, 0xEB, 0x07, 0xC7, + 0x45, 0xE4, 0x23, 0x00, 0x00, 0xC0, 0x3B, 0xDE, 0x74, 0x4D, 0x8B, 0x45, 0x10, 0x0F, 0xB7, 0x40, + 0x1C, 0xEB, 0xA0, 0x6A, 0x0C, 0x58, 0x39, 0x45, 0x14, 0x75, 0x16, 0x8B, 0x4D, 0x10, 0x8B, 0x51, + 0x08, 0x89, 0x17, 0x8B, 0x51, 0x0C, 0x89, 0x57, 0x04, 0x8B, 0x49, 0x10, 0x89, 0x4F, 0x08, 0xEB, + 0x07, 0xC7, 0x45, 0xE4, 0x04, 0x00, 0x00, 0xC0, 0x3B, 0xDE, 0x74, 0x1B, 0x89, 0x03, 0xEB, 0x17, + 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xDC, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, + 0xE8, 0x8B, 0x45, 0xDC, 0x89, 0x45, 0xE4, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x4D, + 0x10, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x8B, 0x45, 0xE4, 0xE8, 0x9A, 0xCC, 0xFF, 0xFF, 0xC2, + 0x18, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x1C, 0x68, 0x10, 0x17, 0x01, 0x00, 0xE8, + 0x40, 0xCC, 0xFF, 0xFF, 0x33, 0xDB, 0x38, 0x5D, 0x14, 0x74, 0x53, 0x89, 0x5D, 0xFC, 0x6A, 0x04, + 0x6A, 0x04, 0x8B, 0x7D, 0x08, 0x57, 0xFF, 0x15, 0x2C, 0x12, 0x01, 0x00, 0x6A, 0x04, 0x6A, 0x08, + 0x8B, 0x75, 0x10, 0x56, 0xFF, 0x15, 0x38, 0x12, 0x01, 0x00, 0x8B, 0x06, 0x89, 0x45, 0xD4, 0x8B, + 0x4E, 0x04, 0x89, 0x4D, 0xD8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x31, 0x8B, 0x45, + 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xE0, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0xC7, + 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x45, 0xE0, 0xE9, 0x91, 0x00, 0x00, 0x00, 0x8B, 0x4D, + 0x10, 0x8B, 0x01, 0x89, 0x45, 0xD4, 0x8B, 0x49, 0x04, 0x89, 0x4D, 0xD8, 0x8B, 0x7D, 0x08, 0x3B, + 0xC3, 0x8D, 0x45, 0x08, 0x50, 0x74, 0x0D, 0x53, 0x8D, 0x45, 0xD4, 0x50, 0xFF, 0x15, 0xA0, 0x12, + 0x01, 0x00, 0xEB, 0x07, 0x51, 0xFF, 0x15, 0xD0, 0x12, 0x01, 0x00, 0x3B, 0xC3, 0x7C, 0x60, 0x8D, + 0x45, 0xE4, 0x50, 0x53, 0xA1, 0xCC, 0x12, 0x01, 0x00, 0xFF, 0x30, 0xFF, 0x75, 0x0C, 0x53, 0x53, + 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x6C, 0x12, 0x01, 0x00, 0x8B, 0xF0, 0x8B, 0x4D, 0x08, 0xFF, 0x15, + 0x4C, 0x12, 0x01, 0x00, 0x3B, 0xF3, 0x7C, 0x35, 0x38, 0x5D, 0x14, 0x74, 0x2B, 0xC7, 0x45, 0xFC, + 0x01, 0x00, 0x00, 0x00, 0x8B, 0x45, 0xE4, 0x89, 0x07, 0xEB, 0x14, 0x8B, 0x45, 0xEC, 0x8B, 0x00, + 0x8B, 0x00, 0x89, 0x45, 0xDC, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x75, 0xDC, 0xC7, + 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x05, 0x8B, 0x45, 0xE4, 0x89, 0x07, 0x8B, 0xC6, 0xE8, + 0x95, 0xCB, 0xFF, 0xFF, 0xC2, 0x10, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x14, 0x68, 0x38, + 0x17, 0x01, 0x00, 0xE8, 0x3C, 0xCB, 0xFF, 0xFF, 0x33, 0xDB, 0x38, 0x5D, 0x14, 0x74, 0x3A, 0x89, + 0x5D, 0xFC, 0x6A, 0x04, 0x6A, 0x04, 0x8B, 0x7D, 0x10, 0x57, 0xFF, 0x15, 0x2C, 0x12, 0x01, 0x00, + 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x23, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, + 0x89, 0x45, 0xE0, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, + 0xFF, 0x8B, 0x45, 0xE0, 0xE9, 0x88, 0x00, 0x00, 0x00, 0x8B, 0x7D, 0x10, 0x53, 0x8D, 0x45, 0x10, + 0x50, 0xFF, 0x75, 0x14, 0xA1, 0xCC, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x53, 0xFF, 0x75, 0x08, 0xFF, + 0x15, 0x50, 0x12, 0x01, 0x00, 0x3B, 0xC3, 0x7C, 0x68, 0xFF, 0x75, 0x10, 0xFF, 0x15, 0xD4, 0x12, + 0x01, 0x00, 0x8D, 0x4D, 0xE4, 0x51, 0x53, 0x8B, 0x0D, 0x54, 0x12, 0x01, 0x00, 0xFF, 0x31, 0xFF, + 0x75, 0x0C, 0x53, 0x53, 0x50, 0xFF, 0x15, 0x6C, 0x12, 0x01, 0x00, 0x8B, 0xF0, 0x8B, 0x4D, 0x10, + 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x3B, 0xF3, 0x7C, 0x35, 0x38, 0x5D, 0x14, 0x74, 0x2B, 0xC7, + 0x45, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x8B, 0x45, 0xE4, 0x89, 0x07, 0xEB, 0x14, 0x8B, 0x45, 0xEC, + 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xDC, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x75, + 0xDC, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x05, 0x8B, 0x45, 0xE4, 0x89, 0x07, 0x8B, + 0xC6, 0xE8, 0xB3, 0xCA, 0xFF, 0xFF, 0xC2, 0x10, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, + 0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x0C, 0x83, 0x3D, 0xAC, 0x1B, 0x01, 0x00, 0x00, 0x56, 0x57, 0x74, + 0x0A, 0xB8, 0xBB, 0x00, 0x00, 0xC0, 0xE9, 0x96, 0x00, 0x00, 0x00, 0x68, 0x40, 0x1A, 0x01, 0x00, + 0xE8, 0x3B, 0xC7, 0xFF, 0xFF, 0x8B, 0xF0, 0x89, 0x75, 0xF8, 0x85, 0xF6, 0x74, 0xE3, 0xA1, 0x7C, + 0x1A, 0x01, 0x00, 0x83, 0xF8, 0x33, 0x75, 0x0A, 0xFF, 0x75, 0x0C, 0xFF, 0x75, 0x08, 0xFF, 0xD6, + 0xEB, 0x6F, 0x83, 0xF8, 0x34, 0x74, 0x52, 0x83, 0xF8, 0x3C, 0x74, 0x4D, 0x83, 0xF8, 0x3D, 0x74, + 0x48, 0x83, 0xF8, 0x3E, 0x75, 0x25, 0xFF, 0x15, 0xC8, 0x12, 0x01, 0x00, 0x33, 0xC9, 0x39, 0x45, + 0x08, 0x0F, 0x94, 0xC1, 0x89, 0x4D, 0xF4, 0xFF, 0x75, 0xF4, 0xFF, 0x75, 0x0C, 0x8B, 0x7D, 0x08, + 0xFF, 0x55, 0xF8, 0x89, 0x45, 0xFC, 0x8B, 0x45, 0xFC, 0xEB, 0x36, 0x83, 0xF8, 0x3F, 0x75, 0x91, + 0xFF, 0x15, 0xC8, 0x12, 0x01, 0x00, 0x8B, 0x4D, 0x08, 0x8B, 0x55, 0x0C, 0x3B, 0xC8, 0x0F, 0x94, + 0xC0, 0x0F, 0xB6, 0xC0, 0x50, 0xFF, 0xD6, 0xEB, 0x18, 0xFF, 0x15, 0xC8, 0x12, 0x01, 0x00, 0x39, + 0x45, 0x08, 0x0F, 0x94, 0xC0, 0x0F, 0xB6, 0xC0, 0x50, 0xFF, 0x75, 0x0C, 0xFF, 0x75, 0x08, 0xFF, + 0xD6, 0x5F, 0x5E, 0xC9, 0xC2, 0x08, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, + 0xEC, 0x6A, 0x00, 0x8D, 0x45, 0x10, 0x50, 0xFF, 0x75, 0x10, 0xA1, 0xCC, 0x12, 0x01, 0x00, 0xFF, + 0x30, 0x6A, 0x00, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x50, 0x12, 0x01, 0x00, 0x85, 0xC0, 0x7C, 0x2C, + 0x56, 0xFF, 0x15, 0xC8, 0x12, 0x01, 0x00, 0x39, 0x45, 0x10, 0x74, 0x0F, 0xFF, 0x75, 0x0C, 0xFF, + 0x75, 0x10, 0xE8, 0x07, 0xFF, 0xFF, 0xFF, 0x8B, 0xF0, 0xEB, 0x05, 0xBE, 0xDB, 0x00, 0x00, 0xC0, + 0x8B, 0x4D, 0x10, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x8B, 0xC6, 0x5E, 0x5D, 0xC2, 0x0C, 0x00, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x8B, 0x45, 0x14, 0x8B, 0x00, + 0x56, 0x8B, 0x70, 0x40, 0x6A, 0x00, 0x6A, 0x00, 0x83, 0xC0, 0x30, 0x50, 0xFF, 0x15, 0xD8, 0x12, + 0x01, 0x00, 0x56, 0xFF, 0x15, 0xC8, 0x12, 0x01, 0x00, 0x50, 0xE8, 0xBF, 0xFE, 0xFF, 0xFF, 0x5E, + 0x5D, 0xC2, 0x14, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x6A, + 0x00, 0x8D, 0x45, 0x08, 0x50, 0xFF, 0x75, 0x10, 0xA1, 0xCC, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x6A, + 0x00, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x50, 0x12, 0x01, 0x00, 0x85, 0xC0, 0x7C, 0x1E, 0x56, 0xFF, + 0x75, 0x10, 0xFF, 0x75, 0x0C, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0xDC, 0x12, 0x01, 0x00, 0x8B, 0x4D, + 0x08, 0x8B, 0xF0, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x8B, 0xC6, 0x5E, 0x5D, 0xC2, 0x0C, 0x00, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x6A, 0x00, 0x8D, 0x45, 0x08, + 0x50, 0xFF, 0x75, 0x10, 0xA1, 0xCC, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x6A, 0x00, 0xFF, 0x75, 0x08, + 0xFF, 0x15, 0x50, 0x12, 0x01, 0x00, 0x85, 0xC0, 0x7C, 0x1E, 0x56, 0xFF, 0x75, 0x10, 0xFF, 0x75, + 0x0C, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0xE0, 0x12, 0x01, 0x00, 0x8B, 0x4D, 0x08, 0x8B, 0xF0, 0xFF, + 0x15, 0x4C, 0x12, 0x01, 0x00, 0x8B, 0xC6, 0x5E, 0x5D, 0xC2, 0x0C, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x8B, 0x45, 0x14, 0x56, 0x8B, 0x30, 0x8D, 0x46, 0x54, + 0x50, 0xFF, 0x76, 0x4C, 0x6A, 0x00, 0xFF, 0x76, 0x48, 0xFF, 0x76, 0x44, 0xE8, 0x3F, 0xC7, 0xFF, + 0xFF, 0x80, 0x3E, 0x00, 0x89, 0x46, 0x50, 0x75, 0x0E, 0x6A, 0x00, 0x6A, 0x00, 0x83, 0xC6, 0x34, + 0x56, 0xFF, 0x15, 0xD8, 0x12, 0x01, 0x00, 0x5E, 0x5D, 0xC2, 0x14, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0x6A, 0x18, 0x68, 0x60, 0x17, 0x01, 0x00, 0xE8, 0x36, 0xC8, 0xFF, 0xFF, 0x80, 0x7D, + 0x1C, 0x00, 0x74, 0x4C, 0x83, 0x65, 0xFC, 0x00, 0x6A, 0x04, 0xFF, 0x75, 0x14, 0x8B, 0x5D, 0x10, + 0x53, 0x8B, 0x35, 0x2C, 0x12, 0x01, 0x00, 0xFF, 0xD6, 0x83, 0x7D, 0x18, 0x00, 0x74, 0x09, 0x6A, + 0x04, 0x6A, 0x04, 0xFF, 0x75, 0x18, 0xFF, 0xD6, 0x6A, 0xFE, 0x5F, 0x89, 0x7D, 0xFC, 0xEB, 0x26, + 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xE0, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, + 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x45, 0xE0, 0xE9, 0x4C, 0x01, 0x00, 0x00, + 0x6A, 0xFE, 0x5F, 0x8B, 0x5D, 0x10, 0x6A, 0x00, 0x8D, 0x45, 0xE4, 0x50, 0xFF, 0x75, 0x1C, 0xA1, + 0xCC, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x6A, 0x00, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x50, 0x12, 0x01, + 0x00, 0x89, 0x45, 0x10, 0x85, 0xC0, 0x0F, 0x8C, 0x20, 0x01, 0x00, 0x00, 0x8B, 0x45, 0x0C, 0x48, + 0x0F, 0x84, 0x9A, 0x00, 0x00, 0x00, 0x6A, 0x02, 0x5E, 0x2B, 0xC6, 0x74, 0x0E, 0xC7, 0x45, 0x10, + 0x03, 0x00, 0x00, 0xC0, 0x33, 0xF6, 0xE9, 0xC8, 0x00, 0x00, 0x00, 0x8D, 0x45, 0x08, 0x50, 0x6A, + 0x00, 0xA1, 0xCC, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x6A, 0x40, 0x6A, 0x00, 0x68, 0x00, 0x02, 0x00, + 0x00, 0xFF, 0x75, 0xE4, 0xFF, 0x15, 0x6C, 0x12, 0x01, 0x00, 0x89, 0x45, 0x10, 0x85, 0xC0, 0x0F, + 0x8C, 0x9B, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x6A, 0x04, 0x8D, 0x45, 0x0C, 0x50, 0x6A, 0x16, 0xFF, + 0x75, 0x08, 0xFF, 0x15, 0x88, 0x12, 0x01, 0x00, 0x89, 0x45, 0x10, 0x85, 0xC0, 0x7C, 0x36, 0x83, + 0x7D, 0x14, 0x04, 0x75, 0x29, 0x89, 0x75, 0xFC, 0x8B, 0x45, 0x0C, 0x89, 0x03, 0xEB, 0x1A, 0x8B, + 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xDC, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, + 0x8B, 0x45, 0xDC, 0x89, 0x45, 0x10, 0x6A, 0xFE, 0x5F, 0x89, 0x7D, 0xFC, 0xEB, 0x07, 0xC7, 0x45, + 0x10, 0x04, 0x00, 0x00, 0xC0, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x14, 0x12, 0x01, 0x00, 0xEB, 0x40, + 0xFF, 0x75, 0xE4, 0xFF, 0x15, 0xE8, 0x12, 0x01, 0x00, 0x83, 0x7D, 0x14, 0x04, 0x75, 0x2A, 0xC7, + 0x45, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x89, 0x03, 0xEB, 0x1A, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, + 0x00, 0x89, 0x45, 0xD8, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x45, 0xD8, 0x89, 0x45, + 0x10, 0x6A, 0xFE, 0x5F, 0x89, 0x7D, 0xFC, 0xEB, 0x07, 0xC7, 0x45, 0x10, 0x04, 0x00, 0x00, 0xC0, + 0x6A, 0x04, 0x5E, 0x8B, 0x4D, 0xE4, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x8B, 0x45, 0x18, 0x85, + 0xC0, 0x74, 0x26, 0x80, 0x7D, 0x1C, 0x00, 0x74, 0x1E, 0xC7, 0x45, 0xFC, 0x03, 0x00, 0x00, 0x00, + 0x89, 0x30, 0x89, 0x7D, 0xFC, 0xEB, 0x12, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0xC7, 0x45, + 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x02, 0x89, 0x30, 0x8B, 0x45, 0x10, 0xE8, 0xD8, 0xC6, 0xFF, + 0xFF, 0xC2, 0x18, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x18, 0x68, 0xA0, 0x17, 0x01, + 0x00, 0xE8, 0x7E, 0xC6, 0xFF, 0xFF, 0x33, 0xDB, 0x38, 0x5D, 0x18, 0x74, 0x3B, 0x89, 0x5D, 0xFC, + 0x6A, 0x04, 0xFF, 0x75, 0x14, 0x8B, 0x7D, 0x10, 0x57, 0xFF, 0x15, 0x38, 0x12, 0x01, 0x00, 0xC7, + 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x23, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, + 0x45, 0xE0, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, + 0x8B, 0x45, 0xE0, 0xE9, 0x80, 0x01, 0x00, 0x00, 0x8B, 0x7D, 0x10, 0x53, 0x8D, 0x45, 0x10, 0x50, + 0xFF, 0x75, 0x18, 0xA1, 0xCC, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x53, 0xFF, 0x75, 0x08, 0xFF, 0x15, + 0x50, 0x12, 0x01, 0x00, 0x8B, 0xF0, 0x3B, 0xF3, 0x0F, 0x8C, 0x58, 0x01, 0x00, 0x00, 0x8B, 0x45, + 0x0C, 0x6A, 0x02, 0x59, 0x2B, 0xC1, 0x0F, 0x84, 0x98, 0x00, 0x00, 0x00, 0x48, 0x74, 0x0A, 0xBE, + 0x03, 0x00, 0x00, 0xC0, 0xE9, 0x34, 0x01, 0x00, 0x00, 0x83, 0x7D, 0x14, 0x04, 0x75, 0x30, 0x89, + 0x4D, 0xFC, 0x8B, 0x07, 0x89, 0x45, 0x18, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x24, + 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xDC, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, + 0xE8, 0x8B, 0x75, 0xDC, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x33, 0xDB, 0xEB, 0x05, 0xBE, + 0x04, 0x00, 0x00, 0xC0, 0x3B, 0xF3, 0x0F, 0x8C, 0xF1, 0x00, 0x00, 0x00, 0x8D, 0x45, 0x14, 0x50, + 0x53, 0xA1, 0xCC, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x6A, 0x20, 0x53, 0x68, 0x00, 0x02, 0x00, 0x00, + 0xFF, 0x75, 0x10, 0xFF, 0x15, 0x6C, 0x12, 0x01, 0x00, 0x8B, 0xF0, 0x3B, 0xF3, 0x0F, 0x8C, 0xCA, + 0x00, 0x00, 0x00, 0x6A, 0x04, 0x8D, 0x45, 0x18, 0x50, 0x6A, 0x16, 0xFF, 0x75, 0x14, 0xFF, 0x15, + 0xF0, 0x12, 0x01, 0x00, 0x8B, 0xF0, 0xFF, 0x75, 0x14, 0xFF, 0x15, 0x14, 0x12, 0x01, 0x00, 0xE9, + 0xA9, 0x00, 0x00, 0x00, 0x89, 0x5D, 0xE4, 0x83, 0x7D, 0x14, 0x04, 0x75, 0x34, 0xC7, 0x45, 0xFC, + 0x01, 0x00, 0x00, 0x00, 0x8B, 0x07, 0x89, 0x45, 0xE4, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, + 0xEB, 0x24, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xD8, 0x33, 0xC0, 0x40, 0xC3, + 0x8B, 0x65, 0xE8, 0x8B, 0x75, 0xD8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x33, 0xDB, 0xEB, + 0x05, 0xBE, 0x04, 0x00, 0x00, 0xC0, 0x3B, 0xF3, 0x7C, 0x63, 0x53, 0x8D, 0x45, 0x08, 0x50, 0xFF, + 0x75, 0x18, 0xA1, 0xA8, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x6A, 0x04, 0xFF, 0x75, 0xE4, 0xFF, 0x15, + 0x50, 0x12, 0x01, 0x00, 0x8B, 0xF0, 0x3B, 0xF3, 0x7C, 0x43, 0x8D, 0x45, 0x14, 0x50, 0x53, 0xA1, + 0xA8, 0x12, 0x01, 0x00, 0xFF, 0x30, 0x6A, 0x04, 0x53, 0x68, 0x00, 0x02, 0x00, 0x00, 0xFF, 0x75, + 0x08, 0xFF, 0x15, 0x6C, 0x12, 0x01, 0x00, 0x8B, 0xF0, 0x3B, 0xF3, 0x7C, 0x17, 0xFF, 0x75, 0x14, + 0xFF, 0x75, 0x10, 0xFF, 0x15, 0xEC, 0x12, 0x01, 0x00, 0x8B, 0xF0, 0xFF, 0x75, 0x14, 0xFF, 0x15, + 0x14, 0x12, 0x01, 0x00, 0x8B, 0x4D, 0x08, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x8B, 0x4D, 0x10, + 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x8B, 0xC6, 0xE8, 0xFC, 0xC4, 0xFF, 0xFF, 0xC2, 0x14, 0x00, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x44, 0x56, 0x33, + 0xF6, 0x56, 0x8D, 0x45, 0x10, 0x50, 0xFF, 0x75, 0x10, 0xA1, 0xCC, 0x12, 0x01, 0x00, 0xFF, 0x30, + 0x56, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x50, 0x12, 0x01, 0x00, 0x3B, 0xC6, 0x7C, 0x6F, 0xFF, 0x15, + 0xC8, 0x12, 0x01, 0x00, 0x39, 0x45, 0x10, 0x74, 0x54, 0x8B, 0x45, 0x0C, 0x56, 0x89, 0x45, 0xFC, + 0x56, 0x8D, 0x45, 0xEC, 0x50, 0xFF, 0x15, 0x00, 0x13, 0x01, 0x00, 0x56, 0x56, 0x56, 0x56, 0x68, + 0x06, 0x45, 0x01, 0x00, 0x56, 0xFF, 0x75, 0x10, 0x8D, 0x45, 0xBC, 0x50, 0xFF, 0x15, 0xFC, 0x12, + 0x01, 0x00, 0x6A, 0x02, 0x56, 0x8D, 0x45, 0xBC, 0x50, 0x50, 0xFF, 0x15, 0xF8, 0x12, 0x01, 0x00, + 0x84, 0xC0, 0x74, 0x12, 0x56, 0x56, 0x56, 0x56, 0x8D, 0x45, 0xEC, 0x50, 0xFF, 0x15, 0xF4, 0x12, + 0x01, 0x00, 0x8B, 0xF0, 0xEB, 0x0C, 0xBE, 0x01, 0x00, 0x00, 0xC0, 0xEB, 0x05, 0xBE, 0xDB, 0x00, + 0x00, 0xC0, 0x8B, 0x4D, 0x10, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x8B, 0xC6, 0x5E, 0xC9, 0xC2, + 0x0C, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x74, 0x68, 0xD8, 0x17, 0x01, 0x00, 0xE8, + 0x00, 0xC4, 0xFF, 0xFF, 0x33, 0xDB, 0x89, 0x5D, 0xE4, 0x8B, 0x75, 0x10, 0x83, 0xFE, 0x40, 0x76, + 0x0A, 0xB8, 0xF1, 0x00, 0x00, 0xC0, 0xE9, 0x37, 0x02, 0x00, 0x00, 0x8B, 0xC6, 0xC1, 0xE0, 0x02, + 0x38, 0x5D, 0x20, 0x74, 0x5A, 0x89, 0x5D, 0xFC, 0x6A, 0x04, 0x5F, 0x57, 0x50, 0xFF, 0x75, 0x14, + 0x8B, 0x35, 0x2C, 0x12, 0x01, 0x00, 0xFF, 0xD6, 0x39, 0x5D, 0x18, 0x74, 0x07, 0x57, 0x57, 0xFF, + 0x75, 0x18, 0xFF, 0xD6, 0x8B, 0x4D, 0x1C, 0x3B, 0xCB, 0x74, 0x08, 0x57, 0x57, 0x51, 0xFF, 0xD6, + 0x8B, 0x4D, 0x1C, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x75, 0x10, 0xEB, 0x23, 0x8B, + 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xE0, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, + 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x45, 0xE0, 0xE9, 0xD3, 0x01, 0x00, 0x00, 0x8B, + 0x4D, 0x1C, 0x8B, 0xC6, 0xC1, 0xE0, 0x02, 0x3B, 0xC3, 0x75, 0x58, 0x38, 0x5D, 0x20, 0x74, 0x3B, + 0xC7, 0x45, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x8B, 0x45, 0x18, 0x3B, 0xC3, 0x74, 0x02, 0x89, 0x18, + 0x3B, 0xCB, 0x74, 0x1B, 0x89, 0x19, 0xEB, 0x17, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, + 0x45, 0xDC, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x45, 0xDC, 0x89, 0x45, 0xE4, 0xC7, + 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xE9, 0x84, 0x01, 0x00, 0x00, 0x8B, 0x45, 0x18, 0x3B, 0xC3, + 0x74, 0x02, 0x89, 0x18, 0x3B, 0xCB, 0x0F, 0x84, 0x73, 0x01, 0x00, 0x00, 0x89, 0x19, 0xE9, 0x6C, + 0x01, 0x00, 0x00, 0x68, 0x4B, 0x70, 0x68, 0x62, 0x50, 0x53, 0xFF, 0x15, 0x20, 0x12, 0x01, 0x00, + 0x8B, 0xF8, 0x89, 0x7D, 0xD4, 0x3B, 0xFB, 0x75, 0x0A, 0xB8, 0x9A, 0x00, 0x00, 0xC0, 0xE9, 0x4F, + 0x01, 0x00, 0x00, 0x8B, 0x45, 0x0C, 0x89, 0x45, 0xC0, 0x89, 0x75, 0xC4, 0x89, 0x7D, 0xC8, 0xFF, + 0x15, 0xC8, 0x12, 0x01, 0x00, 0x39, 0x45, 0x08, 0x75, 0x39, 0x8D, 0x85, 0x7C, 0xFF, 0xFF, 0xFF, + 0x89, 0x45, 0x08, 0xC6, 0x85, 0x7C, 0xFF, 0xFF, 0xFF, 0x01, 0xB1, 0x01, 0xFF, 0x15, 0x04, 0x12, + 0x01, 0x00, 0x88, 0x45, 0x13, 0x8D, 0x45, 0x20, 0x50, 0x8D, 0x45, 0x08, 0x50, 0x53, 0x53, 0x8D, + 0x45, 0x80, 0x50, 0xE8, 0x3A, 0xFA, 0xFF, 0xFF, 0x8A, 0x4D, 0x13, 0xFF, 0x15, 0x00, 0x12, 0x01, + 0x00, 0xEB, 0x5B, 0x88, 0x9D, 0x7C, 0xFF, 0xFF, 0xFF, 0x53, 0x53, 0x8D, 0x45, 0xB0, 0x50, 0xFF, + 0x15, 0x00, 0x13, 0x01, 0x00, 0x53, 0x53, 0x53, 0x53, 0x68, 0xD2, 0x45, 0x01, 0x00, 0x53, 0xFF, + 0x75, 0x08, 0x8D, 0x45, 0x80, 0x50, 0xFF, 0x15, 0xFC, 0x12, 0x01, 0x00, 0x6A, 0x02, 0x53, 0x8D, + 0x85, 0x7C, 0xFF, 0xFF, 0xFF, 0x50, 0x8D, 0x45, 0x80, 0x50, 0xFF, 0x15, 0xF8, 0x12, 0x01, 0x00, + 0x84, 0xC0, 0x74, 0x13, 0x53, 0x53, 0x53, 0x53, 0x8D, 0x45, 0xB0, 0x50, 0xFF, 0x15, 0xF4, 0x12, + 0x01, 0x00, 0x89, 0x45, 0xE4, 0xEB, 0x07, 0xC7, 0x45, 0xE4, 0x01, 0x00, 0x00, 0xC0, 0x39, 0x5D, + 0xE4, 0x0F, 0x8C, 0x8C, 0x00, 0x00, 0x00, 0x38, 0x5D, 0x20, 0x74, 0x5D, 0xC7, 0x45, 0xFC, 0x02, + 0x00, 0x00, 0x00, 0x8B, 0x75, 0xCC, 0x8B, 0xC6, 0xC1, 0xE0, 0x02, 0x50, 0x57, 0xFF, 0x75, 0x14, + 0xE8, 0x17, 0xC2, 0xFF, 0xFF, 0x83, 0xC4, 0x0C, 0x8B, 0x45, 0x18, 0x3B, 0xC3, 0x74, 0x02, 0x89, + 0x30, 0x8B, 0x45, 0x1C, 0x3B, 0xC3, 0x74, 0x05, 0x8B, 0x4D, 0xD0, 0x89, 0x08, 0xC7, 0x45, 0xFC, + 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x4D, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xD8, + 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0x8B, 0x45, 0xD8, 0x89, 0x45, 0xE4, 0xC7, 0x45, 0xFC, + 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x7D, 0xD4, 0xEB, 0x2A, 0x8B, 0x75, 0xCC, 0x8B, 0xC6, 0xC1, 0xE0, + 0x02, 0x50, 0x57, 0xFF, 0x75, 0x14, 0xE8, 0xC1, 0xC1, 0xFF, 0xFF, 0x83, 0xC4, 0x0C, 0x8B, 0x45, + 0x18, 0x3B, 0xC3, 0x74, 0x02, 0x89, 0x30, 0x8B, 0x45, 0x1C, 0x3B, 0xC3, 0x74, 0x05, 0x8B, 0x4D, + 0xD0, 0x89, 0x08, 0x68, 0x4B, 0x70, 0x68, 0x62, 0x57, 0xFF, 0x15, 0x18, 0x12, 0x01, 0x00, 0x8B, + 0x45, 0xE4, 0xE8, 0xF2, 0xC1, 0xFF, 0xFF, 0xC2, 0x1C, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x6A, 0x00, 0x8D, 0x45, 0x08, 0x50, 0xFF, 0x75, 0x20, 0xA1, 0xCC, + 0x12, 0x01, 0x00, 0xFF, 0x30, 0x6A, 0x00, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x50, 0x12, 0x01, 0x00, + 0x85, 0xC0, 0x7C, 0x29, 0x56, 0xFF, 0x75, 0x20, 0xFF, 0x75, 0x1C, 0xFF, 0x75, 0x18, 0xFF, 0x75, + 0x14, 0xFF, 0x75, 0x10, 0xFF, 0x75, 0x0C, 0xFF, 0x75, 0x08, 0xE8, 0x59, 0xFD, 0xFF, 0xFF, 0x8B, + 0x4D, 0x08, 0x8B, 0xF0, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x8B, 0xC6, 0x5E, 0x5D, 0xC2, 0x1C, + 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x68, 0xBC, 0x02, 0x00, 0x00, 0x68, 0x10, 0x18, 0x01, 0x00, + 0xE8, 0x07, 0xC3, 0xFF, 0xFF, 0x8B, 0x45, 0x08, 0x89, 0x85, 0xAC, 0xFD, 0xFF, 0xFF, 0x8B, 0x4D, + 0x0C, 0x89, 0x8D, 0xA8, 0xFD, 0xFF, 0xFF, 0x8B, 0x45, 0x10, 0x89, 0x85, 0xB0, 0xFD, 0xFF, 0xFF, + 0x8B, 0x45, 0x14, 0x89, 0x85, 0xB8, 0xFD, 0xFF, 0xFF, 0x8B, 0x55, 0x20, 0x89, 0x95, 0xC0, 0xFD, + 0xFF, 0xFF, 0x8D, 0xB5, 0x34, 0xFD, 0xFF, 0xFF, 0x89, 0xB5, 0xBC, 0xFD, 0xFF, 0xFF, 0x33, 0xDB, + 0x88, 0x9D, 0xE3, 0xFD, 0xFF, 0xFF, 0x88, 0x9D, 0xE1, 0xFD, 0xFF, 0xFF, 0x89, 0x8D, 0xD0, 0xFD, + 0xFF, 0xFF, 0x89, 0x85, 0xC4, 0xFD, 0xFF, 0xFF, 0x8D, 0x8D, 0xE4, 0xFD, 0xFF, 0xFF, 0x89, 0x8D, + 0xD8, 0xFD, 0xFF, 0xFF, 0xB8, 0x00, 0xC0, 0x00, 0x00, 0x8B, 0x55, 0x18, 0x3B, 0xD0, 0x73, 0x02, + 0x8B, 0xC2, 0x89, 0x95, 0xCC, 0xFD, 0xFF, 0xFF, 0x8B, 0xF8, 0x39, 0x9D, 0xCC, 0xFD, 0xFF, 0xFF, + 0x0F, 0x84, 0x19, 0x03, 0x00, 0x00, 0x3B, 0xBD, 0xCC, 0xFD, 0xFF, 0xFF, 0x76, 0x06, 0x8B, 0xBD, + 0xCC, 0xFD, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x76, 0x09, 0xC6, 0x85, 0xE2, 0xFD, + 0xFF, 0xFF, 0x01, 0xEB, 0x34, 0x88, 0x9D, 0xE2, 0xFD, 0xFF, 0xFF, 0x8D, 0x85, 0xE4, 0xFD, 0xFF, + 0xFF, 0x81, 0xFF, 0x00, 0x02, 0x00, 0x00, 0x0F, 0x87, 0x02, 0x01, 0x00, 0x00, 0x3B, 0xC8, 0x74, + 0x0C, 0x68, 0x4B, 0x70, 0x68, 0x43, 0x51, 0xFF, 0x15, 0x18, 0x12, 0x01, 0x00, 0x8D, 0x85, 0xE4, + 0xFD, 0xFF, 0xFF, 0x89, 0x85, 0xD8, 0xFD, 0xFF, 0xFF, 0x89, 0x9D, 0xC8, 0xFD, 0xFF, 0xFF, 0x88, + 0x9D, 0xE0, 0xFD, 0xFF, 0xFF, 0x88, 0x9D, 0xDF, 0xFD, 0xFF, 0xFF, 0x8D, 0x85, 0x8C, 0xFD, 0xFF, + 0xFF, 0x50, 0xFF, 0xB5, 0xAC, 0xFD, 0xFF, 0xFF, 0xFF, 0x15, 0x64, 0x12, 0x01, 0x00, 0x89, 0x5D, + 0xFC, 0x8B, 0x85, 0xD0, 0xFD, 0xFF, 0xFF, 0x3B, 0x85, 0xA8, 0xFD, 0xFF, 0xFF, 0x75, 0x24, 0x38, + 0x5D, 0x1C, 0x74, 0x1F, 0xC6, 0x85, 0xE3, 0xFD, 0xFF, 0xFF, 0x01, 0x6A, 0x01, 0xFF, 0x75, 0x18, + 0x50, 0xFF, 0x15, 0x38, 0x12, 0x01, 0x00, 0x88, 0x9D, 0xE3, 0xFD, 0xFF, 0xFF, 0x8B, 0x85, 0xD0, + 0xFD, 0xFF, 0xFF, 0x38, 0x9D, 0xE2, 0xFD, 0xFF, 0xFF, 0x0F, 0x84, 0xB4, 0x00, 0x00, 0x00, 0x89, + 0x1E, 0xB9, 0xFF, 0x0F, 0x00, 0x00, 0x23, 0xC1, 0x8B, 0xD7, 0x23, 0xD1, 0x8D, 0x8C, 0x02, 0xFF, + 0x0F, 0x00, 0x00, 0xC1, 0xE9, 0x0C, 0x8B, 0xD7, 0xC1, 0xEA, 0x0C, 0x03, 0xCA, 0x8D, 0x0C, 0x8D, + 0x1C, 0x00, 0x00, 0x00, 0x66, 0x89, 0x4E, 0x04, 0x33, 0xC9, 0x66, 0x89, 0x4E, 0x06, 0x8B, 0x8D, + 0xD0, 0xFD, 0xFF, 0xFF, 0x81, 0xE1, 0x00, 0xF0, 0xFF, 0xFF, 0x89, 0x4E, 0x10, 0x89, 0x46, 0x18, + 0x89, 0x7E, 0x14, 0x53, 0xFF, 0x75, 0x1C, 0x56, 0xFF, 0x15, 0x14, 0x13, 0x01, 0x00, 0xC6, 0x85, + 0xE0, 0xFD, 0xFF, 0xFF, 0x01, 0x6A, 0x20, 0x53, 0x53, 0x6A, 0x01, 0x53, 0x56, 0xFF, 0x15, 0x10, + 0x13, 0x01, 0x00, 0x89, 0x85, 0xC8, 0xFD, 0xFF, 0xFF, 0x3B, 0xC3, 0x75, 0x56, 0xC6, 0x85, 0xE1, + 0xFD, 0xFF, 0xFF, 0x01, 0x68, 0x9A, 0x00, 0x00, 0xC0, 0xFF, 0x15, 0x0C, 0x13, 0x01, 0x00, 0x3B, + 0xC8, 0x0F, 0x85, 0x12, 0xFF, 0xFF, 0xFF, 0xEB, 0x0E, 0xD1, 0xEF, 0x81, 0xFF, 0x00, 0x02, 0x00, + 0x00, 0x0F, 0x86, 0xF6, 0xFE, 0xFF, 0xFF, 0x68, 0x4B, 0x70, 0x68, 0x43, 0x57, 0x53, 0xFF, 0x15, + 0x20, 0x12, 0x01, 0x00, 0x3B, 0xC3, 0x89, 0x85, 0xD8, 0xFD, 0xFF, 0xFF, 0x74, 0xDB, 0xE9, 0xE6, + 0xFE, 0xFF, 0xFF, 0x57, 0x50, 0xFF, 0xB5, 0xD8, 0xFD, 0xFF, 0xFF, 0xE8, 0x2C, 0xBF, 0xFF, 0xFF, + 0x83, 0xC4, 0x0C, 0x8D, 0x85, 0x8C, 0xFD, 0xFF, 0xFF, 0x50, 0xFF, 0x15, 0x5C, 0x12, 0x01, 0x00, + 0x8D, 0x85, 0x8C, 0xFD, 0xFF, 0xFF, 0x50, 0xFF, 0xB5, 0xB0, 0xFD, 0xFF, 0xFF, 0xFF, 0x15, 0x64, + 0x12, 0x01, 0x00, 0x8B, 0x85, 0xC4, 0xFD, 0xFF, 0xFF, 0x3B, 0x85, 0xB8, 0xFD, 0xFF, 0xFF, 0x75, + 0x24, 0x38, 0x5D, 0x1C, 0x74, 0x1F, 0xC6, 0x85, 0xE3, 0xFD, 0xFF, 0xFF, 0x01, 0x6A, 0x01, 0xFF, + 0x75, 0x18, 0x50, 0xFF, 0x15, 0x2C, 0x12, 0x01, 0x00, 0x88, 0x9D, 0xE3, 0xFD, 0xFF, 0xFF, 0x8B, + 0x85, 0xC4, 0xFD, 0xFF, 0xFF, 0xC6, 0x85, 0xDF, 0xFD, 0xFF, 0xFF, 0x01, 0x57, 0x38, 0x9D, 0xE2, + 0xFD, 0xFF, 0xFF, 0x74, 0x08, 0xFF, 0xB5, 0xC8, 0xFD, 0xFF, 0xFF, 0xEB, 0x06, 0xFF, 0xB5, 0xD8, + 0xFD, 0xFF, 0xFF, 0x50, 0xE8, 0xB3, 0xBE, 0xFF, 0xFF, 0x83, 0xC4, 0x0C, 0xC7, 0x45, 0xFC, 0xFE, + 0xFF, 0xFF, 0xFF, 0x8D, 0x85, 0x8C, 0xFD, 0xFF, 0xFF, 0x50, 0xFF, 0x15, 0x5C, 0x12, 0x01, 0x00, + 0x38, 0x9D, 0xE2, 0xFD, 0xFF, 0xFF, 0x74, 0x14, 0x56, 0xFF, 0xB5, 0xC8, 0xFD, 0xFF, 0xFF, 0xFF, + 0x15, 0x08, 0x13, 0x01, 0x00, 0x56, 0xFF, 0x15, 0x04, 0x13, 0x01, 0x00, 0x29, 0xBD, 0xCC, 0xFD, + 0xFF, 0xFF, 0x01, 0xBD, 0xD0, 0xFD, 0xFF, 0xFF, 0x01, 0xBD, 0xC4, 0xFD, 0xFF, 0xFF, 0x8B, 0x8D, + 0xD8, 0xFD, 0xFF, 0xFF, 0xE9, 0xB1, 0xFD, 0xFF, 0xFF, 0x8B, 0x45, 0xEC, 0x8B, 0x08, 0x8B, 0x09, + 0x89, 0x8D, 0xB4, 0xFD, 0xFF, 0xFF, 0x8D, 0x8D, 0xA4, 0xFD, 0xFF, 0xFF, 0x51, 0x8D, 0x8D, 0xD7, + 0xFD, 0xFF, 0xFF, 0x51, 0x50, 0xE8, 0xBA, 0xBD, 0xFF, 0xFF, 0xC3, 0x8B, 0x65, 0xE8, 0x8D, 0x85, + 0x8C, 0xFD, 0xFF, 0xFF, 0x50, 0xFF, 0x15, 0x5C, 0x12, 0x01, 0x00, 0x33, 0xDB, 0x39, 0x9D, 0xC8, + 0xFD, 0xFF, 0xFF, 0x74, 0x12, 0xFF, 0xB5, 0xBC, 0xFD, 0xFF, 0xFF, 0xFF, 0xB5, 0xC8, 0xFD, 0xFF, + 0xFF, 0xFF, 0x15, 0x08, 0x13, 0x01, 0x00, 0x38, 0x9D, 0xE0, 0xFD, 0xFF, 0xFF, 0x74, 0x0C, 0xFF, + 0xB5, 0xBC, 0xFD, 0xFF, 0xFF, 0xFF, 0x15, 0x04, 0x13, 0x01, 0x00, 0x8D, 0x85, 0xE4, 0xFD, 0xFF, + 0xFF, 0x39, 0x85, 0xD8, 0xFD, 0xFF, 0xFF, 0x74, 0x11, 0x68, 0x4B, 0x70, 0x68, 0x43, 0xFF, 0xB5, + 0xD8, 0xFD, 0xFF, 0xFF, 0xFF, 0x15, 0x18, 0x12, 0x01, 0x00, 0x38, 0x9D, 0xE3, 0xFD, 0xFF, 0xFF, + 0x75, 0x3E, 0x38, 0x9D, 0xE1, 0xFD, 0xFF, 0xFF, 0x75, 0x36, 0x38, 0x9D, 0xDF, 0xFD, 0xFF, 0xFF, + 0x74, 0x16, 0x38, 0x9D, 0xD7, 0xFD, 0xFF, 0xFF, 0x74, 0x0E, 0x8B, 0x85, 0xA4, 0xFD, 0xFF, 0xFF, + 0x2B, 0x85, 0xD0, 0xFD, 0xFF, 0xFF, 0xEB, 0x09, 0x8B, 0x45, 0x18, 0x2B, 0x85, 0xCC, 0xFD, 0xFF, + 0xFF, 0x8B, 0x8D, 0xC0, 0xFD, 0xFF, 0xFF, 0x89, 0x01, 0xB8, 0x0D, 0x00, 0x00, 0x80, 0xEB, 0x06, + 0x8B, 0x85, 0xB4, 0xFD, 0xFF, 0xFF, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x23, 0x8D, + 0x85, 0xE4, 0xFD, 0xFF, 0xFF, 0x3B, 0xC8, 0x74, 0x0C, 0x68, 0x4B, 0x70, 0x68, 0x43, 0x51, 0xFF, + 0x15, 0x18, 0x12, 0x01, 0x00, 0x8B, 0x45, 0x18, 0x8B, 0x8D, 0xC0, 0xFD, 0xFF, 0xFF, 0x89, 0x01, + 0x33, 0xC0, 0xE8, 0x8D, 0xBF, 0xFF, 0xFF, 0xC2, 0x1C, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x6A, 0x0C, 0x68, 0x30, 0x18, 0x01, 0x00, 0xE8, 0x68, 0xBD, 0xFF, 0xFF, 0x8B, 0x5D, 0x1C, 0x8B, + 0x75, 0x14, 0x84, 0xDB, 0x74, 0x6A, 0x8B, 0x45, 0x0C, 0x8D, 0x0C, 0x30, 0x3B, 0xC8, 0x72, 0x59, + 0x8B, 0x55, 0x10, 0x8D, 0x04, 0x32, 0x3B, 0xC2, 0x72, 0x4F, 0x8B, 0x15, 0x18, 0x13, 0x01, 0x00, + 0x8B, 0x12, 0x3B, 0xCA, 0x77, 0x43, 0x3B, 0xC2, 0x77, 0x3F, 0x8B, 0x7D, 0x18, 0x85, 0xFF, 0x74, + 0x42, 0x83, 0x65, 0xFC, 0x00, 0x6A, 0x04, 0x6A, 0x04, 0x57, 0xFF, 0x15, 0x2C, 0x12, 0x01, 0x00, + 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x2A, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, + 0x89, 0x45, 0xE4, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, + 0xFF, 0x8B, 0x45, 0xE4, 0xE9, 0x86, 0x00, 0x00, 0x00, 0xB8, 0x05, 0x00, 0x00, 0xC0, 0xEB, 0x7F, + 0x8B, 0x7D, 0x18, 0x33, 0xC0, 0x3B, 0xF0, 0x74, 0x5C, 0x50, 0x8D, 0x4D, 0x14, 0x51, 0x53, 0x8B, + 0x0D, 0x54, 0x12, 0x01, 0x00, 0xFF, 0x31, 0x50, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x50, 0x12, 0x01, + 0x00, 0x89, 0x45, 0x18, 0x85, 0xC0, 0x7C, 0x27, 0x8D, 0x45, 0x10, 0x50, 0x53, 0x56, 0xFF, 0x75, + 0x10, 0xFF, 0x15, 0x74, 0x12, 0x01, 0x00, 0x50, 0xFF, 0x75, 0x0C, 0xFF, 0x75, 0x14, 0xE8, 0x63, + 0xFB, 0xFF, 0xFF, 0x89, 0x45, 0x18, 0x8B, 0x4D, 0x14, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x8B, + 0x45, 0x10, 0x85, 0xFF, 0x74, 0x26, 0x84, 0xDB, 0x74, 0x20, 0xC7, 0x45, 0xFC, 0x01, 0x00, 0x00, + 0x00, 0x89, 0x07, 0xEB, 0x0C, 0x89, 0x45, 0x18, 0xEB, 0xE8, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, + 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x02, 0x89, 0x07, 0x8B, 0x45, 0x18, 0xE8, + 0xB5, 0xBC, 0xFF, 0xFF, 0xC2, 0x18, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x0C, 0x68, 0x58, + 0x18, 0x01, 0x00, 0xE8, 0x5C, 0xBC, 0xFF, 0xFF, 0x8B, 0x5D, 0x1C, 0x8B, 0x75, 0x14, 0x84, 0xDB, + 0x74, 0x6A, 0x8B, 0x45, 0x0C, 0x8D, 0x0C, 0x30, 0x3B, 0xC8, 0x72, 0x59, 0x8B, 0x55, 0x10, 0x8D, + 0x04, 0x32, 0x3B, 0xC2, 0x72, 0x4F, 0x8B, 0x15, 0x18, 0x13, 0x01, 0x00, 0x8B, 0x12, 0x3B, 0xCA, + 0x77, 0x43, 0x3B, 0xC2, 0x77, 0x3F, 0x8B, 0x7D, 0x18, 0x85, 0xFF, 0x74, 0x42, 0x83, 0x65, 0xFC, + 0x00, 0x6A, 0x04, 0x6A, 0x04, 0x57, 0xFF, 0x15, 0x2C, 0x12, 0x01, 0x00, 0xC7, 0x45, 0xFC, 0xFE, + 0xFF, 0xFF, 0xFF, 0xEB, 0x2A, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xE4, 0x33, + 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x8B, 0x45, 0xE4, + 0xE9, 0x86, 0x00, 0x00, 0x00, 0xB8, 0x05, 0x00, 0x00, 0xC0, 0xEB, 0x7F, 0x8B, 0x7D, 0x18, 0x33, + 0xC0, 0x3B, 0xF0, 0x74, 0x5C, 0x50, 0x8D, 0x4D, 0x14, 0x51, 0x53, 0x8B, 0x0D, 0x54, 0x12, 0x01, + 0x00, 0xFF, 0x31, 0x50, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x50, 0x12, 0x01, 0x00, 0x89, 0x45, 0x18, + 0x85, 0xC0, 0x7C, 0x27, 0x8D, 0x45, 0x0C, 0x50, 0x53, 0x56, 0xFF, 0x75, 0x0C, 0xFF, 0x75, 0x14, + 0xFF, 0x75, 0x10, 0xFF, 0x15, 0x74, 0x12, 0x01, 0x00, 0x50, 0xE8, 0x57, 0xFA, 0xFF, 0xFF, 0x89, + 0x45, 0x18, 0x8B, 0x4D, 0x14, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x8B, 0x45, 0x0C, 0x85, 0xFF, + 0x74, 0x26, 0x84, 0xDB, 0x74, 0x20, 0xC7, 0x45, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x89, 0x07, 0xEB, + 0x0C, 0x89, 0x45, 0x18, 0xEB, 0xE8, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, + 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x02, 0x89, 0x07, 0x8B, 0x45, 0x18, 0xE8, 0xA9, 0xBB, 0xFF, 0xFF, + 0xC2, 0x18, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x6A, 0x18, 0x68, 0x80, 0x18, 0x01, 0x00, 0xE8, + 0x50, 0xBB, 0xFF, 0xFF, 0x8B, 0x5D, 0x14, 0x80, 0x7D, 0x1C, 0x00, 0x74, 0x48, 0x8B, 0x45, 0x0C, + 0x8D, 0x0C, 0x18, 0x3B, 0xC8, 0x0F, 0x82, 0xA5, 0x00, 0x00, 0x00, 0x8B, 0x4D, 0x10, 0x8D, 0x04, + 0x19, 0x3B, 0xC1, 0x0F, 0x82, 0x97, 0x00, 0x00, 0x00, 0x8B, 0x0D, 0x18, 0x13, 0x01, 0x00, 0x3B, + 0x01, 0x0F, 0x87, 0x89, 0x00, 0x00, 0x00, 0x83, 0x7D, 0x18, 0x00, 0x74, 0x18, 0x83, 0x65, 0xFC, + 0x00, 0x6A, 0x04, 0x6A, 0x04, 0xFF, 0x75, 0x18, 0xFF, 0x15, 0x2C, 0x12, 0x01, 0x00, 0xC7, 0x45, + 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x33, 0xC0, 0x3B, 0xD8, 0x0F, 0x84, 0x08, 0x01, 0x00, 0x00, 0x8B, + 0x7D, 0x0C, 0x8D, 0x0C, 0x1F, 0x8B, 0x15, 0x18, 0x13, 0x01, 0x00, 0x3B, 0x0A, 0x0F, 0x86, 0x91, + 0x00, 0x00, 0x00, 0xB8, 0x00, 0xF0, 0xFF, 0xFF, 0x23, 0xF8, 0x8D, 0x71, 0xFF, 0x23, 0xF0, 0xC7, + 0x45, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x3B, 0xFE, 0x77, 0x4B, 0x57, 0xFF, 0x15, 0x1C, 0x13, 0x01, + 0x00, 0x84, 0xC0, 0x75, 0x35, 0x68, 0x05, 0x00, 0x00, 0xC0, 0xFF, 0x15, 0x0C, 0x13, 0x01, 0x00, + 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xE0, 0x33, 0xC0, 0x40, 0xC3, 0x8B, 0x45, + 0xE0, 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xE9, 0xC3, 0x00, 0x00, 0x00, + 0xB8, 0x05, 0x00, 0x00, 0xC0, 0xE9, 0xB9, 0x00, 0x00, 0x00, 0x81, 0xC7, 0x00, 0x10, 0x00, 0x00, + 0x89, 0x7D, 0xD8, 0xEB, 0xB1, 0x53, 0xFF, 0x75, 0x0C, 0xFF, 0x75, 0x10, 0xE8, 0x5B, 0xBA, 0xFF, + 0xFF, 0x83, 0xC4, 0x0C, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x83, 0x65, 0x14, 0x00, 0xEB, + 0x5E, 0x8B, 0x45, 0xEC, 0x8B, 0x00, 0x8B, 0x00, 0x89, 0x45, 0xDC, 0x33, 0xC0, 0x40, 0xC3, 0x8B, + 0x45, 0xDC, 0xEB, 0xAD, 0x50, 0x8D, 0x4D, 0xE4, 0x51, 0xFF, 0x75, 0x1C, 0x8B, 0x0D, 0x54, 0x12, + 0x01, 0x00, 0xFF, 0x31, 0x50, 0xFF, 0x75, 0x08, 0xFF, 0x15, 0x50, 0x12, 0x01, 0x00, 0x89, 0x45, + 0x14, 0x85, 0xC0, 0x7C, 0x27, 0x8D, 0x45, 0x0C, 0x50, 0xFF, 0x75, 0x1C, 0x53, 0xFF, 0x75, 0x10, + 0xFF, 0x15, 0x74, 0x12, 0x01, 0x00, 0x50, 0x57, 0xFF, 0x75, 0xE4, 0xE8, 0xC6, 0xF8, 0xFF, 0xFF, + 0x89, 0x45, 0x14, 0x8B, 0x4D, 0xE4, 0xFF, 0x15, 0x4C, 0x12, 0x01, 0x00, 0x8B, 0x5D, 0x0C, 0x8B, + 0x45, 0x18, 0x85, 0xC0, 0x74, 0x2A, 0x80, 0x7D, 0x1C, 0x00, 0x74, 0x22, 0xC7, 0x45, 0xFC, 0x02, + 0x00, 0x00, 0x00, 0x89, 0x18, 0xEB, 0x0E, 0x33, 0xDB, 0x89, 0x45, 0x14, 0xEB, 0xE1, 0x33, 0xC0, + 0x40, 0xC3, 0x8B, 0x65, 0xE8, 0xC7, 0x45, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xEB, 0x02, 0x89, 0x18, + 0x8B, 0x45, 0x14, 0xE8, 0x11, 0xBA, 0xFF, 0xFF, 0xC2, 0x18, 0x00, 0xCC, 0x44, 0x00, 0x69, 0x00, + 0x73, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x44, 0x00, 0x79, 0x00, 0x6E, 0x00, + 0x61, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x63, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x63, 0x00, + 0x65, 0x00, 0x64, 0x00, 0x75, 0x00, 0x72, 0x00, 0x65, 0x00, 0x53, 0x00, 0x63, 0x00, 0x61, 0x00, + 0x6E, 0x00, 0x00, 0x00, 0x53, 0x00, 0x65, 0x00, 0x63, 0x00, 0x75, 0x00, 0x72, 0x00, 0x69, 0x00, + 0x74, 0x00, 0x79, 0x00, 0x4C, 0x00, 0x65, 0x00, 0x76, 0x00, 0x65, 0x00, 0x6C, 0x00, 0x00, 0x00, + 0x5C, 0x00, 0x50, 0x00, 0x61, 0x00, 0x72, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x74, 0x00, + 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x44, 0x00, 0x65, 0x00, 0x76, 0x00, + 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x4B, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, + 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, 0x48, 0x00, 0x61, 0x00, 0x63, 0x00, 0x6B, 0x00, + 0x65, 0x00, 0x72, 0x00, 0x32, 0x00, 0x00, 0x00, 0x49, 0x00, 0x6F, 0x00, 0x53, 0x00, 0x65, 0x00, + 0x74, 0x00, 0x49, 0x00, 0x6F, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x70, 0x00, 0x6C, 0x00, + 0x65, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x52, 0x00, 0x74, 0x00, + 0x6C, 0x00, 0x4D, 0x00, 0x61, 0x00, 0x70, 0x00, 0x47, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x65, 0x00, + 0x72, 0x00, 0x69, 0x00, 0x63, 0x00, 0x4D, 0x00, 0x61, 0x00, 0x73, 0x00, 0x6B, 0x00, 0x00, 0x00, + 0x4C, 0x00, 0x73, 0x00, 0x61, 0x00, 0x46, 0x00, 0x72, 0x00, 0x65, 0x00, 0x65, 0x00, 0x52, 0x00, + 0x65, 0x00, 0x74, 0x00, 0x75, 0x00, 0x72, 0x00, 0x6E, 0x00, 0x42, 0x00, 0x75, 0x00, 0x66, 0x00, + 0x66, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x00, 0x52, 0x00, 0x74, 0x00, 0x6C, 0x00, 0x43, 0x00, + 0x72, 0x00, 0x65, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x48, 0x00, 0x65, 0x00, 0x61, 0x00, + 0x70, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x74, 0x00, 0x43, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x73, 0x00, + 0x65, 0x00, 0x00, 0x00, 0x44, 0x00, 0x79, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x69, 0x00, + 0x63, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x66, 0x00, 0x69, 0x00, 0x67, 0x00, 0x75, 0x00, + 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x50, 0x00, + 0x73, 0x00, 0x53, 0x00, 0x75, 0x00, 0x73, 0x00, 0x70, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x64, 0x00, + 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x73, 0x00, 0x52, 0x00, 0x65, 0x00, 0x73, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x65, 0x00, + 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x73, 0x00, 0x52, 0x00, 0x65, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x61, 0x00, 0x73, 0x00, + 0x65, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, + 0x45, 0x00, 0x78, 0x00, 0x69, 0x00, 0x74, 0x00, 0x53, 0x00, 0x79, 0x00, 0x6E, 0x00, 0x63, 0x00, + 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x7A, 0x00, 0x61, 0x00, 0x74, 0x00, + 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x50, 0x00, 0x73, 0x00, 0x49, 0x00, 0x73, 0x00, + 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x65, 0x00, 0x63, 0x00, 0x74, 0x00, 0x65, 0x00, + 0x64, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, + 0x00, 0x00, 0x50, 0x00, 0x73, 0x00, 0x41, 0x00, 0x63, 0x00, 0x71, 0x00, 0x75, 0x00, 0x69, 0x00, + 0x72, 0x00, 0x65, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, + 0x73, 0x00, 0x45, 0x00, 0x78, 0x00, 0x69, 0x00, 0x74, 0x00, 0x53, 0x00, 0x79, 0x00, 0x6E, 0x00, + 0x63, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x7A, 0x00, 0x61, 0x00, + 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x62, 0x00, 0x47, 0x00, + 0x65, 0x00, 0x74, 0x00, 0x4F, 0x00, 0x62, 0x00, 0x6A, 0x00, 0x65, 0x00, 0x63, 0x00, 0x74, 0x00, + 0x54, 0x00, 0x79, 0x00, 0x70, 0x00, 0x65, 0x00, 0x00, 0x00, 0x45, 0x00, 0x78, 0x00, 0x66, 0x00, + 0x55, 0x00, 0x6E, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x6B, 0x00, 0x50, 0x00, + 0x75, 0x00, 0x73, 0x00, 0x68, 0x00, 0x4C, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x6B, 0x00, 0x00, 0x00, + 0x45, 0x00, 0x74, 0x00, 0x77, 0x00, 0x52, 0x00, 0x65, 0x00, 0x67, 0x00, 0x69, 0x00, 0x73, 0x00, + 0x74, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x10, 0x1A, 0x01, 0x00, 0xB9, 0x4E, 0xE6, 0x40, 0xBB, 0x85, + 0xC0, 0x74, 0x04, 0x3B, 0xC1, 0x75, 0x1A, 0xA1, 0x20, 0x13, 0x01, 0x00, 0x8B, 0x00, 0x35, 0x10, + 0x1A, 0x01, 0x00, 0xA3, 0x10, 0x1A, 0x01, 0x00, 0x75, 0x07, 0x8B, 0xC1, 0xA3, 0x10, 0x1A, 0x01, + 0x00, 0xF7, 0xD0, 0xA3, 0x14, 0x1A, 0x01, 0x00, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0xFF, + 0x55, 0x8B, 0xEC, 0xE8, 0xBD, 0xFF, 0xFF, 0xFF, 0x5D, 0xE9, 0x3A, 0xC6, 0xFF, 0xFF, 0xCC, 0xCC, + 0x18, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x5F, 0x00, 0x00, + 0x0C, 0x12, 0x00, 0x00, 0x0C, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xAE, 0x5F, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5F, 0x00, 0x00, + 0xA0, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x59, 0x00, 0x00, 0x9C, 0x59, 0x00, 0x00, + 0xAE, 0x59, 0x00, 0x00, 0xB8, 0x59, 0x00, 0x00, 0xCC, 0x59, 0x00, 0x00, 0xD8, 0x59, 0x00, 0x00, + 0xF0, 0x59, 0x00, 0x00, 0x08, 0x5A, 0x00, 0x00, 0x12, 0x5A, 0x00, 0x00, 0x22, 0x5A, 0x00, 0x00, + 0x3E, 0x5A, 0x00, 0x00, 0x50, 0x5A, 0x00, 0x00, 0x60, 0x5A, 0x00, 0x00, 0x74, 0x5A, 0x00, 0x00, + 0x84, 0x5A, 0x00, 0x00, 0xA0, 0x5A, 0x00, 0x00, 0xB4, 0x5A, 0x00, 0x00, 0xCC, 0x5A, 0x00, 0x00, + 0xE8, 0x5A, 0x00, 0x00, 0xF8, 0x5A, 0x00, 0x00, 0x0C, 0x5B, 0x00, 0x00, 0x26, 0x5B, 0x00, 0x00, + 0x3E, 0x5B, 0x00, 0x00, 0x56, 0x5B, 0x00, 0x00, 0x70, 0x5B, 0x00, 0x00, 0x88, 0x5B, 0x00, 0x00, + 0x98, 0x5B, 0x00, 0x00, 0xAE, 0x5B, 0x00, 0x00, 0xC4, 0x5B, 0x00, 0x00, 0xD8, 0x5B, 0x00, 0x00, + 0xEE, 0x5B, 0x00, 0x00, 0x06, 0x5C, 0x00, 0x00, 0x22, 0x5C, 0x00, 0x00, 0x3E, 0x5C, 0x00, 0x00, + 0x5C, 0x5C, 0x00, 0x00, 0x70, 0x59, 0x00, 0x00, 0x76, 0x5C, 0x00, 0x00, 0x94, 0x5C, 0x00, 0x00, + 0xB2, 0x5C, 0x00, 0x00, 0xCE, 0x5C, 0x00, 0x00, 0xE2, 0x5C, 0x00, 0x00, 0xFC, 0x5C, 0x00, 0x00, + 0x08, 0x5D, 0x00, 0x00, 0x1A, 0x5D, 0x00, 0x00, 0x30, 0x5D, 0x00, 0x00, 0x4E, 0x5D, 0x00, 0x00, + 0x6C, 0x5D, 0x00, 0x00, 0x86, 0x5D, 0x00, 0x00, 0x9C, 0x5D, 0x00, 0x00, 0xAC, 0x5D, 0x00, 0x00, + 0xC8, 0x5D, 0x00, 0x00, 0xDC, 0x5D, 0x00, 0x00, 0xEA, 0x5D, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, + 0x16, 0x5E, 0x00, 0x00, 0x2A, 0x5E, 0x00, 0x00, 0x44, 0x5E, 0x00, 0x00, 0x62, 0x5E, 0x00, 0x00, + 0x7C, 0x5E, 0x00, 0x00, 0x94, 0x5E, 0x00, 0x00, 0xA8, 0x5E, 0x00, 0x00, 0xBA, 0x5E, 0x00, 0x00, + 0xCE, 0x5E, 0x00, 0x00, 0xDE, 0x5E, 0x00, 0x00, 0xF4, 0x5E, 0x00, 0x00, 0x04, 0x5F, 0x00, 0x00, + 0x24, 0x5F, 0x00, 0x00, 0x3A, 0x5F, 0x00, 0x00, 0x52, 0x5F, 0x00, 0x00, 0x66, 0x5F, 0x00, 0x00, + 0x74, 0x5F, 0x00, 0x00, 0x5A, 0x59, 0x00, 0x00, 0x6C, 0x5C, 0x00, 0x00, 0x48, 0x59, 0x00, 0x00, + 0xB6, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x01, 0x49, 0x6F, 0x44, 0x65, 0x6C, 0x65, + 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x00, 0x00, 0xE3, 0x01, 0x49, 0x6F, 0x66, 0x43, + 0x6F, 0x6D, 0x70, 0x6C, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x00, 0x00, + 0xD5, 0x04, 0x53, 0x65, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6C, 0x65, 0x67, 0x65, 0x43, 0x68, 0x65, + 0x63, 0x6B, 0x00, 0x00, 0x53, 0x03, 0x50, 0x73, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, + 0x6E, 0x74, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x00, 0x51, 0x05, 0x5A, 0x77, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x4B, 0x65, 0x79, 0x00, 0x0B, 0x05, + 0x5A, 0x77, 0x43, 0x6C, 0x6F, 0x73, 0x65, 0x00, 0x4E, 0x00, 0x45, 0x78, 0x46, 0x72, 0x65, 0x65, + 0x50, 0x6F, 0x6F, 0x6C, 0x57, 0x69, 0x74, 0x68, 0x54, 0x61, 0x67, 0x00, 0x31, 0x05, 0x5A, 0x77, + 0x4F, 0x70, 0x65, 0x6E, 0x4B, 0x65, 0x79, 0x00, 0x41, 0x00, 0x45, 0x78, 0x41, 0x6C, 0x6C, 0x6F, + 0x63, 0x61, 0x74, 0x65, 0x50, 0x6F, 0x6F, 0x6C, 0x57, 0x69, 0x74, 0x68, 0x54, 0x61, 0x67, 0x00, + 0x1D, 0x04, 0x52, 0x74, 0x6C, 0x49, 0x6E, 0x69, 0x74, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, + 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x00, 0xA7, 0x05, 0x6D, 0x65, 0x6D, 0x63, 0x70, 0x79, + 0x00, 0x00, 0x45, 0x03, 0x50, 0x72, 0x6F, 0x62, 0x65, 0x46, 0x6F, 0x72, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x00, 0x50, 0x05, 0x5A, 0x77, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, + 0x6D, 0x49, 0x6E, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x3E, 0x01, + 0x49, 0x6F, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x00, 0x00, + 0x44, 0x03, 0x50, 0x72, 0x6F, 0x62, 0x65, 0x46, 0x6F, 0x72, 0x52, 0x65, 0x61, 0x64, 0x00, 0x00, + 0xBA, 0x03, 0x52, 0x74, 0x6C, 0x43, 0x6F, 0x6D, 0x70, 0x61, 0x72, 0x65, 0x4D, 0x65, 0x6D, 0x6F, + 0x72, 0x79, 0x00, 0x00, 0x16, 0x04, 0x52, 0x74, 0x6C, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6F, 0x6E, 0x00, 0xA1, 0x02, 0x4D, 0x6D, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, + 0x6D, 0x52, 0x6F, 0x75, 0x74, 0x69, 0x6E, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x00, + 0x4A, 0x00, 0x45, 0x78, 0x45, 0x6E, 0x75, 0x6D, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x54, 0x61, + 0x62, 0x6C, 0x65, 0x00, 0x30, 0x03, 0x4F, 0x62, 0x66, 0x44, 0x65, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6E, 0x63, 0x65, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x00, 0x00, 0x28, 0x03, 0x4F, 0x62, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6E, 0x63, 0x65, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x42, + 0x79, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x00, 0x80, 0x03, 0x50, 0x73, 0x50, 0x72, 0x6F, 0x63, + 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x00, 0x26, 0x03, 0x4F, 0x62, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x4E, 0x61, 0x6D, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x67, 0x02, 0x4B, 0x65, + 0x55, 0x6E, 0x73, 0x74, 0x61, 0x63, 0x6B, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x50, 0x72, 0x6F, + 0x63, 0x65, 0x73, 0x73, 0x00, 0x00, 0x2D, 0x03, 0x4F, 0x62, 0x53, 0x65, 0x74, 0x48, 0x61, 0x6E, + 0x64, 0x6C, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x00, 0x63, 0x02, + 0x4B, 0x65, 0x53, 0x74, 0x61, 0x63, 0x6B, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x50, 0x72, 0x6F, + 0x63, 0x65, 0x73, 0x73, 0x00, 0x00, 0x77, 0x03, 0x50, 0x73, 0x49, 0x6E, 0x69, 0x74, 0x69, 0x61, + 0x6C, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x00, 0x00, + 0x25, 0x03, 0x4F, 0x62, 0x4F, 0x70, 0x65, 0x6E, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x42, 0x79, + 0x50, 0x6F, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x00, 0x19, 0x03, 0x4F, 0x62, 0x43, 0x6C, 0x6F, 0x73, + 0x65, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x00, 0x69, 0x01, 0x49, 0x6F, 0x47, 0x65, 0x74, 0x43, + 0x75, 0x72, 0x72, 0x65, 0x6E, 0x74, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x00, 0x24, 0x03, + 0x4F, 0x62, 0x4F, 0x70, 0x65, 0x6E, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x42, 0x79, 0x4E, 0x61, + 0x6D, 0x65, 0x00, 0x00, 0x5C, 0x01, 0x49, 0x6F, 0x46, 0x69, 0x6C, 0x65, 0x4F, 0x62, 0x6A, 0x65, + 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x00, 0x00, 0x57, 0x01, 0x49, 0x6F, 0x44, 0x72, 0x69, 0x76, + 0x65, 0x72, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x00, 0x00, 0xEC, 0x03, + 0x52, 0x74, 0x6C, 0x45, 0x71, 0x75, 0x61, 0x6C, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0x53, + 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x48, 0x05, 0x5A, 0x77, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, + 0x6E, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, + 0x00, 0x00, 0x47, 0x05, 0x5A, 0x77, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6E, 0x66, 0x6F, 0x72, + 0x6D, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x00, 0x40, 0x00, + 0x45, 0x78, 0x41, 0x6C, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x65, 0x50, 0x6F, 0x6F, 0x6C, 0x57, 0x69, + 0x74, 0x68, 0x51, 0x75, 0x6F, 0x74, 0x61, 0x54, 0x61, 0x67, 0x00, 0x00, 0x4C, 0x05, 0x5A, 0x77, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x00, 0xA9, 0x05, 0x6D, 0x65, + 0x6D, 0x73, 0x65, 0x74, 0x00, 0x00, 0x7D, 0x03, 0x50, 0x73, 0x4C, 0x6F, 0x6F, 0x6B, 0x75, 0x70, + 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, + 0x49, 0x64, 0x00, 0x00, 0x7E, 0x03, 0x50, 0x73, 0x4C, 0x6F, 0x6F, 0x6B, 0x75, 0x70, 0x50, 0x72, + 0x6F, 0x63, 0x65, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x42, 0x79, 0x43, 0x69, 0x64, + 0x00, 0x00, 0x4E, 0x03, 0x50, 0x73, 0x44, 0x65, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6E, 0x63, + 0x65, 0x50, 0x72, 0x69, 0x6D, 0x61, 0x72, 0x79, 0x54, 0x6F, 0x6B, 0x65, 0x6E, 0x00, 0xE8, 0x04, + 0x53, 0x65, 0x54, 0x6F, 0x6B, 0x65, 0x6E, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x00, 0x82, 0x03, 0x50, 0x73, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6E, 0x63, 0x65, 0x50, + 0x72, 0x69, 0x6D, 0x61, 0x72, 0x79, 0x54, 0x6F, 0x6B, 0x65, 0x6E, 0x00, 0x7C, 0x03, 0x50, 0x73, + 0x4A, 0x6F, 0x62, 0x54, 0x79, 0x70, 0x65, 0x00, 0x65, 0x03, 0x50, 0x73, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x4A, 0x6F, 0x62, 0x00, 0x6C, 0x05, 0x5A, 0x77, 0x54, 0x65, + 0x72, 0x6D, 0x69, 0x6E, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x00, 0x00, + 0x39, 0x00, 0x45, 0x78, 0x41, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x52, 0x75, 0x6E, 0x64, 0x6F, + 0x77, 0x6E, 0x50, 0x72, 0x6F, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x7C, 0x00, + 0x45, 0x78, 0x52, 0x65, 0x6C, 0x65, 0x61, 0x73, 0x65, 0x52, 0x75, 0x6E, 0x64, 0x6F, 0x77, 0x6E, + 0x50, 0x72, 0x6F, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x63, 0x05, 0x5A, 0x77, + 0x53, 0x65, 0x74, 0x49, 0x6E, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x50, 0x72, + 0x6F, 0x63, 0x65, 0x73, 0x73, 0x00, 0x07, 0x02, 0x4B, 0x65, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, + 0x72, 0x65, 0x6E, 0x74, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x00, 0x00, 0x99, 0x03, 0x50, 0x73, + 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, 0x00, 0x00, 0x7F, 0x03, 0x50, 0x73, + 0x4C, 0x6F, 0x6F, 0x6B, 0x75, 0x70, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x42, 0x79, 0x54, 0x68, + 0x72, 0x65, 0x61, 0x64, 0x49, 0x64, 0x00, 0x00, 0xC4, 0x01, 0x49, 0x6F, 0x54, 0x68, 0x72, 0x65, + 0x61, 0x64, 0x54, 0x6F, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x00, 0x56, 0x02, 0x4B, 0x65, + 0x53, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6E, 0x74, 0x00, 0x00, 0x51, 0x03, 0x50, 0x73, 0x47, 0x65, + 0x74, 0x43, 0x6F, 0x6E, 0x74, 0x65, 0x78, 0x74, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x00, 0x00, + 0x8B, 0x03, 0x50, 0x73, 0x53, 0x65, 0x74, 0x43, 0x6F, 0x6E, 0x74, 0x65, 0x78, 0x74, 0x54, 0x68, + 0x72, 0x65, 0x61, 0x64, 0x00, 0x00, 0xB1, 0x04, 0x52, 0x74, 0x6C, 0x57, 0x61, 0x6C, 0x6B, 0x46, + 0x72, 0x61, 0x6D, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6E, 0x00, 0x74, 0x03, 0x50, 0x73, 0x47, 0x65, + 0x74, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x57, 0x69, 0x6E, 0x33, 0x32, 0x54, 0x68, 0x72, 0x65, + 0x61, 0x64, 0x00, 0x00, 0x46, 0x03, 0x50, 0x73, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6E, 0x49, 0x6D, + 0x70, 0x65, 0x72, 0x73, 0x6F, 0x6E, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x54, 0x6F, 0x6B, 0x65, 0x6E, + 0x00, 0x00, 0x64, 0x05, 0x5A, 0x77, 0x53, 0x65, 0x74, 0x49, 0x6E, 0x66, 0x6F, 0x72, 0x6D, 0x61, + 0x74, 0x69, 0x6F, 0x6E, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x00, 0x00, 0x6D, 0x02, 0x4B, 0x65, + 0x57, 0x61, 0x69, 0x74, 0x46, 0x6F, 0x72, 0x53, 0x69, 0x6E, 0x67, 0x6C, 0x65, 0x4F, 0x62, 0x6A, + 0x65, 0x63, 0x74, 0x00, 0x25, 0x02, 0x4B, 0x65, 0x49, 0x6E, 0x73, 0x65, 0x72, 0x74, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x41, 0x70, 0x63, 0x00, 0x00, 0x15, 0x02, 0x4B, 0x65, 0x49, 0x6E, 0x69, 0x74, + 0x69, 0x61, 0x6C, 0x69, 0x7A, 0x65, 0x41, 0x70, 0x63, 0x00, 0x18, 0x02, 0x4B, 0x65, 0x49, 0x6E, + 0x69, 0x74, 0x69, 0x61, 0x6C, 0x69, 0x7A, 0x65, 0x45, 0x76, 0x65, 0x6E, 0x74, 0x00, 0xCB, 0x02, + 0x4D, 0x6D, 0x55, 0x6E, 0x6C, 0x6F, 0x63, 0x6B, 0x50, 0x61, 0x67, 0x65, 0x73, 0x00, 0xCD, 0x02, + 0x4D, 0x6D, 0x55, 0x6E, 0x6D, 0x61, 0x70, 0x4C, 0x6F, 0x63, 0x6B, 0x65, 0x64, 0x50, 0x61, 0x67, + 0x65, 0x73, 0x00, 0x00, 0x75, 0x00, 0x45, 0x78, 0x52, 0x61, 0x69, 0x73, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x00, 0xB0, 0x02, 0x4D, 0x6D, 0x4D, 0x61, 0x70, 0x4C, 0x6F, 0x63, 0x6B, 0x65, + 0x64, 0x50, 0x61, 0x67, 0x65, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x43, 0x61, 0x63, + 0x68, 0x65, 0x00, 0x00, 0xBC, 0x02, 0x4D, 0x6D, 0x50, 0x72, 0x6F, 0x62, 0x65, 0x41, 0x6E, 0x64, + 0x4C, 0x6F, 0x63, 0x6B, 0x50, 0x61, 0x67, 0x65, 0x73, 0x00, 0xA4, 0x02, 0x4D, 0x6D, 0x48, 0x69, + 0x67, 0x68, 0x65, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x00, 0x00, 0xA5, 0x02, 0x4D, 0x6D, 0x49, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x56, + 0x61, 0x6C, 0x69, 0x64, 0x00, 0x00, 0x66, 0x02, 0x4B, 0x65, 0x54, 0x69, 0x63, 0x6B, 0x43, 0x6F, + 0x75, 0x6E, 0x74, 0x00, 0xF6, 0x01, 0x4B, 0x65, 0x42, 0x75, 0x67, 0x43, 0x68, 0x65, 0x63, 0x6B, + 0x45, 0x78, 0x00, 0x00, 0x6E, 0x74, 0x6F, 0x73, 0x6B, 0x72, 0x6E, 0x6C, 0x2E, 0x65, 0x78, 0x65, + 0x00, 0x00, 0x4D, 0x00, 0x4B, 0x66, 0x4C, 0x6F, 0x77, 0x65, 0x72, 0x49, 0x72, 0x71, 0x6C, 0x00, + 0x4E, 0x00, 0x4B, 0x66, 0x52, 0x61, 0x69, 0x73, 0x65, 0x49, 0x72, 0x71, 0x6C, 0x00, 0x48, 0x41, + 0x4C, 0x2E, 0x64, 0x6C, 0x6C, 0x00, 0xA0, 0x04, 0x52, 0x74, 0x6C, 0x55, 0x6E, 0x77, 0x69, 0x6E, + 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x09, 0x04, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x98, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x98, 0x02, 0x34, 0x00, 0x00, 0x00, 0x56, 0x00, 0x53, 0x00, 0x5F, 0x00, 0x56, 0x00, 0x45, 0x00, + 0x52, 0x00, 0x53, 0x00, 0x49, 0x00, 0x4F, 0x00, 0x4E, 0x00, 0x5F, 0x00, 0x49, 0x00, 0x4E, 0x00, + 0x46, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x04, 0xEF, 0xFE, 0x00, 0x00, 0x01, 0x00, + 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x01, 0x00, 0x00, + 0x01, 0x00, 0x53, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x46, 0x00, + 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x66, 0x00, 0x6F, 0x00, 0x00, 0x00, + 0xD4, 0x01, 0x00, 0x00, 0x01, 0x00, 0x30, 0x00, 0x34, 0x00, 0x30, 0x00, 0x39, 0x00, 0x30, 0x00, + 0x34, 0x00, 0x45, 0x00, 0x34, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x05, 0x00, 0x01, 0x00, 0x43, 0x00, + 0x6F, 0x00, 0x6D, 0x00, 0x70, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x79, 0x00, 0x4E, 0x00, 0x61, 0x00, + 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x6A, 0x00, 0x33, 0x00, 0x32, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x0F, 0x00, 0x01, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, + 0x65, 0x00, 0x44, 0x00, 0x65, 0x00, 0x73, 0x00, 0x63, 0x00, 0x72, 0x00, 0x69, 0x00, 0x70, 0x00, + 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x50, 0x00, + 0x72, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, 0x48, 0x00, 0x61, 0x00, + 0x63, 0x00, 0x6B, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x04, 0x00, + 0x01, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, + 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x2E, 0x00, + 0x38, 0x00, 0x00, 0x00, 0x64, 0x00, 0x20, 0x00, 0x01, 0x00, 0x4C, 0x00, 0x65, 0x00, 0x67, 0x00, + 0x61, 0x00, 0x6C, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, + 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, + 0x6E, 0x00, 0x73, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x75, 0x00, 0x6E, 0x00, 0x64, 0x00, + 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x47, 0x00, + 0x4E, 0x00, 0x55, 0x00, 0x20, 0x00, 0x47, 0x00, 0x50, 0x00, 0x4C, 0x00, 0x2C, 0x00, 0x20, 0x00, + 0x76, 0x00, 0x33, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x13, 0x00, 0x01, 0x00, 0x4F, 0x00, + 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x46, 0x00, + 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, + 0x6B, 0x00, 0x70, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, + 0x68, 0x00, 0x61, 0x00, 0x63, 0x00, 0x6B, 0x00, 0x65, 0x00, 0x72, 0x00, 0x2E, 0x00, 0x73, 0x00, + 0x79, 0x00, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x01, 0x00, 0x50, 0x00, + 0x72, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, 0x4E, 0x00, 0x61, 0x00, + 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, + 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, 0x48, 0x00, 0x61, 0x00, 0x63, 0x00, 0x6B, 0x00, + 0x65, 0x00, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x04, 0x00, 0x01, 0x00, 0x50, 0x00, + 0x72, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, 0x56, 0x00, 0x65, 0x00, + 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x32, 0x00, 0x2E, 0x00, + 0x38, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x56, 0x00, 0x61, 0x00, 0x72, 0x00, + 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x66, 0x00, 0x6F, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x04, 0x00, 0x00, 0x00, 0x54, 0x00, 0x72, 0x00, 0x61, 0x00, + 0x6E, 0x00, 0x73, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x09, 0x04, 0xE4, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x8F, 0x34, 0x9F, 0x34, 0xB5, 0x34, 0xE2, 0x34, + 0x03, 0x35, 0x45, 0x35, 0x5B, 0x35, 0x69, 0x35, 0xFC, 0x35, 0x19, 0x36, 0x5F, 0x36, 0x3D, 0x3B, + 0x97, 0x3B, 0xCB, 0x3B, 0xE2, 0x3B, 0x2C, 0x3C, 0x7E, 0x3C, 0xBC, 0x3C, 0xC6, 0x3C, 0xDE, 0x3C, + 0xF2, 0x3C, 0x06, 0x3D, 0x12, 0x3D, 0x22, 0x3D, 0x68, 0x3D, 0xFD, 0x3D, 0x1D, 0x3E, 0x23, 0x3E, + 0x31, 0x3E, 0x3E, 0x3E, 0x4A, 0x3E, 0x55, 0x3E, 0x72, 0x3E, 0xD2, 0x3E, 0xB0, 0x3F, 0x00, 0x00, + 0x00, 0x10, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x03, 0x30, 0x1D, 0x30, 0x3A, 0x30, 0x8D, 0x30, + 0x99, 0x30, 0x91, 0x31, 0xC6, 0x31, 0x9C, 0x33, 0xA0, 0x33, 0x2C, 0x34, 0x30, 0x34, 0x4C, 0x34, + 0x50, 0x34, 0x6C, 0x34, 0x70, 0x34, 0x78, 0x34, 0x7C, 0x34, 0x94, 0x34, 0x98, 0x34, 0xB4, 0x34, + 0xB8, 0x34, 0xC0, 0x34, 0xC4, 0x34, 0xCC, 0x34, 0xD0, 0x34, 0xEC, 0x34, 0xF0, 0x34, 0xF8, 0x34, + 0xFC, 0x34, 0x14, 0x35, 0x18, 0x35, 0x20, 0x35, 0x24, 0x35, 0x3C, 0x35, 0x40, 0x35, 0x48, 0x35, + 0x4C, 0x35, 0x64, 0x35, 0x68, 0x35, 0x70, 0x35, 0x74, 0x35, 0x7C, 0x35, 0x80, 0x35, 0x88, 0x35, + 0x8C, 0x35, 0x94, 0x35, 0x98, 0x35, 0xA0, 0x35, 0xA4, 0x35, 0xAC, 0x35, 0xB0, 0x35, 0xB8, 0x35, + 0xBC, 0x35, 0xC4, 0x35, 0xC8, 0x35, 0xD0, 0x35, 0xD4, 0x35, 0xDC, 0x35, 0xE0, 0x35, 0xFC, 0x35, + 0x00, 0x36, 0x08, 0x36, 0x0C, 0x36, 0x24, 0x36, 0x28, 0x36, 0x30, 0x36, 0x34, 0x36, 0x4C, 0x36, + 0x50, 0x36, 0x58, 0x36, 0x5C, 0x36, 0x74, 0x36, 0x78, 0x36, 0x80, 0x36, 0x84, 0x36, 0x8C, 0x36, + 0x90, 0x36, 0x98, 0x36, 0x9C, 0x36, 0xA4, 0x36, 0xA8, 0x36, 0xC4, 0x36, 0xC8, 0x36, 0xD0, 0x36, + 0xD4, 0x36, 0xDC, 0x36, 0xE0, 0x36, 0xFC, 0x36, 0x00, 0x37, 0x08, 0x37, 0x0C, 0x37, 0x24, 0x37, + 0x28, 0x37, 0x30, 0x37, 0x34, 0x37, 0x4C, 0x37, 0x50, 0x37, 0x58, 0x37, 0x5C, 0x37, 0x74, 0x37, + 0x78, 0x37, 0x80, 0x37, 0x84, 0x37, 0x8C, 0x37, 0x90, 0x37, 0x98, 0x37, 0x9C, 0x37, 0xB4, 0x37, + 0xB8, 0x37, 0xC0, 0x37, 0xC4, 0x37, 0xCC, 0x37, 0xD0, 0x37, 0xEC, 0x37, 0xF0, 0x37, 0xF8, 0x37, + 0xFC, 0x37, 0x04, 0x38, 0x08, 0x38, 0x24, 0x38, 0x28, 0x38, 0x44, 0x38, 0x48, 0x38, 0x50, 0x38, + 0x54, 0x38, 0x6C, 0x38, 0x70, 0x38, 0x78, 0x38, 0x7C, 0x38, 0x94, 0x38, 0x98, 0x38, 0xA0, 0x38, + 0xA4, 0x38, 0xAC, 0x38, 0xB0, 0x38, 0x08, 0x3C, 0x0E, 0x3C, 0x23, 0x3C, 0x4B, 0x3C, 0x85, 0x3C, + 0x8A, 0x3C, 0xB4, 0x3C, 0x20, 0x3D, 0x2D, 0x3D, 0x3D, 0x3D, 0x56, 0x3D, 0x5B, 0x3D, 0x76, 0x3D, + 0x89, 0x3D, 0x9F, 0x3D, 0xBC, 0x3D, 0xC1, 0x3D, 0xF2, 0x3D, 0x15, 0x3E, 0x34, 0x3E, 0x3E, 0x3E, + 0x58, 0x3E, 0x65, 0x3E, 0x6C, 0x3E, 0x73, 0x3E, 0x7A, 0x3E, 0xE0, 0x3E, 0xEC, 0x3E, 0xFF, 0x3E, + 0x13, 0x3F, 0x32, 0x3F, 0x3C, 0x3F, 0x46, 0x3F, 0x50, 0x3F, 0x5A, 0x3F, 0x64, 0x3F, 0x6E, 0x3F, + 0x78, 0x3F, 0x82, 0x3F, 0x8B, 0x3F, 0x9A, 0x3F, 0x9F, 0x3F, 0xA8, 0x3F, 0xC0, 0x3F, 0xCD, 0x3F, + 0xF6, 0x3F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x84, 0x01, 0x00, 0x00, 0x00, 0x30, 0x0A, 0x30, + 0x14, 0x30, 0x29, 0x30, 0x2D, 0x30, 0x33, 0x30, 0x3E, 0x30, 0x42, 0x30, 0x48, 0x30, 0x5B, 0x30, + 0x68, 0x30, 0x84, 0x30, 0x8E, 0x30, 0x98, 0x30, 0xA2, 0x30, 0xBD, 0x30, 0xC3, 0x30, 0xC7, 0x30, + 0xCD, 0x30, 0xD8, 0x30, 0xDC, 0x30, 0xE2, 0x30, 0x04, 0x31, 0x11, 0x31, 0x20, 0x31, 0x2A, 0x31, + 0x44, 0x31, 0x4E, 0x31, 0x54, 0x31, 0x5E, 0x31, 0x68, 0x31, 0x72, 0x31, 0x7F, 0x31, 0x85, 0x31, + 0x89, 0x31, 0x8F, 0x31, 0x9E, 0x31, 0xA2, 0x31, 0xA8, 0x31, 0xC4, 0x31, 0xCE, 0x31, 0xDB, 0x31, + 0xF5, 0x31, 0xFF, 0x31, 0x09, 0x32, 0x13, 0x32, 0x19, 0x32, 0x1F, 0x32, 0x2D, 0x32, 0x34, 0x32, + 0x3A, 0x32, 0x3E, 0x32, 0x44, 0x32, 0x4E, 0x32, 0x54, 0x32, 0x5E, 0x32, 0x64, 0x32, 0x72, 0x32, + 0x76, 0x32, 0x7C, 0x32, 0x86, 0x32, 0x99, 0x32, 0xA4, 0x32, 0xB9, 0x32, 0xC3, 0x32, 0xCD, 0x32, + 0xD7, 0x32, 0xDD, 0x32, 0xE3, 0x32, 0xF5, 0x32, 0xF9, 0x32, 0xFF, 0x32, 0x03, 0x33, 0x13, 0x33, + 0x1E, 0x33, 0x30, 0x33, 0x3A, 0x33, 0x44, 0x33, 0x4E, 0x33, 0x58, 0x33, 0x66, 0x33, 0x6A, 0x33, + 0x70, 0x33, 0x74, 0x33, 0x7A, 0x33, 0x89, 0x33, 0x92, 0x33, 0x98, 0x33, 0x9F, 0x33, 0xA5, 0x33, + 0xAB, 0x33, 0xB1, 0x33, 0xB7, 0x33, 0xBD, 0x33, 0xC3, 0x33, 0xC8, 0x33, 0xCE, 0x33, 0xD4, 0x33, + 0xE6, 0x33, 0xFE, 0x33, 0x04, 0x34, 0x0E, 0x34, 0x1A, 0x34, 0x4B, 0x34, 0x55, 0x34, 0x61, 0x34, + 0x8D, 0x34, 0xD6, 0x34, 0xF8, 0x34, 0x02, 0x35, 0x12, 0x35, 0x1A, 0x35, 0x24, 0x35, 0x29, 0x35, + 0x33, 0x35, 0x38, 0x35, 0x42, 0x35, 0x47, 0x35, 0x51, 0x35, 0x56, 0x35, 0x60, 0x35, 0x65, 0x35, + 0x6F, 0x35, 0x74, 0x35, 0x7E, 0x35, 0x8E, 0x35, 0xA8, 0x35, 0xC8, 0x35, 0xE2, 0x35, 0x14, 0x36, + 0x23, 0x36, 0x33, 0x36, 0x96, 0x36, 0xA1, 0x36, 0x51, 0x37, 0x5E, 0x37, 0x67, 0x37, 0x6F, 0x37, + 0x93, 0x37, 0xDC, 0x37, 0xE8, 0x37, 0x05, 0x38, 0x32, 0x38, 0x3A, 0x38, 0x41, 0x38, 0x48, 0x38, + 0x59, 0x38, 0x29, 0x39, 0xBB, 0x39, 0xE5, 0x39, 0xF9, 0x39, 0x05, 0x3A, 0x17, 0x3A, 0x5D, 0x3A, + 0xB9, 0x3A, 0xC7, 0x3A, 0xD3, 0x3A, 0xDC, 0x3A, 0x38, 0x3B, 0x57, 0x3B, 0x76, 0x3B, 0x97, 0x3B, + 0xA9, 0x3B, 0xC5, 0x3B, 0xD7, 0x3B, 0x0B, 0x3C, 0x16, 0x3C, 0x26, 0x3C, 0x4F, 0x3C, 0x76, 0x3C, + 0xAF, 0x3C, 0xBB, 0x3C, 0xD7, 0x3C, 0x4C, 0x3D, 0x55, 0x3D, 0x6B, 0x3D, 0x94, 0x3D, 0xA2, 0x3D, + 0x38, 0x3E, 0x4D, 0x3E, 0xAD, 0x3E, 0xDE, 0x3E, 0x0A, 0x3F, 0x3D, 0x3F, 0x5F, 0x3F, 0x6C, 0x3F, + 0x7E, 0x3F, 0xBE, 0x3F, 0xE3, 0x3F, 0xF1, 0x3F, 0x00, 0x30, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, + 0x02, 0x30, 0x12, 0x30, 0x7B, 0x30, 0x9A, 0x30, 0xBD, 0x30, 0x4A, 0x31, 0x5C, 0x31, 0x80, 0x31, + 0xAB, 0x31, 0xBC, 0x31, 0xCC, 0x31, 0x33, 0x32, 0x52, 0x32, 0x65, 0x32, 0x75, 0x32, 0xD7, 0x32, + 0xE8, 0x32, 0xF8, 0x32, 0x5E, 0x33, 0x6F, 0x33, 0x7F, 0x33, 0xDD, 0x33, 0xEA, 0x33, 0xF7, 0x33, + 0x0C, 0x34, 0x2B, 0x34, 0x46, 0x34, 0x4E, 0x34, 0x58, 0x34, 0x64, 0x34, 0x82, 0x34, 0x92, 0x34, + 0xFA, 0x34, 0x1D, 0x35, 0x2B, 0x35, 0x42, 0x35, 0xE6, 0x35, 0x03, 0x36, 0x12, 0x36, 0x28, 0x36, + 0x4E, 0x36, 0x5A, 0x36, 0xC1, 0x36, 0x04, 0x37, 0x08, 0x37, 0x0C, 0x37, 0x10, 0x37, 0x14, 0x37, + 0x18, 0x37, 0x1C, 0x37, 0x20, 0x37, 0x24, 0x37, 0x31, 0x37, 0x4E, 0x37, 0x5C, 0x37, 0xB7, 0x37, + 0xC6, 0x37, 0xD3, 0x37, 0xE3, 0x37, 0xF3, 0x37, 0xFE, 0x37, 0x4D, 0x38, 0x69, 0x38, 0x7D, 0x38, + 0x89, 0x38, 0x9A, 0x38, 0xA6, 0x38, 0xB4, 0x38, 0xBD, 0x38, 0xC6, 0x38, 0x39, 0x39, 0x59, 0x39, + 0x92, 0x39, 0x9E, 0x39, 0xAB, 0x39, 0xBA, 0x39, 0xC8, 0x39, 0xDA, 0x39, 0x30, 0x3A, 0x46, 0x3A, + 0x52, 0x3A, 0x5F, 0x3A, 0x6A, 0x3A, 0x84, 0x3A, 0x9A, 0x3A, 0xA6, 0x3A, 0xB3, 0x3A, 0xBE, 0x3A, + 0xD7, 0x3A, 0xE6, 0x3A, 0xF8, 0x3A, 0x59, 0x3B, 0x66, 0x3B, 0x71, 0x3B, 0x94, 0x3B, 0xAA, 0x3B, + 0xBC, 0x3B, 0xC7, 0x3B, 0xD7, 0x3B, 0xEB, 0x3B, 0x16, 0x3C, 0x64, 0x3C, 0x70, 0x3C, 0xA5, 0x3C, + 0xBB, 0x3C, 0xD8, 0x3C, 0x22, 0x3D, 0x31, 0x3D, 0x42, 0x3D, 0x4F, 0x3D, 0x9B, 0x3D, 0xF3, 0x3D, + 0x37, 0x3E, 0x55, 0x3E, 0x91, 0x3E, 0x9E, 0x3E, 0x0B, 0x3F, 0x1F, 0x3F, 0x3A, 0x3F, 0x45, 0x3F, + 0xA0, 0x3F, 0xB0, 0x3F, 0xBC, 0x3F, 0xD4, 0x3F, 0xF1, 0x3F, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, + 0xDC, 0x00, 0x00, 0x00, 0x57, 0x30, 0x75, 0x30, 0xC2, 0x30, 0xCF, 0x30, 0xF3, 0x31, 0x0B, 0x32, + 0x28, 0x32, 0x36, 0x32, 0x8E, 0x32, 0x97, 0x32, 0xA5, 0x32, 0xB5, 0x32, 0xC0, 0x32, 0x0F, 0x33, + 0x2C, 0x33, 0x65, 0x33, 0x71, 0x33, 0x7E, 0x33, 0x89, 0x33, 0x97, 0x33, 0xA2, 0x33, 0xF8, 0x33, + 0x0C, 0x34, 0x1F, 0x34, 0x48, 0x34, 0x72, 0x34, 0x8B, 0x34, 0xBB, 0x34, 0xC8, 0x34, 0xD3, 0x34, + 0xF5, 0x34, 0x1E, 0x35, 0x25, 0x35, 0x49, 0x35, 0x56, 0x35, 0x6A, 0x35, 0x75, 0x35, 0x95, 0x35, + 0xA2, 0x35, 0xB6, 0x35, 0xC1, 0x35, 0x03, 0x36, 0x15, 0x36, 0x33, 0x36, 0x80, 0x36, 0x8D, 0x36, + 0xC2, 0x36, 0xD6, 0x36, 0xF4, 0x36, 0x3A, 0x37, 0x45, 0x37, 0x88, 0x37, 0xCD, 0x37, 0xEB, 0x37, + 0x24, 0x38, 0x30, 0x38, 0xA2, 0x38, 0xB5, 0x38, 0xD0, 0x38, 0xDB, 0x38, 0x33, 0x39, 0x40, 0x39, + 0x50, 0x39, 0x63, 0x39, 0x75, 0x39, 0x80, 0x39, 0x89, 0x39, 0x92, 0x39, 0xBA, 0x39, 0xC6, 0x39, + 0xD0, 0x39, 0xE7, 0x39, 0xF0, 0x39, 0xFE, 0x39, 0x0C, 0x3A, 0x1E, 0x3A, 0x37, 0x3A, 0x4B, 0x3A, + 0x82, 0x3A, 0x3C, 0x3B, 0x61, 0x3B, 0x7E, 0x3B, 0x9D, 0x3B, 0xB1, 0x3B, 0xBA, 0x3B, 0xC8, 0x3B, + 0xDC, 0x3B, 0xEE, 0x3B, 0x9B, 0x3C, 0xBF, 0x3C, 0xCC, 0x3C, 0xF6, 0x3C, 0x0C, 0x3D, 0xD9, 0x3D, + 0x0A, 0x3E, 0x33, 0x3E, 0x9A, 0x3E, 0xAF, 0x3E, 0xCB, 0x3E, 0xF0, 0x3E, 0x1C, 0x3F, 0x2F, 0x3F, + 0x55, 0x3F, 0x9C, 0x3F, 0xB1, 0x3F, 0xB8, 0x3F, 0x00, 0x50, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, + 0x07, 0x30, 0x23, 0x30, 0x37, 0x30, 0x56, 0x30, 0xC1, 0x30, 0xE3, 0x30, 0x0C, 0x31, 0x2C, 0x31, + 0x71, 0x31, 0x7D, 0x31, 0x93, 0x31, 0xAB, 0x31, 0xEF, 0x31, 0x18, 0x32, 0x38, 0x32, 0x7D, 0x32, + 0x89, 0x32, 0xA5, 0x32, 0xB7, 0x32, 0xFB, 0x32, 0x2B, 0x33, 0x4A, 0x33, 0x67, 0x33, 0x8D, 0x33, + 0x9C, 0x33, 0x0E, 0x34, 0x1A, 0x34, 0x32, 0x34, 0x48, 0x34, 0x86, 0x37, 0x98, 0x37, 0x9F, 0x37, + 0xA4, 0x37, 0xAD, 0x37, 0xB4, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x98, 0x24, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x30, 0x82, 0x24, 0x8B, 0x06, 0x09, 0x2A, 0x86, + 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x02, 0xA0, 0x82, 0x24, 0x7C, 0x30, 0x82, 0x24, 0x78, 0x02, + 0x01, 0x01, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x30, + 0x4C, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x04, 0xA0, 0x3E, 0x30, + 0x3C, 0x30, 0x17, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x0F, 0x30, + 0x09, 0x03, 0x01, 0x00, 0xA0, 0x04, 0xA2, 0x02, 0x80, 0x00, 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, + 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x04, 0x14, 0xBD, 0x01, 0xBE, 0xE3, 0x72, 0x99, 0xE1, + 0xF6, 0x50, 0xAC, 0xEF, 0x44, 0x79, 0x6E, 0x95, 0xD8, 0x3D, 0x62, 0x05, 0xDD, 0xA0, 0x82, 0x1F, + 0xDE, 0x30, 0x82, 0x05, 0x3B, 0x30, 0x82, 0x03, 0x23, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x0A, + 0x61, 0x20, 0x4D, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, + 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x7F, 0x31, 0x0B, 0x30, 0x09, 0x06, + 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, + 0x08, 0x13, 0x0A, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6E, 0x67, 0x74, 0x6F, 0x6E, 0x31, 0x10, 0x30, + 0x0E, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 0x64, 0x6D, 0x6F, 0x6E, 0x64, 0x31, + 0x1E, 0x30, 0x1C, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x15, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, + 0x6F, 0x66, 0x74, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, + 0x29, 0x30, 0x27, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x20, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, + 0x6F, 0x66, 0x74, 0x20, 0x43, 0x6F, 0x64, 0x65, 0x20, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x52, 0x6F, 0x6F, 0x74, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x31, + 0x30, 0x34, 0x31, 0x35, 0x31, 0x39, 0x34, 0x35, 0x33, 0x33, 0x5A, 0x17, 0x0D, 0x32, 0x31, 0x30, + 0x34, 0x31, 0x35, 0x31, 0x39, 0x35, 0x35, 0x33, 0x33, 0x5A, 0x30, 0x6C, 0x31, 0x0B, 0x30, 0x09, + 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, + 0x04, 0x0A, 0x13, 0x0C, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6E, 0x63, + 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x10, 0x77, 0x77, 0x77, 0x2E, 0x64, + 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x2B, 0x30, 0x29, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x48, + 0x69, 0x67, 0x68, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6E, 0x63, 0x65, 0x20, 0x45, 0x56, + 0x20, 0x52, 0x6F, 0x6F, 0x74, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0D, 0x06, 0x09, + 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, + 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xC6, 0xCC, 0xE5, 0x73, 0xE6, 0xFB, 0xD4, + 0xBB, 0xE5, 0x2D, 0x2D, 0x32, 0xA6, 0xDF, 0xE5, 0x81, 0x3F, 0xC9, 0xCD, 0x25, 0x49, 0xB6, 0x71, + 0x2A, 0xC3, 0xD5, 0x94, 0x34, 0x67, 0xA2, 0x0A, 0x1C, 0xB0, 0x5F, 0x69, 0xA6, 0x40, 0xB1, 0xC4, + 0xB7, 0xB2, 0x8F, 0xD0, 0x98, 0xA4, 0xA9, 0x41, 0x59, 0x3A, 0xD3, 0xDC, 0x94, 0xD6, 0x3C, 0xDB, + 0x74, 0x38, 0xA4, 0x4A, 0xCC, 0x4D, 0x25, 0x82, 0xF7, 0x4A, 0xA5, 0x53, 0x12, 0x38, 0xEE, 0xF3, + 0x49, 0x6D, 0x71, 0x91, 0x7E, 0x63, 0xB6, 0xAB, 0xA6, 0x5F, 0xC3, 0xA4, 0x84, 0xF8, 0x4F, 0x62, + 0x51, 0xBE, 0xF8, 0xC5, 0xEC, 0xDB, 0x38, 0x92, 0xE3, 0x06, 0xE5, 0x08, 0x91, 0x0C, 0xC4, 0x28, + 0x41, 0x55, 0xFB, 0xCB, 0x5A, 0x89, 0x15, 0x7E, 0x71, 0xE8, 0x35, 0xBF, 0x4D, 0x72, 0x09, 0x3D, + 0xBE, 0x3A, 0x38, 0x50, 0x5B, 0x77, 0x31, 0x1B, 0x8D, 0xB3, 0xC7, 0x24, 0x45, 0x9A, 0xA7, 0xAC, + 0x6D, 0x00, 0x14, 0x5A, 0x04, 0xB7, 0xBA, 0x13, 0xEB, 0x51, 0x0A, 0x98, 0x41, 0x41, 0x22, 0x4E, + 0x65, 0x61, 0x87, 0x81, 0x41, 0x50, 0xA6, 0x79, 0x5C, 0x89, 0xDE, 0x19, 0x4A, 0x57, 0xD5, 0x2E, + 0xE6, 0x5D, 0x1C, 0x53, 0x2C, 0x7E, 0x98, 0xCD, 0x1A, 0x06, 0x16, 0xA4, 0x68, 0x73, 0xD0, 0x34, + 0x04, 0x13, 0x5C, 0xA1, 0x71, 0xD3, 0x5A, 0x7C, 0x55, 0xDB, 0x5E, 0x64, 0xE1, 0x37, 0x87, 0x30, + 0x56, 0x04, 0xE5, 0x11, 0xB4, 0x29, 0x80, 0x12, 0xF1, 0x79, 0x39, 0x88, 0xA2, 0x02, 0x11, 0x7C, + 0x27, 0x66, 0xB7, 0x88, 0xB7, 0x78, 0xF2, 0xCA, 0x0A, 0xA8, 0x38, 0xAB, 0x0A, 0x64, 0xC2, 0xBF, + 0x66, 0x5D, 0x95, 0x84, 0xC1, 0xA1, 0x25, 0x1E, 0x87, 0x5D, 0x1A, 0x50, 0x0B, 0x20, 0x12, 0xCC, + 0x41, 0xBB, 0x6E, 0x0B, 0x51, 0x38, 0xB8, 0x4B, 0xCB, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x81, + 0xCB, 0x30, 0x81, 0xC8, 0x30, 0x11, 0x06, 0x03, 0x55, 0x1D, 0x20, 0x04, 0x0A, 0x30, 0x08, 0x30, + 0x06, 0x06, 0x04, 0x55, 0x1D, 0x20, 0x00, 0x30, 0x0B, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x04, 0x04, + 0x03, 0x02, 0x01, 0x86, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, 0x04, 0x05, + 0x30, 0x03, 0x01, 0x01, 0xFF, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, + 0xB1, 0x3E, 0xC3, 0x69, 0x03, 0xF8, 0xBF, 0x47, 0x01, 0xD4, 0x98, 0x26, 0x1A, 0x08, 0x02, 0xEF, + 0x63, 0x64, 0x2B, 0xC3, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, + 0x14, 0x62, 0xFB, 0x0A, 0x21, 0x5B, 0x7F, 0x43, 0x6E, 0x11, 0xDA, 0x09, 0x54, 0x50, 0x6B, 0xF5, + 0xD2, 0x96, 0x71, 0xF1, 0x9E, 0x30, 0x55, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, 0x4E, 0x30, 0x4C, + 0x30, 0x4A, 0xA0, 0x48, 0xA0, 0x46, 0x86, 0x44, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, + 0x72, 0x6C, 0x2E, 0x6D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2E, 0x63, 0x6F, 0x6D, + 0x2F, 0x70, 0x6B, 0x69, 0x2F, 0x63, 0x72, 0x6C, 0x2F, 0x70, 0x72, 0x6F, 0x64, 0x75, 0x63, 0x74, + 0x73, 0x2F, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x43, 0x6F, 0x64, 0x65, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x52, 0x6F, 0x6F, 0x74, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x0D, 0x06, 0x09, + 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, + 0x20, 0x8C, 0xC1, 0x59, 0xED, 0x6F, 0x9C, 0x6B, 0x2D, 0xC1, 0x4A, 0x3E, 0x75, 0x1D, 0x45, 0x4C, + 0x41, 0x50, 0x1C, 0xBD, 0x80, 0xEA, 0xD9, 0xB0, 0x92, 0x8B, 0x06, 0x2A, 0x13, 0x3F, 0x53, 0x16, + 0x9E, 0x56, 0x39, 0x6A, 0x8A, 0x63, 0xB6, 0x78, 0x24, 0x79, 0xF5, 0x7D, 0xB8, 0xB9, 0x47, 0xA1, + 0x0A, 0x96, 0xC2, 0xF6, 0xCB, 0xBD, 0xA2, 0x66, 0x9F, 0x06, 0xE1, 0xAC, 0xD2, 0x79, 0x09, 0x0E, + 0xFD, 0x3C, 0xDC, 0xAC, 0x02, 0x0C, 0x70, 0xAF, 0x3F, 0x1B, 0xEC, 0x78, 0x7E, 0xD4, 0xEB, 0x4B, + 0x05, 0x60, 0x26, 0xD9, 0x73, 0x61, 0x91, 0x21, 0xED, 0xB0, 0x68, 0x63, 0xE0, 0x97, 0x12, 0xAB, + 0x6F, 0xA0, 0x12, 0xED, 0xD9, 0x9F, 0xD2, 0xDA, 0x27, 0x3C, 0xB3, 0xE4, 0x56, 0xF9, 0xD1, 0xD4, + 0x81, 0x0F, 0x71, 0xBD, 0x42, 0x7C, 0xA6, 0x89, 0xDC, 0xCD, 0xD5, 0xBD, 0x95, 0xA2, 0xAB, 0xF1, + 0x93, 0x11, 0x7D, 0xE8, 0xAC, 0x31, 0x29, 0xA8, 0x5D, 0x66, 0x70, 0x41, 0x9D, 0xFC, 0x75, 0xC9, + 0xD5, 0xB3, 0x1A, 0x39, 0x2A, 0xD0, 0x85, 0x05, 0x50, 0x8B, 0xAC, 0x91, 0xCA, 0xC4, 0x93, 0xCB, + 0x71, 0xA5, 0x9D, 0xA4, 0x94, 0x6F, 0x58, 0x0C, 0xFA, 0x6E, 0x20, 0xC4, 0x08, 0x31, 0xB5, 0x85, + 0x9D, 0x7E, 0x81, 0xF9, 0xD2, 0x3D, 0xCA, 0x5B, 0x18, 0x85, 0x6C, 0x0A, 0x86, 0xEC, 0x22, 0x09, + 0x1B, 0xA5, 0x74, 0x34, 0x4F, 0x7F, 0x28, 0xBC, 0x95, 0x4A, 0xAB, 0x1D, 0xB6, 0x98, 0xB0, 0x5D, + 0x09, 0xA4, 0x77, 0x76, 0x7E, 0xEF, 0xA7, 0x8E, 0x5D, 0x84, 0xF6, 0x18, 0x24, 0xCB, 0xD1, 0x6D, + 0xA6, 0xC3, 0xA1, 0x9C, 0xC2, 0x10, 0x75, 0x80, 0xFF, 0x9D, 0x32, 0xFD, 0xE6, 0xCF, 0x43, 0x3A, + 0x82, 0xF7, 0xCE, 0x8F, 0xE1, 0x72, 0x2A, 0x9B, 0x62, 0xB7, 0x5F, 0xED, 0x95, 0x1A, 0x39, 0x5C, + 0x2F, 0x94, 0x6D, 0x48, 0xB7, 0x01, 0x5F, 0x33, 0x2F, 0xBB, 0xDC, 0x2D, 0x73, 0x34, 0x89, 0x04, + 0x42, 0x0A, 0x1C, 0x8B, 0x79, 0xF9, 0xA3, 0xFA, 0x17, 0xEF, 0xFA, 0xA1, 0x1A, 0x10, 0xDF, 0xE0, + 0xB2, 0xC1, 0x95, 0xEB, 0x5C, 0x0C, 0x05, 0x97, 0x3B, 0x35, 0x3E, 0x18, 0x88, 0x4D, 0xDB, 0x6C, + 0xBF, 0x24, 0x89, 0x8D, 0xC8, 0xBD, 0xD8, 0x9F, 0x7B, 0x39, 0x3A, 0x24, 0xA0, 0xD5, 0xDF, 0xD1, + 0xF3, 0x4A, 0x1A, 0x97, 0xF6, 0xA6, 0x6F, 0x7A, 0x1F, 0xB0, 0x90, 0xA9, 0xB3, 0xAC, 0x01, 0x39, + 0x91, 0xD3, 0x61, 0xB7, 0x64, 0xF1, 0x3E, 0x57, 0x38, 0x03, 0xAF, 0xCE, 0x7A, 0xD2, 0xB5, 0x90, + 0xF5, 0xAE, 0xDC, 0x39, 0x99, 0xD5, 0xB6, 0x3C, 0x97, 0xED, 0xA6, 0xCB, 0x16, 0xC7, 0x7D, 0x6B, + 0x2A, 0x4C, 0x90, 0x94, 0xE6, 0x4C, 0x54, 0xFD, 0x1E, 0xCD, 0x20, 0xEC, 0xCE, 0x68, 0x9C, 0x87, + 0x58, 0xE9, 0x61, 0x60, 0xBE, 0xEB, 0x0E, 0xC9, 0xD5, 0x19, 0x7D, 0x9F, 0xE9, 0x78, 0xBD, 0x0E, + 0xAC, 0x21, 0x75, 0x07, 0x8F, 0xA9, 0x6E, 0xE0, 0x8C, 0x6A, 0x2A, 0x6B, 0x9C, 0xE3, 0xE7, 0x65, + 0xBC, 0xBC, 0x2D, 0x3C, 0x6D, 0xDC, 0x04, 0xDC, 0x67, 0x45, 0x36, 0x32, 0xAF, 0x04, 0x81, 0xBC, + 0xA8, 0x00, 0x6E, 0x61, 0x4C, 0x95, 0xC5, 0x5C, 0xD4, 0x8E, 0x8E, 0x9F, 0x2F, 0xC1, 0x32, 0x74, + 0xBD, 0xBD, 0x11, 0x65, 0x03, 0x07, 0xCD, 0xEF, 0xB7, 0x5E, 0x02, 0x57, 0xDA, 0x86, 0xD4, 0x1A, + 0x28, 0x34, 0xAF, 0x88, 0x49, 0xB2, 0xCF, 0xA5, 0xDD, 0x82, 0x56, 0x6F, 0x68, 0xAA, 0x14, 0xE2, + 0x59, 0x54, 0xFE, 0xFF, 0xEA, 0xEE, 0xEF, 0xEA, 0x92, 0x70, 0x22, 0x60, 0x81, 0xE3, 0x25, 0x23, + 0xC0, 0x9F, 0xCC, 0x0F, 0x49, 0xB2, 0x35, 0xAA, 0x58, 0xC3, 0x3A, 0xC3, 0xD9, 0x16, 0x94, 0x10, + 0x30, 0x82, 0x06, 0x6A, 0x30, 0x82, 0x05, 0x52, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x03, + 0x01, 0x9A, 0x02, 0x3A, 0xFF, 0x58, 0xB1, 0x6B, 0xD6, 0xD5, 0xEA, 0xE6, 0x17, 0xF0, 0x66, 0x30, + 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x62, + 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, + 0x13, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0C, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, + 0x20, 0x49, 0x6E, 0x63, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x10, 0x77, + 0x77, 0x77, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, + 0x21, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x18, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, + 0x72, 0x74, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, 0x20, 0x49, 0x44, 0x20, 0x43, 0x41, + 0x2D, 0x31, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x34, 0x31, 0x30, 0x32, 0x32, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x5A, 0x17, 0x0D, 0x32, 0x34, 0x31, 0x30, 0x32, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x5A, 0x30, 0x47, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x11, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x08, 0x44, 0x69, 0x67, 0x69, + 0x43, 0x65, 0x72, 0x74, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1C, 0x44, + 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x73, 0x74, 0x61, 0x6D, + 0x70, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6F, 0x6E, 0x64, 0x65, 0x72, 0x30, 0x82, 0x01, 0x22, 0x30, + 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, + 0x01, 0x0F, 0x00, 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xA3, 0x64, 0x5D, 0xFC, + 0x7C, 0xB3, 0xE0, 0x82, 0x35, 0xE0, 0xE0, 0xF6, 0xC6, 0x2A, 0xE6, 0x49, 0x75, 0x3B, 0xCC, 0x6E, + 0xE0, 0x53, 0xA9, 0x9F, 0x1F, 0x64, 0x59, 0xE6, 0x7C, 0x6B, 0x7F, 0x6B, 0x8C, 0x9D, 0x55, 0xF8, + 0x92, 0xE3, 0x9E, 0xD5, 0x5A, 0x63, 0x5B, 0x02, 0x49, 0x50, 0xD9, 0x83, 0xCE, 0x6F, 0x66, 0xEE, + 0xDD, 0xCB, 0x85, 0xE9, 0x5F, 0xA5, 0xF9, 0xD4, 0x87, 0x74, 0x88, 0x44, 0x3B, 0x19, 0xC9, 0xE5, + 0xF5, 0x91, 0x9F, 0xC6, 0x14, 0x39, 0xAC, 0x24, 0xEA, 0xA8, 0x4B, 0x2C, 0x91, 0x89, 0xCC, 0x5E, + 0x28, 0xF4, 0x64, 0xB6, 0x50, 0xB7, 0xF5, 0x12, 0xB3, 0x73, 0x96, 0x0A, 0x67, 0xA3, 0xBE, 0x61, + 0x9F, 0xAE, 0xF3, 0xFD, 0x12, 0x78, 0x75, 0x0E, 0xA6, 0x5B, 0x14, 0xFD, 0x45, 0x23, 0x8E, 0x86, + 0x44, 0x55, 0x7D, 0x18, 0x86, 0x05, 0x8C, 0x55, 0x87, 0x79, 0x48, 0x46, 0xF7, 0xCA, 0x0E, 0x8D, + 0xA7, 0xDE, 0x4E, 0x5F, 0xE2, 0xA8, 0xB6, 0x2D, 0x59, 0x02, 0x61, 0x88, 0x61, 0x72, 0x18, 0x68, + 0xB9, 0xB8, 0x7C, 0xEE, 0xE6, 0xE7, 0x34, 0x2F, 0x31, 0x77, 0x81, 0x30, 0x1F, 0xBB, 0x36, 0x01, + 0x8D, 0xEF, 0x27, 0xE3, 0xF7, 0x9A, 0xF0, 0x4C, 0x31, 0x64, 0x8D, 0xE3, 0xEB, 0xFA, 0x19, 0x87, + 0xA8, 0x7E, 0xCF, 0xEC, 0x8C, 0x0C, 0x36, 0x5B, 0x7A, 0xC1, 0x7A, 0xB8, 0x78, 0xC7, 0xC9, 0x06, + 0x2E, 0x46, 0x10, 0xC8, 0x8D, 0xE8, 0x04, 0x60, 0xDB, 0xBC, 0x73, 0x74, 0xFA, 0x4E, 0xD8, 0xFE, + 0xAA, 0x40, 0xF1, 0xB2, 0xCE, 0x70, 0x46, 0x83, 0xE9, 0xDA, 0x40, 0xA1, 0x59, 0x3A, 0xD9, 0x15, + 0x09, 0x57, 0x99, 0x56, 0x30, 0x93, 0xF3, 0xC9, 0x61, 0xCC, 0xD0, 0x08, 0xCC, 0x6B, 0xEC, 0x62, + 0x42, 0x91, 0xAC, 0x02, 0xC0, 0xEF, 0xA4, 0xF0, 0x89, 0x11, 0x8F, 0x77, 0x02, 0x03, 0x01, 0x00, + 0x01, 0xA3, 0x82, 0x03, 0x35, 0x30, 0x82, 0x03, 0x31, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, + 0x01, 0x01, 0xFF, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x0C, 0x06, 0x03, 0x55, 0x1D, 0x13, + 0x01, 0x01, 0xFF, 0x04, 0x02, 0x30, 0x00, 0x30, 0x16, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x01, 0x01, + 0xFF, 0x04, 0x0C, 0x30, 0x0A, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x08, 0x30, + 0x82, 0x01, 0xBF, 0x06, 0x03, 0x55, 0x1D, 0x20, 0x04, 0x82, 0x01, 0xB6, 0x30, 0x82, 0x01, 0xB2, + 0x30, 0x82, 0x01, 0xA1, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xFD, 0x6C, 0x07, 0x01, 0x30, + 0x82, 0x01, 0x92, 0x30, 0x28, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, + 0x1C, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x64, 0x69, 0x67, + 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x43, 0x50, 0x53, 0x30, 0x82, 0x01, + 0x64, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x02, 0x30, 0x82, 0x01, 0x56, 0x1E, + 0x82, 0x01, 0x52, 0x00, 0x41, 0x00, 0x6E, 0x00, 0x79, 0x00, 0x20, 0x00, 0x75, 0x00, 0x73, 0x00, + 0x65, 0x00, 0x20, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, + 0x73, 0x00, 0x20, 0x00, 0x43, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x69, 0x00, 0x66, 0x00, + 0x69, 0x00, 0x63, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6F, 0x00, + 0x6E, 0x00, 0x73, 0x00, 0x74, 0x00, 0x69, 0x00, 0x74, 0x00, 0x75, 0x00, 0x74, 0x00, 0x65, 0x00, + 0x73, 0x00, 0x20, 0x00, 0x61, 0x00, 0x63, 0x00, 0x63, 0x00, 0x65, 0x00, 0x70, 0x00, 0x74, 0x00, + 0x61, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x20, 0x00, + 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x44, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, + 0x43, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x20, 0x00, 0x43, 0x00, 0x50, 0x00, 0x2F, 0x00, + 0x43, 0x00, 0x50, 0x00, 0x53, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x20, 0x00, + 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x52, 0x00, 0x65, 0x00, 0x6C, 0x00, 0x79, 0x00, + 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x20, 0x00, 0x50, 0x00, 0x61, 0x00, 0x72, 0x00, 0x74, 0x00, + 0x79, 0x00, 0x20, 0x00, 0x41, 0x00, 0x67, 0x00, 0x72, 0x00, 0x65, 0x00, 0x65, 0x00, 0x6D, 0x00, + 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x20, 0x00, 0x77, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, + 0x68, 0x00, 0x20, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x74, 0x00, 0x20, 0x00, + 0x6C, 0x00, 0x69, 0x00, 0x61, 0x00, 0x62, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x74, 0x00, + 0x79, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x20, 0x00, 0x61, 0x00, 0x72, 0x00, + 0x65, 0x00, 0x20, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x70, 0x00, + 0x6F, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x68, 0x00, + 0x65, 0x00, 0x72, 0x00, 0x65, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, + 0x20, 0x00, 0x72, 0x00, 0x65, 0x00, 0x66, 0x00, 0x65, 0x00, 0x72, 0x00, 0x65, 0x00, 0x6E, 0x00, + 0x63, 0x00, 0x65, 0x00, 0x2E, 0x30, 0x0B, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xFD, 0x6C, + 0x03, 0x15, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x15, + 0x00, 0x12, 0x2B, 0x13, 0x98, 0xB2, 0x99, 0x07, 0xED, 0x1E, 0xDF, 0xA2, 0xBE, 0x57, 0x0D, 0x2B, + 0x67, 0x02, 0xCD, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x61, 0x5A, + 0x4D, 0x24, 0xB6, 0x49, 0x32, 0x9D, 0x4A, 0x2A, 0x79, 0x1A, 0x83, 0x4B, 0xF4, 0x1E, 0x89, 0xC1, + 0xCA, 0x7D, 0x30, 0x7D, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, 0x76, 0x30, 0x74, 0x30, 0x38, 0xA0, + 0x36, 0xA0, 0x34, 0x86, 0x32, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x33, + 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x44, 0x69, + 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x41, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, 0x49, 0x44, 0x43, + 0x41, 0x2D, 0x31, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x38, 0xA0, 0x36, 0xA0, 0x34, 0x86, 0x32, 0x68, + 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x34, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, + 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, + 0x41, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, 0x49, 0x44, 0x43, 0x41, 0x2D, 0x31, 0x2E, 0x63, 0x72, + 0x6C, 0x30, 0x77, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x6B, 0x30, + 0x69, 0x30, 0x24, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, + 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6F, 0x63, 0x73, 0x70, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, + 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x41, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x02, 0x86, 0x35, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x61, 0x63, 0x65, + 0x72, 0x74, 0x73, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, + 0x2F, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x41, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, + 0x49, 0x44, 0x43, 0x41, 0x2D, 0x31, 0x2E, 0x63, 0x72, 0x74, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, + 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x9D, 0x25, + 0x7E, 0x1B, 0x33, 0x4D, 0xB2, 0x26, 0x81, 0x5C, 0x9B, 0x86, 0xCE, 0x23, 0x20, 0x0F, 0x80, 0x87, + 0xE5, 0x88, 0xFF, 0xFF, 0xB1, 0xD4, 0x6A, 0x2C, 0x31, 0xED, 0x3A, 0x17, 0x19, 0x71, 0x17, 0xCD, + 0xA9, 0x1B, 0xBC, 0x5A, 0x16, 0x39, 0x00, 0x9D, 0xE3, 0x6C, 0x84, 0xE4, 0x5A, 0x40, 0xFB, 0xDE, + 0x06, 0x01, 0x8C, 0x37, 0xFA, 0x9B, 0xB1, 0x9D, 0x24, 0x7E, 0xFE, 0x20, 0xA4, 0x57, 0xAD, 0x5B, + 0xB7, 0x9A, 0xB0, 0x60, 0x26, 0xEA, 0x69, 0x57, 0x21, 0x5D, 0x34, 0x2F, 0x1F, 0x71, 0xB0, 0x83, + 0x94, 0x19, 0x05, 0x6B, 0x35, 0x90, 0x10, 0xA0, 0x7B, 0x97, 0xC7, 0xF6, 0x3F, 0xE7, 0xE2, 0x11, + 0x41, 0xA6, 0xBD, 0x62, 0xD9, 0xF0, 0x27, 0x3D, 0x38, 0x1D, 0x28, 0x6F, 0x3A, 0x52, 0x09, 0xF0, + 0xEC, 0x70, 0x62, 0xD3, 0x62, 0x4B, 0xB0, 0xE0, 0x73, 0xA6, 0x92, 0xC0, 0xD3, 0x8E, 0x31, 0xD8, + 0x2F, 0xE3, 0x6D, 0x17, 0x13, 0x06, 0xEE, 0xE4, 0x03, 0xB6, 0x14, 0xAB, 0xF3, 0x8F, 0x43, 0xA7, + 0x71, 0x9D, 0x21, 0xDD, 0x14, 0xCA, 0x15, 0x5D, 0x92, 0x41, 0xDA, 0xF9, 0x0F, 0x81, 0xD1, 0x99, + 0x74, 0x0D, 0x26, 0xC4, 0x0E, 0x7F, 0x1B, 0xB5, 0xF5, 0xA0, 0xF1, 0xC6, 0x77, 0x06, 0x28, 0x15, + 0xE9, 0xD8, 0x93, 0xE5, 0x55, 0x16, 0xF0, 0xBB, 0x0A, 0xAB, 0x1C, 0xDB, 0x5C, 0x48, 0x27, 0x66, + 0xC8, 0xA3, 0x8B, 0x0A, 0x1C, 0xE5, 0x95, 0xDA, 0xAE, 0xC4, 0x2E, 0x59, 0xA0, 0x61, 0xDD, 0xDA, + 0xF3, 0x6D, 0xA2, 0x61, 0xE9, 0x8A, 0x0B, 0x6D, 0xEC, 0x12, 0x18, 0xBD, 0xF7, 0x55, 0x54, 0x40, + 0x03, 0x92, 0x2B, 0x6B, 0xC2, 0x51, 0xC2, 0x0A, 0x48, 0xAF, 0xB0, 0xD4, 0x6E, 0xE0, 0xF4, 0x14, + 0x0A, 0x3A, 0x1B, 0xE3, 0x8F, 0x3D, 0xCA, 0xAF, 0x6A, 0x8D, 0x7B, 0xDC, 0xD8, 0x44, 0x30, 0x82, + 0x06, 0x96, 0x30, 0x82, 0x05, 0x7E, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x03, 0xE9, 0x01, + 0x7D, 0x54, 0xCD, 0x93, 0xF0, 0x94, 0xD0, 0xA2, 0xAB, 0x7F, 0xC0, 0xE3, 0xF5, 0x30, 0x0D, 0x06, + 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x73, 0x31, 0x0B, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, + 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0C, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, + 0x6E, 0x63, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x10, 0x77, 0x77, 0x77, + 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x32, 0x30, + 0x30, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x29, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, + 0x20, 0x48, 0x69, 0x67, 0x68, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6E, 0x63, 0x65, 0x20, + 0x43, 0x6F, 0x64, 0x65, 0x20, 0x53, 0x69, 0x67, 0x6E, 0x69, 0x6E, 0x67, 0x20, 0x43, 0x41, 0x2D, + 0x31, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x33, 0x31, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x5A, 0x17, 0x0D, 0x31, 0x35, 0x31, 0x31, 0x30, 0x34, 0x31, 0x32, 0x30, 0x30, 0x30, 0x30, + 0x5A, 0x30, 0x64, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x41, 0x55, + 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0F, 0x4E, 0x65, 0x77, 0x20, 0x53, + 0x6F, 0x75, 0x74, 0x68, 0x20, 0x57, 0x61, 0x6C, 0x65, 0x73, 0x31, 0x0F, 0x30, 0x0D, 0x06, 0x03, + 0x55, 0x04, 0x07, 0x13, 0x06, 0x53, 0x79, 0x64, 0x6E, 0x65, 0x79, 0x31, 0x14, 0x30, 0x12, 0x06, + 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0B, 0x57, 0x65, 0x6E, 0x20, 0x4A, 0x69, 0x61, 0x20, 0x4C, 0x69, + 0x75, 0x31, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0B, 0x57, 0x65, 0x6E, 0x20, + 0x4A, 0x69, 0x61, 0x20, 0x4C, 0x69, 0x75, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0D, 0x06, 0x09, 0x2A, + 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, 0x30, + 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xD3, 0x1D, 0xC2, 0xE0, 0x3F, 0x42, 0x5C, 0xAD, + 0x9E, 0x41, 0x16, 0x88, 0xEF, 0x79, 0x4A, 0x73, 0x7D, 0x58, 0x94, 0xFB, 0xF5, 0xD6, 0xC5, 0x8B, + 0xB9, 0x81, 0x57, 0x59, 0x82, 0xAF, 0x2C, 0x3E, 0x87, 0xDA, 0xCF, 0x25, 0xC6, 0x34, 0x23, 0x33, + 0x95, 0xF7, 0x10, 0xAE, 0x18, 0xF7, 0xA6, 0xFF, 0x51, 0x42, 0xFF, 0xDA, 0x14, 0xE6, 0x2F, 0x01, + 0xCB, 0x3A, 0xA4, 0xB5, 0x0D, 0xDA, 0xE0, 0x33, 0x09, 0xC6, 0x57, 0xF3, 0x62, 0xE3, 0x57, 0x98, + 0x72, 0xBF, 0x88, 0x05, 0x90, 0x31, 0x3F, 0x45, 0xBE, 0x7F, 0x0A, 0x82, 0x16, 0x1D, 0xB9, 0xC3, + 0xF7, 0x00, 0x40, 0xD4, 0x37, 0x9C, 0xFA, 0x94, 0xAA, 0xDB, 0x22, 0xBC, 0x61, 0xA8, 0x75, 0xB6, + 0xC7, 0x45, 0x49, 0x16, 0xE1, 0xDE, 0xBA, 0x51, 0x50, 0x00, 0xF6, 0x76, 0xA6, 0x43, 0x27, 0xB0, + 0x3C, 0xE4, 0xA2, 0x21, 0x64, 0x38, 0x48, 0xAC, 0x89, 0x83, 0xF5, 0x2B, 0xFD, 0x41, 0xBB, 0x5A, + 0x30, 0xD3, 0xBF, 0x35, 0xCB, 0x89, 0xEB, 0x9C, 0x10, 0xC6, 0x5D, 0xD5, 0xE3, 0x6B, 0x2D, 0xE7, + 0xFD, 0x6C, 0xF9, 0xDA, 0xB3, 0x17, 0xFF, 0xC3, 0x82, 0xDA, 0x24, 0x4E, 0x76, 0x6D, 0xA5, 0x28, + 0x33, 0x52, 0x78, 0x27, 0x40, 0xFB, 0xFB, 0xF8, 0x6D, 0x38, 0x97, 0x03, 0x81, 0x83, 0x52, 0xDC, + 0xEC, 0x87, 0xA2, 0xE0, 0xAB, 0x3F, 0x87, 0xA9, 0x67, 0x5C, 0x5A, 0xDC, 0x21, 0x6A, 0x5B, 0x09, + 0x26, 0x1E, 0x19, 0x1F, 0x09, 0xD3, 0x83, 0x0C, 0x11, 0xA7, 0xCA, 0x7E, 0xBD, 0x71, 0x44, 0xCC, + 0x9B, 0xB9, 0x55, 0x67, 0xEE, 0x29, 0xE2, 0xC2, 0x2C, 0x57, 0x6C, 0xDD, 0xB0, 0x96, 0xB3, 0x06, + 0x59, 0x99, 0x0B, 0x92, 0x03, 0x24, 0xAE, 0xA3, 0x35, 0x27, 0xAA, 0x4B, 0x3A, 0xB8, 0xEA, 0x94, + 0xFD, 0xC9, 0x1A, 0xA9, 0xB7, 0xB6, 0xCC, 0x6B, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x82, 0x03, + 0x33, 0x30, 0x82, 0x03, 0x2F, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0x97, 0x48, 0x03, 0xEB, 0x15, 0x08, 0x6B, 0xB9, 0xB2, 0x58, 0x23, 0xCC, 0x94, 0x2E, + 0xF1, 0xC6, 0x65, 0xD2, 0x64, 0x8E, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, + 0x14, 0xA8, 0xA3, 0x4D, 0x2A, 0x8E, 0xA5, 0x2E, 0x70, 0x45, 0xB6, 0xFA, 0x5B, 0xFA, 0xAD, 0x22, + 0x25, 0xED, 0xBA, 0x8B, 0x6C, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04, + 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x13, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04, 0x0C, 0x30, 0x0A, + 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x30, 0x69, 0x06, 0x03, 0x55, 0x1D, + 0x1F, 0x04, 0x62, 0x30, 0x60, 0x30, 0x2E, 0xA0, 0x2C, 0xA0, 0x2A, 0x86, 0x28, 0x68, 0x74, 0x74, + 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x33, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, + 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x68, 0x61, 0x2D, 0x63, 0x73, 0x2D, 0x32, 0x30, 0x31, 0x31, + 0x61, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x2E, 0xA0, 0x2C, 0xA0, 0x2A, 0x86, 0x28, 0x68, 0x74, 0x74, + 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x34, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, + 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x68, 0x61, 0x2D, 0x63, 0x73, 0x2D, 0x32, 0x30, 0x31, 0x31, + 0x61, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x82, 0x01, 0xC4, 0x06, 0x03, 0x55, 0x1D, 0x20, 0x04, 0x82, + 0x01, 0xBB, 0x30, 0x82, 0x01, 0xB7, 0x30, 0x82, 0x01, 0xB3, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, + 0x86, 0xFD, 0x6C, 0x03, 0x01, 0x30, 0x82, 0x01, 0xA4, 0x30, 0x3A, 0x06, 0x08, 0x2B, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x2E, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, + 0x77, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x73, + 0x73, 0x6C, 0x2D, 0x63, 0x70, 0x73, 0x2D, 0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, + 0x79, 0x2E, 0x68, 0x74, 0x6D, 0x30, 0x82, 0x01, 0x64, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x02, 0x30, 0x82, 0x01, 0x56, 0x1E, 0x82, 0x01, 0x52, 0x00, 0x41, 0x00, 0x6E, 0x00, + 0x79, 0x00, 0x20, 0x00, 0x75, 0x00, 0x73, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6F, 0x00, 0x66, 0x00, + 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x43, 0x00, 0x65, 0x00, + 0x72, 0x00, 0x74, 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, 0x00, 0x63, 0x00, 0x61, 0x00, 0x74, 0x00, + 0x65, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x73, 0x00, 0x74, 0x00, 0x69, 0x00, + 0x74, 0x00, 0x75, 0x00, 0x74, 0x00, 0x65, 0x00, 0x73, 0x00, 0x20, 0x00, 0x61, 0x00, 0x63, 0x00, + 0x63, 0x00, 0x65, 0x00, 0x70, 0x00, 0x74, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x65, 0x00, + 0x20, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, + 0x44, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, 0x43, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, + 0x20, 0x00, 0x43, 0x00, 0x50, 0x00, 0x2F, 0x00, 0x43, 0x00, 0x50, 0x00, 0x53, 0x00, 0x20, 0x00, + 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, + 0x52, 0x00, 0x65, 0x00, 0x6C, 0x00, 0x79, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x20, 0x00, + 0x50, 0x00, 0x61, 0x00, 0x72, 0x00, 0x74, 0x00, 0x79, 0x00, 0x20, 0x00, 0x41, 0x00, 0x67, 0x00, + 0x72, 0x00, 0x65, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x20, 0x00, + 0x77, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x68, 0x00, 0x20, 0x00, 0x6C, 0x00, 0x69, 0x00, + 0x6D, 0x00, 0x69, 0x00, 0x74, 0x00, 0x20, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x61, 0x00, 0x62, 0x00, + 0x69, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x74, 0x00, 0x79, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6E, 0x00, + 0x64, 0x00, 0x20, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x69, 0x00, 0x6E, 0x00, + 0x63, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x70, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, + 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x68, 0x00, 0x65, 0x00, 0x72, 0x00, 0x65, 0x00, 0x69, 0x00, + 0x6E, 0x00, 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, 0x00, 0x72, 0x00, 0x65, 0x00, 0x66, 0x00, + 0x65, 0x00, 0x72, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x65, 0x00, 0x2E, 0x30, 0x81, 0x86, + 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x7A, 0x30, 0x78, 0x30, 0x24, + 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, + 0x3A, 0x2F, 0x2F, 0x6F, 0x63, 0x73, 0x70, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, + 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x50, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, + 0x86, 0x44, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x61, 0x63, 0x65, 0x72, 0x74, 0x73, + 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x44, 0x69, + 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x48, 0x69, 0x67, 0x68, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, + 0x6E, 0x63, 0x65, 0x43, 0x6F, 0x64, 0x65, 0x53, 0x69, 0x67, 0x6E, 0x69, 0x6E, 0x67, 0x43, 0x41, + 0x2D, 0x31, 0x2E, 0x63, 0x72, 0x74, 0x30, 0x0C, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, + 0x04, 0x02, 0x30, 0x00, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, + 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xBB, 0xC0, 0x31, 0xB3, 0xDD, 0x6B, 0x1C, 0x6E, + 0xBE, 0xC7, 0x7B, 0x8D, 0xC1, 0xEC, 0xFA, 0x93, 0x81, 0x49, 0xC6, 0x4E, 0x0C, 0x95, 0x9E, 0x58, + 0x57, 0xDB, 0x5C, 0x28, 0xEF, 0x54, 0x9D, 0xDF, 0x0B, 0xE9, 0x20, 0xCC, 0xB7, 0xEC, 0x51, 0x5A, + 0xAE, 0xB1, 0x80, 0xA2, 0x8D, 0x64, 0xA1, 0xF4, 0x06, 0x5D, 0x38, 0xCB, 0x99, 0x7D, 0xB5, 0x92, + 0x95, 0xF1, 0x23, 0x85, 0x13, 0x92, 0x90, 0x3C, 0x67, 0x3E, 0xD6, 0xD1, 0xDB, 0x93, 0x0E, 0xC1, + 0x61, 0x8A, 0xDD, 0x99, 0x89, 0xF0, 0xF1, 0xFC, 0x8D, 0x06, 0xEC, 0x5A, 0x94, 0x52, 0x42, 0xCD, + 0x74, 0x32, 0xD6, 0x83, 0x8E, 0x33, 0xB4, 0xC3, 0xE4, 0x78, 0x4E, 0x75, 0x4B, 0x64, 0xDC, 0xE0, + 0x78, 0x68, 0x6A, 0xB2, 0xE6, 0x62, 0x68, 0x48, 0xFF, 0x7D, 0xCD, 0x6F, 0xB7, 0xEF, 0xEB, 0xFF, + 0xDF, 0xDA, 0xD1, 0xEE, 0xFC, 0x1E, 0x98, 0xF9, 0xC3, 0x38, 0xFF, 0x25, 0x65, 0xF0, 0x50, 0x39, + 0x17, 0x6B, 0x24, 0x14, 0x8A, 0x84, 0x16, 0x14, 0x63, 0x51, 0x57, 0xDA, 0x5F, 0x61, 0xA1, 0x7B, + 0xBD, 0x6D, 0x47, 0x98, 0x15, 0x71, 0x4E, 0x8D, 0x30, 0x67, 0xF0, 0x32, 0x0D, 0x5E, 0x8B, 0xFA, + 0xA6, 0xE3, 0x57, 0x31, 0x80, 0x49, 0x25, 0xDF, 0x9B, 0x85, 0xBA, 0x32, 0xC0, 0xD9, 0xF4, 0xCC, + 0xD4, 0x84, 0xD6, 0xD1, 0xB2, 0x79, 0xBA, 0xD0, 0xEF, 0x22, 0xB0, 0xDA, 0x37, 0x58, 0x26, 0xEA, + 0x2E, 0x11, 0x9D, 0x5C, 0x84, 0x8D, 0x9A, 0x92, 0x75, 0xB9, 0x3A, 0xBB, 0x08, 0x4C, 0x02, 0xAF, + 0x9F, 0x1B, 0x46, 0xC5, 0x35, 0x76, 0x52, 0xF1, 0x13, 0xF5, 0x56, 0xFD, 0xB9, 0xD1, 0x90, 0x02, + 0x23, 0x34, 0x15, 0x03, 0xF4, 0xE8, 0x9B, 0x98, 0xBA, 0xE1, 0x34, 0xF7, 0xCC, 0x9D, 0x64, 0x09, + 0xFC, 0xF7, 0x2D, 0x2C, 0x74, 0x6C, 0x71, 0x4A, 0x30, 0x82, 0x06, 0xC2, 0x30, 0x82, 0x05, 0xAA, + 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x02, 0xC4, 0xD1, 0xE5, 0x8A, 0x4A, 0x68, 0x0C, 0x56, + 0x8D, 0xA3, 0x04, 0x7E, 0x7E, 0x4D, 0x5F, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, + 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x6C, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, + 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0C, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6E, 0x63, 0x31, 0x19, 0x30, 0x17, + 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x10, 0x77, 0x77, 0x77, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, + 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x2B, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x22, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x48, 0x69, 0x67, 0x68, 0x20, + 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6E, 0x63, 0x65, 0x20, 0x45, 0x56, 0x20, 0x52, 0x6F, 0x6F, + 0x74, 0x20, 0x43, 0x41, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x31, 0x30, 0x32, 0x31, 0x31, 0x31, 0x32, + 0x30, 0x30, 0x30, 0x30, 0x5A, 0x17, 0x0D, 0x32, 0x36, 0x30, 0x32, 0x31, 0x30, 0x31, 0x32, 0x30, + 0x30, 0x30, 0x30, 0x5A, 0x30, 0x73, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, + 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0C, 0x44, 0x69, + 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6E, 0x63, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, + 0x55, 0x04, 0x0B, 0x13, 0x10, 0x77, 0x77, 0x77, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, + 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x32, 0x30, 0x30, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x29, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x48, 0x69, 0x67, 0x68, 0x20, 0x41, 0x73, + 0x73, 0x75, 0x72, 0x61, 0x6E, 0x63, 0x65, 0x20, 0x43, 0x6F, 0x64, 0x65, 0x20, 0x53, 0x69, 0x67, + 0x6E, 0x69, 0x6E, 0x67, 0x20, 0x43, 0x41, 0x2D, 0x31, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0D, 0x06, + 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, + 0x00, 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xC5, 0xF9, 0x23, 0xE6, 0x94, 0x27, + 0xC4, 0x80, 0x14, 0xA4, 0x80, 0x32, 0x5F, 0x40, 0xA3, 0x8D, 0x6F, 0x70, 0xC0, 0xE5, 0x36, 0x71, + 0x71, 0x3A, 0x75, 0xA4, 0xAA, 0x1A, 0x92, 0x94, 0x89, 0x5E, 0xAC, 0x23, 0x71, 0xCB, 0x4E, 0x67, + 0x7D, 0x41, 0x3F, 0xAA, 0xE3, 0x4B, 0xB7, 0x7B, 0xBE, 0x9D, 0xC1, 0xA8, 0x38, 0x8F, 0x69, 0x2F, + 0x3A, 0x24, 0xE9, 0x77, 0x59, 0x12, 0xC7, 0x66, 0x04, 0x43, 0xC2, 0x0D, 0x26, 0x82, 0x89, 0x40, + 0x19, 0xF2, 0x2C, 0xEA, 0xE7, 0x4C, 0xE7, 0x7C, 0x05, 0x1A, 0xB8, 0xFF, 0x88, 0x09, 0x4F, 0x26, + 0x37, 0xEF, 0x3A, 0xA4, 0xFA, 0x22, 0x6C, 0x88, 0xC9, 0x4A, 0x1B, 0x61, 0xF2, 0xAE, 0x10, 0x5E, + 0x6F, 0xBC, 0xD1, 0x79, 0x9B, 0x59, 0x18, 0x60, 0xE5, 0xEE, 0x29, 0xB5, 0x03, 0x2A, 0xA4, 0xCE, + 0xF1, 0x83, 0x19, 0x4F, 0x69, 0x05, 0x73, 0x28, 0x09, 0xFB, 0x22, 0x10, 0x93, 0x22, 0xA0, 0x90, + 0x19, 0x1A, 0x4C, 0x31, 0xF2, 0xD3, 0x2B, 0xD8, 0x84, 0x43, 0xAF, 0x3C, 0x63, 0xFF, 0x98, 0xDB, + 0x20, 0xD2, 0x09, 0x2B, 0x54, 0xC1, 0xEA, 0xFD, 0x6A, 0x83, 0xE7, 0x10, 0xA3, 0x12, 0x71, 0xF5, + 0xD6, 0xD7, 0xE1, 0x12, 0x7A, 0xD5, 0xE0, 0x56, 0x5A, 0xCE, 0xEA, 0x01, 0x5B, 0x68, 0x65, 0x5B, + 0xC1, 0x3F, 0x58, 0x52, 0x33, 0xA9, 0x35, 0x61, 0x4E, 0x22, 0xCB, 0x81, 0xCA, 0x36, 0xA3, 0x12, + 0xCB, 0x06, 0xD6, 0xCF, 0x1B, 0x4D, 0x18, 0x7E, 0xB9, 0x92, 0xB9, 0x12, 0xCF, 0x40, 0x26, 0xD8, + 0x9A, 0x36, 0x85, 0xB3, 0x15, 0xAA, 0x47, 0x93, 0x84, 0x6B, 0x07, 0xBB, 0xBC, 0xD5, 0xB3, 0xDE, + 0x25, 0x00, 0x11, 0x89, 0x00, 0x68, 0xC1, 0x29, 0x3C, 0xEA, 0x3E, 0x2D, 0xEE, 0x50, 0xAB, 0xD7, + 0x1C, 0x30, 0x06, 0x78, 0x3C, 0xA5, 0x10, 0x23, 0x67, 0x91, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, + 0x82, 0x03, 0x57, 0x30, 0x82, 0x03, 0x53, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, + 0xFF, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x13, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04, 0x0C, + 0x30, 0x0A, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x30, 0x82, 0x01, 0xC3, + 0x06, 0x03, 0x55, 0x1D, 0x20, 0x04, 0x82, 0x01, 0xBA, 0x30, 0x82, 0x01, 0xB6, 0x30, 0x82, 0x01, + 0xB2, 0x06, 0x08, 0x60, 0x86, 0x48, 0x01, 0x86, 0xFD, 0x6C, 0x03, 0x30, 0x82, 0x01, 0xA4, 0x30, + 0x3A, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x2E, 0x68, 0x74, 0x74, + 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, + 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x73, 0x73, 0x6C, 0x2D, 0x63, 0x70, 0x73, 0x2D, 0x72, 0x65, 0x70, + 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x2E, 0x68, 0x74, 0x6D, 0x30, 0x82, 0x01, 0x64, 0x06, + 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x02, 0x30, 0x82, 0x01, 0x56, 0x1E, 0x82, 0x01, + 0x52, 0x00, 0x41, 0x00, 0x6E, 0x00, 0x79, 0x00, 0x20, 0x00, 0x75, 0x00, 0x73, 0x00, 0x65, 0x00, + 0x20, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x73, 0x00, + 0x20, 0x00, 0x43, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, 0x00, + 0x63, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x6E, 0x00, + 0x73, 0x00, 0x74, 0x00, 0x69, 0x00, 0x74, 0x00, 0x75, 0x00, 0x74, 0x00, 0x65, 0x00, 0x73, 0x00, + 0x20, 0x00, 0x61, 0x00, 0x63, 0x00, 0x63, 0x00, 0x65, 0x00, 0x70, 0x00, 0x74, 0x00, 0x61, 0x00, + 0x6E, 0x00, 0x63, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, + 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x44, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, 0x43, 0x00, + 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x20, 0x00, 0x43, 0x00, 0x50, 0x00, 0x2F, 0x00, 0x43, 0x00, + 0x50, 0x00, 0x53, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x20, 0x00, 0x74, 0x00, + 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x52, 0x00, 0x65, 0x00, 0x6C, 0x00, 0x79, 0x00, 0x69, 0x00, + 0x6E, 0x00, 0x67, 0x00, 0x20, 0x00, 0x50, 0x00, 0x61, 0x00, 0x72, 0x00, 0x74, 0x00, 0x79, 0x00, + 0x20, 0x00, 0x41, 0x00, 0x67, 0x00, 0x72, 0x00, 0x65, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x65, 0x00, + 0x6E, 0x00, 0x74, 0x00, 0x20, 0x00, 0x77, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x68, 0x00, + 0x20, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x74, 0x00, 0x20, 0x00, 0x6C, 0x00, + 0x69, 0x00, 0x61, 0x00, 0x62, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x74, 0x00, 0x79, 0x00, + 0x20, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x20, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, + 0x20, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x70, 0x00, 0x6F, 0x00, + 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x68, 0x00, 0x65, 0x00, + 0x72, 0x00, 0x65, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, 0x00, + 0x72, 0x00, 0x65, 0x00, 0x66, 0x00, 0x65, 0x00, 0x72, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x63, 0x00, + 0x65, 0x00, 0x2E, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, 0x04, 0x08, 0x30, + 0x06, 0x01, 0x01, 0xFF, 0x02, 0x01, 0x00, 0x30, 0x7F, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x01, 0x01, 0x04, 0x73, 0x30, 0x71, 0x30, 0x24, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6F, 0x63, 0x73, 0x70, + 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x49, 0x06, + 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x3D, 0x68, 0x74, 0x74, 0x70, 0x3A, + 0x2F, 0x2F, 0x63, 0x61, 0x63, 0x65, 0x72, 0x74, 0x73, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, + 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x48, + 0x69, 0x67, 0x68, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6E, 0x63, 0x65, 0x45, 0x56, 0x52, 0x6F, + 0x6F, 0x74, 0x43, 0x41, 0x2E, 0x63, 0x72, 0x74, 0x30, 0x81, 0x8F, 0x06, 0x03, 0x55, 0x1D, 0x1F, + 0x04, 0x81, 0x87, 0x30, 0x81, 0x84, 0x30, 0x40, 0xA0, 0x3E, 0xA0, 0x3C, 0x86, 0x3A, 0x68, 0x74, + 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x33, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, + 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x48, + 0x69, 0x67, 0x68, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6E, 0x63, 0x65, 0x45, 0x56, 0x52, 0x6F, + 0x6F, 0x74, 0x43, 0x41, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x40, 0xA0, 0x3E, 0xA0, 0x3C, 0x86, 0x3A, + 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x34, 0x2E, 0x64, 0x69, 0x67, 0x69, + 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, + 0x74, 0x48, 0x69, 0x67, 0x68, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6E, 0x63, 0x65, 0x45, 0x56, + 0x52, 0x6F, 0x6F, 0x74, 0x43, 0x41, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, + 0x0E, 0x04, 0x16, 0x04, 0x14, 0x97, 0x48, 0x03, 0xEB, 0x15, 0x08, 0x6B, 0xB9, 0xB2, 0x58, 0x23, + 0xCC, 0x94, 0x2E, 0xF1, 0xC6, 0x65, 0xD2, 0x64, 0x8E, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, + 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xB1, 0x3E, 0xC3, 0x69, 0x03, 0xF8, 0xBF, 0x47, 0x01, 0xD4, + 0x98, 0x26, 0x1A, 0x08, 0x02, 0xEF, 0x63, 0x64, 0x2B, 0xC3, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, + 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x49, 0xEB, + 0x7C, 0x60, 0xBE, 0xAE, 0xEF, 0xC9, 0x7C, 0xB3, 0xC5, 0xBA, 0x4B, 0x64, 0xDF, 0x16, 0x69, 0xE2, + 0x86, 0xFA, 0x29, 0xD9, 0xDE, 0x98, 0x85, 0x7D, 0x40, 0x66, 0x26, 0x33, 0x2F, 0x44, 0x55, 0xAA, + 0xAA, 0x90, 0xE9, 0x35, 0x70, 0x0A, 0x34, 0xBE, 0xD3, 0xAE, 0x54, 0x2E, 0x8E, 0x65, 0x00, 0xD6, + 0x7A, 0x32, 0x20, 0x3E, 0x6C, 0x26, 0xB8, 0x98, 0xA9, 0x39, 0xB1, 0xBC, 0x95, 0xC7, 0xAA, 0xE9, + 0xF5, 0xEE, 0x46, 0x66, 0xC6, 0xB3, 0xE8, 0x12, 0xF8, 0xB3, 0x97, 0x9D, 0xFF, 0x74, 0x58, 0x82, + 0x34, 0x99, 0x75, 0x50, 0xAC, 0x44, 0x8F, 0xE8, 0x92, 0xCE, 0x7D, 0x8B, 0x0F, 0x31, 0x96, 0xC7, + 0xDC, 0xD3, 0x11, 0x30, 0x98, 0x74, 0x16, 0xC6, 0xE5, 0x6B, 0x45, 0x76, 0xA3, 0x94, 0x01, 0xCD, + 0x33, 0x00, 0x7A, 0x48, 0xF6, 0x6F, 0x86, 0x31, 0xC9, 0x56, 0x2B, 0x33, 0x22, 0xD5, 0xF8, 0x01, + 0xB6, 0x44, 0xCE, 0x8C, 0xB4, 0xCA, 0x88, 0xD2, 0xE4, 0x16, 0xE3, 0xE7, 0xF6, 0xE2, 0x3E, 0xE1, + 0x09, 0xC0, 0x9D, 0x79, 0x43, 0x43, 0x7F, 0x55, 0x5C, 0x05, 0xAD, 0x93, 0x10, 0xC6, 0x2C, 0x0D, + 0x6B, 0xC0, 0x9E, 0xEA, 0x78, 0xE5, 0xD2, 0x77, 0xD6, 0xB8, 0xDA, 0x9A, 0x98, 0x7F, 0xBA, 0x4C, + 0x92, 0x2B, 0x9D, 0xBD, 0xA4, 0x88, 0xB1, 0xDD, 0xAF, 0xC3, 0x4C, 0xD2, 0x97, 0x9B, 0x03, 0xC6, + 0xAE, 0x5F, 0x1B, 0x44, 0x0F, 0x33, 0x37, 0x15, 0xE3, 0xCB, 0xFF, 0x2F, 0x56, 0xD3, 0x16, 0xA4, + 0x5B, 0x55, 0x67, 0x9D, 0xA2, 0xCA, 0xDB, 0x34, 0x6C, 0x0C, 0x73, 0x4A, 0xB5, 0x7B, 0xA4, 0xB6, + 0xB3, 0xE9, 0x35, 0x02, 0x78, 0x70, 0xEC, 0x00, 0x7A, 0xCB, 0xFC, 0x4B, 0x4F, 0x22, 0x36, 0xBB, + 0x14, 0x84, 0xC9, 0x8F, 0x91, 0xDD, 0x0F, 0x3C, 0x75, 0x8C, 0xCA, 0x0B, 0x88, 0xE7, 0x30, 0x82, + 0x06, 0xCD, 0x30, 0x82, 0x05, 0xB5, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x06, 0xFD, 0xF9, + 0x03, 0x96, 0x03, 0xAD, 0xEA, 0x00, 0x0A, 0xEB, 0x3F, 0x27, 0xBB, 0xBA, 0x1B, 0x30, 0x0D, 0x06, + 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x65, 0x31, 0x0B, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, + 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0C, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, + 0x6E, 0x63, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x10, 0x77, 0x77, 0x77, + 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x24, 0x30, + 0x22, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1B, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, + 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, 0x20, 0x49, 0x44, 0x20, 0x52, 0x6F, 0x6F, 0x74, + 0x20, 0x43, 0x41, 0x30, 0x1E, 0x17, 0x0D, 0x30, 0x36, 0x31, 0x31, 0x31, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x5A, 0x17, 0x0D, 0x32, 0x31, 0x31, 0x31, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x5A, 0x30, 0x62, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0C, 0x44, 0x69, 0x67, + 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6E, 0x63, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, + 0x04, 0x0B, 0x13, 0x10, 0x77, 0x77, 0x77, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, + 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x21, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x18, 0x44, + 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, 0x20, + 0x49, 0x44, 0x20, 0x43, 0x41, 0x2D, 0x31, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0D, 0x06, 0x09, 0x2A, + 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, 0x30, + 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xE8, 0x82, 0x2D, 0x99, 0xF9, 0xCA, 0xC2, 0x42, + 0x95, 0xA5, 0x80, 0x73, 0x40, 0x70, 0xD2, 0x9E, 0x56, 0x54, 0x5C, 0xA9, 0xC4, 0xD2, 0x41, 0x06, + 0x8F, 0xC9, 0x33, 0xFC, 0x4D, 0x45, 0x91, 0x5C, 0x81, 0x9F, 0xED, 0x2C, 0x9C, 0xF8, 0x16, 0x59, + 0xDF, 0x9E, 0xB5, 0x24, 0x15, 0xC2, 0x98, 0xB9, 0xB4, 0x77, 0x49, 0xDC, 0x89, 0xC4, 0x0A, 0xDA, + 0xAF, 0xCB, 0x5E, 0x6B, 0xED, 0xAD, 0xB0, 0x71, 0x31, 0xEB, 0xCF, 0x3A, 0x40, 0x0C, 0x46, 0x4D, + 0x93, 0xEC, 0x8B, 0x7A, 0x36, 0x08, 0x03, 0xAB, 0x0C, 0x34, 0xFE, 0x18, 0x49, 0x82, 0xFE, 0xC7, + 0xC7, 0x31, 0x48, 0x80, 0x7C, 0x1E, 0xA2, 0x0F, 0x92, 0x0E, 0x50, 0xC9, 0xC6, 0x87, 0xEB, 0x36, + 0x3F, 0xD8, 0x30, 0xC3, 0xFF, 0xA6, 0xF7, 0xFB, 0xA2, 0xCD, 0x6F, 0x73, 0x23, 0xFE, 0xAC, 0x56, + 0x05, 0x90, 0xF0, 0x32, 0x21, 0x16, 0x89, 0xC6, 0x70, 0x88, 0xF9, 0x05, 0x97, 0x7D, 0xA3, 0xC7, + 0x43, 0xDD, 0x02, 0xE8, 0x3B, 0x3D, 0xED, 0xB1, 0x41, 0xA3, 0xED, 0x3F, 0xBE, 0xDB, 0x95, 0x48, + 0xC4, 0xEE, 0x1E, 0xB3, 0xF2, 0xBC, 0x0C, 0x2B, 0x99, 0xD0, 0xC6, 0x5D, 0x12, 0x42, 0x81, 0xE1, + 0x83, 0x6E, 0x82, 0x73, 0x3F, 0x26, 0x4B, 0x14, 0x90, 0xAE, 0x59, 0x66, 0x0A, 0xC4, 0x8D, 0xBE, + 0xD2, 0xCE, 0x06, 0xAE, 0xAD, 0x84, 0x6F, 0x48, 0x84, 0x9B, 0x4F, 0x40, 0xB9, 0xF1, 0x4C, 0xF2, + 0xAF, 0x98, 0xFB, 0xF6, 0xCE, 0x40, 0x5D, 0x5C, 0xF6, 0xA8, 0xF1, 0x2F, 0xAF, 0xEC, 0x89, 0x22, + 0xF2, 0x6B, 0x18, 0x65, 0xB1, 0xC1, 0x73, 0xAD, 0xD7, 0xF1, 0xD8, 0xCF, 0x1E, 0x0A, 0x74, 0x5C, + 0x42, 0xB8, 0x68, 0x7E, 0xB7, 0xD5, 0x77, 0x0A, 0x27, 0x56, 0x7C, 0x0F, 0x62, 0xA4, 0x3F, 0x32, + 0x14, 0x60, 0x95, 0xFD, 0x07, 0x04, 0xA2, 0x09, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x82, 0x03, + 0x7A, 0x30, 0x82, 0x03, 0x76, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04, + 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x3B, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04, 0x34, 0x30, 0x32, + 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x03, 0x02, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x06, 0x08, + 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x04, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x03, 0x08, 0x30, 0x82, 0x01, 0xD2, 0x06, 0x03, 0x55, 0x1D, 0x20, 0x04, 0x82, 0x01, 0xC9, 0x30, + 0x82, 0x01, 0xC5, 0x30, 0x82, 0x01, 0xB4, 0x06, 0x0A, 0x60, 0x86, 0x48, 0x01, 0x86, 0xFD, 0x6C, + 0x00, 0x01, 0x04, 0x30, 0x82, 0x01, 0xA4, 0x30, 0x3A, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x01, 0x16, 0x2E, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, + 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x73, 0x73, 0x6C, + 0x2D, 0x63, 0x70, 0x73, 0x2D, 0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x2E, + 0x68, 0x74, 0x6D, 0x30, 0x82, 0x01, 0x64, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, + 0x02, 0x30, 0x82, 0x01, 0x56, 0x1E, 0x82, 0x01, 0x52, 0x00, 0x41, 0x00, 0x6E, 0x00, 0x79, 0x00, + 0x20, 0x00, 0x75, 0x00, 0x73, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x20, 0x00, + 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x43, 0x00, 0x65, 0x00, 0x72, 0x00, + 0x74, 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, 0x00, 0x63, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, + 0x20, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x73, 0x00, 0x74, 0x00, 0x69, 0x00, 0x74, 0x00, + 0x75, 0x00, 0x74, 0x00, 0x65, 0x00, 0x73, 0x00, 0x20, 0x00, 0x61, 0x00, 0x63, 0x00, 0x63, 0x00, + 0x65, 0x00, 0x70, 0x00, 0x74, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x65, 0x00, 0x20, 0x00, + 0x6F, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x44, 0x00, + 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, 0x43, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x20, 0x00, + 0x43, 0x00, 0x50, 0x00, 0x2F, 0x00, 0x43, 0x00, 0x50, 0x00, 0x53, 0x00, 0x20, 0x00, 0x61, 0x00, + 0x6E, 0x00, 0x64, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x52, 0x00, + 0x65, 0x00, 0x6C, 0x00, 0x79, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x20, 0x00, 0x50, 0x00, + 0x61, 0x00, 0x72, 0x00, 0x74, 0x00, 0x79, 0x00, 0x20, 0x00, 0x41, 0x00, 0x67, 0x00, 0x72, 0x00, + 0x65, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x20, 0x00, 0x77, 0x00, + 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x68, 0x00, 0x20, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x6D, 0x00, + 0x69, 0x00, 0x74, 0x00, 0x20, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x61, 0x00, 0x62, 0x00, 0x69, 0x00, + 0x6C, 0x00, 0x69, 0x00, 0x74, 0x00, 0x79, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, + 0x20, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x63, 0x00, + 0x6F, 0x00, 0x72, 0x00, 0x70, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, + 0x64, 0x00, 0x20, 0x00, 0x68, 0x00, 0x65, 0x00, 0x72, 0x00, 0x65, 0x00, 0x69, 0x00, 0x6E, 0x00, + 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, 0x00, 0x72, 0x00, 0x65, 0x00, 0x66, 0x00, 0x65, 0x00, + 0x72, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x65, 0x00, 0x2E, 0x30, 0x0B, 0x06, 0x09, 0x60, + 0x86, 0x48, 0x01, 0x86, 0xFD, 0x6C, 0x03, 0x15, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, + 0x01, 0xFF, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xFF, 0x02, 0x01, 0x00, 0x30, 0x79, 0x06, 0x08, + 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x6D, 0x30, 0x6B, 0x30, 0x24, 0x06, 0x08, + 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, + 0x2F, 0x6F, 0x63, 0x73, 0x70, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, + 0x6F, 0x6D, 0x30, 0x43, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x37, + 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x61, 0x63, 0x65, 0x72, 0x74, 0x73, 0x2E, 0x64, + 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x44, 0x69, 0x67, 0x69, + 0x43, 0x65, 0x72, 0x74, 0x41, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, 0x49, 0x44, 0x52, 0x6F, 0x6F, + 0x74, 0x43, 0x41, 0x2E, 0x63, 0x72, 0x74, 0x30, 0x81, 0x81, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, + 0x7A, 0x30, 0x78, 0x30, 0x3A, 0xA0, 0x38, 0xA0, 0x36, 0x86, 0x34, 0x68, 0x74, 0x74, 0x70, 0x3A, + 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x33, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, + 0x63, 0x6F, 0x6D, 0x2F, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x41, 0x73, 0x73, 0x75, + 0x72, 0x65, 0x64, 0x49, 0x44, 0x52, 0x6F, 0x6F, 0x74, 0x43, 0x41, 0x2E, 0x63, 0x72, 0x6C, 0x30, + 0x3A, 0xA0, 0x38, 0xA0, 0x36, 0x86, 0x34, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, + 0x6C, 0x34, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x41, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, 0x49, + 0x44, 0x52, 0x6F, 0x6F, 0x74, 0x43, 0x41, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x1D, 0x06, 0x03, 0x55, + 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x15, 0x00, 0x12, 0x2B, 0x13, 0x98, 0xB2, 0x99, 0x07, 0xED, + 0x1E, 0xDF, 0xA2, 0xBE, 0x57, 0x0D, 0x2B, 0x67, 0x02, 0xCD, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, + 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x45, 0xEB, 0xA2, 0xAF, 0xF4, 0x92, 0xCB, 0x82, 0x31, + 0x2D, 0x51, 0x8B, 0xA7, 0xA7, 0x21, 0x9D, 0xF3, 0x6D, 0xC8, 0x0F, 0x30, 0x0D, 0x06, 0x09, 0x2A, + 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x46, + 0x50, 0x3E, 0xC9, 0xB7, 0x28, 0x24, 0xA7, 0x38, 0x1D, 0xB6, 0x5B, 0x29, 0xAF, 0x52, 0xCF, 0x52, + 0xE9, 0x31, 0x47, 0xAB, 0x56, 0x5C, 0x7B, 0xD5, 0x0D, 0x0B, 0x41, 0xB3, 0xEF, 0xEC, 0x75, 0x1F, + 0x74, 0x38, 0xF2, 0xB2, 0x5C, 0x61, 0xA2, 0x9C, 0x95, 0xC3, 0x50, 0xE4, 0x82, 0xB9, 0x23, 0xD1, + 0xBA, 0x3A, 0x86, 0x72, 0xAD, 0x38, 0x78, 0xAC, 0x75, 0x5D, 0x17, 0x17, 0x34, 0x72, 0x47, 0x85, + 0x94, 0x56, 0xD1, 0xEB, 0xBB, 0x36, 0x84, 0x77, 0xCC, 0x24, 0xA5, 0xF3, 0x04, 0x19, 0x55, 0xA9, + 0xE7, 0xE3, 0xE7, 0xAB, 0x62, 0xCD, 0xFB, 0x8B, 0x2D, 0x90, 0xC2, 0xC0, 0xD2, 0xB5, 0x94, 0xBD, + 0x5E, 0x4F, 0xB1, 0x05, 0xD2, 0x0E, 0x3D, 0x1A, 0xA9, 0x14, 0x5B, 0xA6, 0x86, 0x31, 0x62, 0xA8, + 0xA8, 0x33, 0xE4, 0x9B, 0x39, 0xA7, 0xC4, 0xF5, 0xCE, 0x1D, 0x78, 0x76, 0x94, 0x25, 0x73, 0xE4, + 0x2A, 0xAB, 0xCF, 0x9C, 0x76, 0x4B, 0xED, 0x5F, 0xC2, 0x4B, 0x16, 0xE4, 0x4B, 0x70, 0x4C, 0x00, + 0x89, 0x1E, 0xFC, 0xC5, 0x79, 0xBC, 0x4C, 0x12, 0x57, 0xFE, 0x5F, 0xE1, 0x1E, 0xBC, 0x02, 0x5D, + 0xA8, 0xFE, 0xFB, 0x07, 0x38, 0x4F, 0x0D, 0xC6, 0x5D, 0x91, 0xB9, 0x0F, 0x67, 0x45, 0xCD, 0xD6, + 0x83, 0xED, 0xE7, 0x92, 0x0D, 0x8D, 0xB1, 0x69, 0x8C, 0x4F, 0xFB, 0x59, 0xE0, 0x23, 0x0F, 0xD2, + 0xAA, 0xAE, 0x00, 0x7C, 0xEE, 0x9C, 0x42, 0x0E, 0xCF, 0x91, 0xD7, 0x27, 0xB7, 0x16, 0xEE, 0x0F, + 0xC3, 0xBD, 0x7C, 0x0A, 0xA0, 0xEE, 0x2C, 0x08, 0x55, 0x85, 0x22, 0xB8, 0xEB, 0x18, 0x1A, 0x4D, + 0xFC, 0x2A, 0x21, 0xAD, 0x49, 0x31, 0x83, 0x47, 0x95, 0x77, 0x71, 0xDC, 0xB1, 0x1B, 0x4B, 0x4B, + 0x1C, 0x10, 0x9C, 0x77, 0x14, 0xC1, 0x9D, 0x4F, 0x2F, 0x5A, 0x95, 0x08, 0x29, 0x10, 0x26, 0x31, + 0x82, 0x04, 0x34, 0x30, 0x82, 0x04, 0x30, 0x02, 0x01, 0x01, 0x30, 0x81, 0x87, 0x30, 0x73, 0x31, + 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, + 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0C, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, + 0x49, 0x6E, 0x63, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x10, 0x77, 0x77, + 0x77, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x32, + 0x30, 0x30, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x29, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, + 0x74, 0x20, 0x48, 0x69, 0x67, 0x68, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6E, 0x63, 0x65, + 0x20, 0x43, 0x6F, 0x64, 0x65, 0x20, 0x53, 0x69, 0x67, 0x6E, 0x69, 0x6E, 0x67, 0x20, 0x43, 0x41, + 0x2D, 0x31, 0x02, 0x10, 0x03, 0xE9, 0x01, 0x7D, 0x54, 0xCD, 0x93, 0xF0, 0x94, 0xD0, 0xA2, 0xAB, + 0x7F, 0xC0, 0xE3, 0xF5, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0xA0, + 0x70, 0x30, 0x10, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x0C, 0x31, + 0x02, 0x30, 0x00, 0x30, 0x19, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x03, + 0x31, 0x0C, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x04, 0x30, 0x1C, + 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x0B, 0x31, 0x0E, 0x30, 0x0C, + 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x15, 0x30, 0x23, 0x06, 0x09, + 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x04, 0x31, 0x16, 0x04, 0x14, 0xE6, 0x7D, 0x64, + 0x4F, 0x60, 0xEB, 0xF0, 0x7E, 0xBC, 0x21, 0x86, 0x75, 0x1F, 0x02, 0x93, 0xA2, 0x42, 0xDB, 0xB7, + 0x73, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, + 0x04, 0x82, 0x01, 0x00, 0x1D, 0x12, 0xFE, 0x8D, 0x1F, 0xEA, 0x97, 0x9C, 0x81, 0x84, 0xCD, 0x4E, + 0xDA, 0x22, 0x1B, 0x0E, 0x01, 0xB3, 0x3B, 0xE3, 0xBC, 0x4D, 0x45, 0x2C, 0xD4, 0xD9, 0x1A, 0xED, + 0x9A, 0x4E, 0xF3, 0x20, 0xEF, 0x46, 0xDB, 0xEA, 0x22, 0x2C, 0x83, 0xA2, 0xEB, 0x30, 0x04, 0x5F, + 0x0F, 0xD0, 0xEE, 0x5D, 0x61, 0x68, 0x18, 0x47, 0xBD, 0x5A, 0x94, 0x7C, 0x8C, 0x26, 0xD7, 0x5F, + 0x34, 0x35, 0x84, 0xD6, 0xEE, 0x46, 0xA4, 0x86, 0xA2, 0xF2, 0xDB, 0x22, 0xC8, 0x80, 0xB6, 0xCA, + 0x0E, 0x3B, 0x0A, 0x16, 0x10, 0x50, 0x43, 0xD9, 0x75, 0x53, 0xCD, 0x76, 0x2F, 0x0B, 0x08, 0x7D, + 0xF8, 0x65, 0x23, 0x7F, 0xBC, 0x7A, 0x9F, 0x4B, 0xBA, 0x67, 0xF2, 0x16, 0x17, 0x75, 0x57, 0x66, + 0x4C, 0x54, 0x51, 0xAC, 0x02, 0x4C, 0x68, 0x96, 0xB7, 0x80, 0xBE, 0xD9, 0x3B, 0x08, 0xE4, 0x8D, + 0x6E, 0x06, 0x3D, 0x4C, 0x6F, 0x38, 0x22, 0xF8, 0xF9, 0xBC, 0xD7, 0xD8, 0x4F, 0xC7, 0x73, 0x3B, + 0xB1, 0x0F, 0x53, 0x75, 0x1A, 0x72, 0xDA, 0xCA, 0x77, 0x78, 0x69, 0x22, 0x45, 0x5A, 0x4E, 0x45, + 0xC3, 0xF5, 0xC5, 0x48, 0x99, 0x27, 0x1B, 0x80, 0x4B, 0x8E, 0x43, 0x27, 0x00, 0xC6, 0x74, 0x72, + 0x79, 0x69, 0x47, 0x8D, 0x40, 0x30, 0x23, 0xBC, 0xE6, 0x08, 0x5D, 0x47, 0x19, 0xFF, 0xFE, 0x85, + 0xDC, 0x3F, 0x81, 0xD2, 0x8B, 0x22, 0x4A, 0x32, 0x4D, 0x30, 0xB8, 0xA5, 0x83, 0xA8, 0xCF, 0xB7, + 0xFA, 0x7F, 0x30, 0xAE, 0xD9, 0x6C, 0x8D, 0x4D, 0x44, 0x40, 0xED, 0x58, 0x30, 0xED, 0x29, 0xF7, + 0xB2, 0x27, 0xA8, 0x38, 0x65, 0x0B, 0x3A, 0xBE, 0x38, 0x40, 0xBE, 0xDD, 0x21, 0x09, 0xE2, 0x1B, + 0x53, 0xE6, 0x44, 0x42, 0x8C, 0x27, 0x3F, 0x67, 0xD0, 0x91, 0xF0, 0x60, 0xD8, 0xF9, 0x2B, 0x2C, + 0x04, 0x79, 0x88, 0xB5, 0xA1, 0x82, 0x02, 0x0F, 0x30, 0x82, 0x02, 0x0B, 0x06, 0x09, 0x2A, 0x86, + 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x06, 0x31, 0x82, 0x01, 0xFC, 0x30, 0x82, 0x01, 0xF8, 0x02, + 0x01, 0x01, 0x30, 0x76, 0x30, 0x62, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, + 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0C, 0x44, 0x69, + 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6E, 0x63, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, + 0x55, 0x04, 0x0B, 0x13, 0x10, 0x77, 0x77, 0x77, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, + 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x21, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x18, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, + 0x20, 0x49, 0x44, 0x20, 0x43, 0x41, 0x2D, 0x31, 0x02, 0x10, 0x03, 0x01, 0x9A, 0x02, 0x3A, 0xFF, + 0x58, 0xB1, 0x6B, 0xD6, 0xD5, 0xEA, 0xE6, 0x17, 0xF0, 0x66, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, + 0x03, 0x02, 0x1A, 0x05, 0x00, 0xA0, 0x5D, 0x30, 0x18, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, + 0x0D, 0x01, 0x09, 0x03, 0x31, 0x0B, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, + 0x01, 0x30, 0x1C, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x05, 0x31, 0x0F, + 0x17, 0x0D, 0x31, 0x35, 0x30, 0x35, 0x33, 0x30, 0x30, 0x38, 0x34, 0x32, 0x31, 0x34, 0x5A, 0x30, + 0x23, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x04, 0x31, 0x16, 0x04, 0x14, + 0x88, 0x9D, 0x5C, 0x13, 0x59, 0xC1, 0x1B, 0xE0, 0x00, 0xD7, 0xB8, 0x63, 0x7B, 0x77, 0x85, 0x9C, + 0x7C, 0xE8, 0x30, 0x6C, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x04, 0x82, 0x01, 0x00, 0x81, 0x7C, 0xB0, 0x53, 0x40, 0xE3, 0xAE, 0x29, 0x4B, + 0xA3, 0x74, 0x67, 0xB0, 0x84, 0xFF, 0x51, 0xCC, 0xB3, 0x76, 0xE3, 0x46, 0xC0, 0x6D, 0xA0, 0x1C, + 0x1A, 0x83, 0x3F, 0xBA, 0x17, 0xD1, 0x38, 0xF0, 0xD6, 0x6F, 0x3D, 0x28, 0xBA, 0x5B, 0x64, 0xC3, + 0x06, 0x44, 0xFB, 0x34, 0x84, 0x49, 0x2E, 0xE0, 0x39, 0xB2, 0xC8, 0x6F, 0xA8, 0x08, 0x62, 0xA6, + 0xC5, 0xEC, 0xCF, 0xF4, 0x26, 0x17, 0xCD, 0x42, 0x67, 0x07, 0x8C, 0x36, 0x10, 0xE4, 0x5B, 0x70, + 0x3F, 0xA3, 0xAD, 0xFA, 0xD1, 0x54, 0x5F, 0x46, 0x03, 0x15, 0xE0, 0x43, 0x38, 0x61, 0xF4, 0x93, + 0x79, 0xD2, 0xB6, 0xC5, 0xF5, 0xC8, 0x41, 0x4D, 0xCE, 0x08, 0x2A, 0x0A, 0xEE, 0x31, 0xC0, 0xE7, + 0x8E, 0x43, 0xCC, 0x48, 0xBF, 0xD0, 0x13, 0xE1, 0x70, 0x66, 0x29, 0xB1, 0x9E, 0x40, 0x88, 0x91, + 0xED, 0xFB, 0x6A, 0xD4, 0x0A, 0xF2, 0xA4, 0xDA, 0x5D, 0x81, 0x1F, 0xB5, 0x7A, 0xA9, 0x39, 0x96, + 0x97, 0x6D, 0x43, 0xDC, 0xBA, 0x8D, 0xD7, 0x6D, 0x67, 0x99, 0x90, 0x8F, 0x8C, 0xFA, 0x62, 0x36, + 0x4C, 0x5F, 0x5F, 0x0D, 0xF8, 0xFE, 0x75, 0x85, 0x1B, 0x2D, 0xF0, 0xA1, 0x36, 0x3E, 0x56, 0xCD, + 0x58, 0x50, 0xC0, 0x20, 0x1D, 0x76, 0xF1, 0x74, 0x34, 0x79, 0x14, 0x8F, 0xBB, 0x7D, 0x52, 0xAE, + 0xC0, 0xEE, 0x4F, 0x38, 0xF5, 0x0A, 0x06, 0x64, 0xFC, 0x76, 0xEE, 0x6B, 0x86, 0x21, 0x0A, 0xFC, + 0xF2, 0x2F, 0xF4, 0xE2, 0x7B, 0xAD, 0x47, 0xD4, 0xF5, 0x29, 0xF6, 0x46, 0x86, 0xBC, 0x77, 0x5D, + 0x00, 0xB3, 0x1F, 0x5E, 0x56, 0x88, 0xA4, 0xE8, 0x80, 0xAF, 0x79, 0xD6, 0xBF, 0x49, 0x86, 0xBC, + 0x24, 0x54, 0x2C, 0xEA, 0x01, 0x3D, 0x3E, 0xFB, 0xF4, 0x0E, 0x8C, 0x64, 0x3E, 0x0D, 0x56, 0xFB, + 0x47, 0xAA, 0xB1, 0xFD, 0x6E, 0xBF, 0x9E, 0x00 +}; + +const size_t KProcessHacker_2_38_x64_size = 40088; +const unsigned char KProcessHacker_2_38_x64[40088] = { + 0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, + 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, + 0x0E, 0x1F, 0xBA, 0x0E, 0x00, 0xB4, 0x09, 0xCD, 0x21, 0xB8, 0x01, 0x4C, 0xCD, 0x21, 0x54, 0x68, + 0x69, 0x73, 0x20, 0x70, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x20, 0x63, 0x61, 0x6E, 0x6E, 0x6F, + 0x74, 0x20, 0x62, 0x65, 0x20, 0x72, 0x75, 0x6E, 0x20, 0x69, 0x6E, 0x20, 0x44, 0x4F, 0x53, 0x20, + 0x6D, 0x6F, 0x64, 0x65, 0x2E, 0x0D, 0x0D, 0x0A, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xB2, 0xC6, 0xAF, 0xE4, 0xF6, 0xA7, 0xC1, 0xB7, 0xF6, 0xA7, 0xC1, 0xB7, 0xF6, 0xA7, 0xC1, 0xB7, + 0xF6, 0xA7, 0xC0, 0xB7, 0xB1, 0xA7, 0xC1, 0xB7, 0xFF, 0xDF, 0x52, 0xB7, 0xF5, 0xA7, 0xC1, 0xB7, + 0xFF, 0xDF, 0x54, 0xB7, 0xF5, 0xA7, 0xC1, 0xB7, 0xFF, 0xDF, 0x42, 0xB7, 0xF3, 0xA7, 0xC1, 0xB7, + 0xFF, 0xDF, 0x48, 0xB7, 0xFF, 0xA7, 0xC1, 0xB7, 0xFF, 0xDF, 0x55, 0xB7, 0xF7, 0xA7, 0xC1, 0xB7, + 0xFF, 0xDF, 0x50, 0xB7, 0xF7, 0xA7, 0xC1, 0xB7, 0x52, 0x69, 0x63, 0x68, 0xF6, 0xA7, 0xC1, 0xB7, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x50, 0x45, 0x00, 0x00, 0x64, 0x86, 0x07, 0x00, 0xE4, 0x77, 0x69, 0x55, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x22, 0x00, 0x0B, 0x02, 0x09, 0x00, 0x00, 0x5E, 0x00, 0x00, + 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0xA0, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x06, 0x00, 0x01, 0x00, 0x06, 0x00, 0x01, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xF2, 0x6F, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x84, 0xA0, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, 0xF8, 0x02, 0x00, 0x00, + 0x00, 0x50, 0x00, 0x00, 0x7C, 0x02, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x98, 0x24, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x32, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, + 0x70, 0x14, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x68, + 0x2E, 0x72, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0xD4, 0x0A, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, + 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x48, 0x2E, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x00, + 0x40, 0x03, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xC8, + 0x2E, 0x70, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x7C, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, + 0x00, 0x04, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x48, 0x50, 0x41, 0x47, 0x45, 0x00, 0x00, 0x00, 0x00, + 0xB2, 0x3C, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x60, + 0x49, 0x4E, 0x49, 0x54, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x09, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, + 0x00, 0x0A, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0xE2, 0x2E, 0x72, 0x73, 0x72, 0x63, 0x00, 0x00, 0x00, + 0xF8, 0x02, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x42, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x74, + 0x24, 0x18, 0x57, 0x48, 0x83, 0xEC, 0x40, 0x48, 0x8B, 0x05, 0xE2, 0x30, 0x00, 0x00, 0x48, 0x33, + 0xC4, 0x48, 0x89, 0x44, 0x24, 0x38, 0x48, 0x8B, 0x82, 0xB8, 0x00, 0x00, 0x00, 0x48, 0x8B, 0xDA, + 0x33, 0xFF, 0x48, 0x8B, 0x70, 0x08, 0xFF, 0x15, 0x0C, 0x20, 0x00, 0x00, 0x44, 0x8D, 0x5F, 0x01, + 0x44, 0x39, 0x1D, 0xE9, 0x32, 0x00, 0x00, 0x75, 0x40, 0x48, 0x8B, 0x56, 0x08, 0x44, 0x8A, 0x43, + 0x40, 0x21, 0x7C, 0x24, 0x2C, 0x21, 0x7C, 0x24, 0x30, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0x48, 0x83, + 0xC2, 0x20, 0x44, 0x89, 0x5C, 0x24, 0x20, 0x44, 0x89, 0x5C, 0x24, 0x24, 0xC7, 0x44, 0x24, 0x28, + 0x14, 0x00, 0x00, 0x00, 0xFF, 0x15, 0xDE, 0x1F, 0x00, 0x00, 0x84, 0xC0, 0x75, 0x0B, 0xBF, 0x61, + 0x00, 0x00, 0xC0, 0xFF, 0x15, 0xBF, 0x1F, 0x00, 0x00, 0x48, 0x83, 0x63, 0x38, 0x00, 0x33, 0xD2, + 0x48, 0x8B, 0xCB, 0x89, 0x7B, 0x30, 0xFF, 0x15, 0xA4, 0x1F, 0x00, 0x00, 0x8B, 0xC7, 0x48, 0x8B, + 0x4C, 0x24, 0x38, 0x48, 0x33, 0xCC, 0xE8, 0xF5, 0x0D, 0x00, 0x00, 0x48, 0x8B, 0x5C, 0x24, 0x50, + 0x48, 0x8B, 0x74, 0x24, 0x60, 0x48, 0x83, 0xC4, 0x40, 0x5F, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x6C, 0x24, 0x10, 0x48, 0x89, + 0x74, 0x24, 0x20, 0x57, 0x41, 0x54, 0x41, 0x55, 0x48, 0x83, 0xEC, 0x20, 0xB8, 0x00, 0x08, 0x00, + 0x00, 0x4C, 0x8B, 0xEA, 0x4C, 0x8B, 0xE1, 0xBD, 0x08, 0x00, 0x00, 0x00, 0x33, 0xFF, 0x89, 0x44, + 0x24, 0x50, 0x8B, 0xD0, 0xB9, 0x01, 0x00, 0x00, 0x00, 0x41, 0xB8, 0x4B, 0x70, 0x68, 0x54, 0xFF, + 0x15, 0xFB, 0x1E, 0x00, 0x00, 0x48, 0x8B, 0xF0, 0x48, 0x3B, 0xC7, 0x0F, 0x84, 0x99, 0x00, 0x00, + 0x00, 0x44, 0x8B, 0x44, 0x24, 0x50, 0x4C, 0x8D, 0x4C, 0x24, 0x50, 0x48, 0x8B, 0xD0, 0xB9, 0x0B, + 0x00, 0x00, 0x00, 0xFF, 0x15, 0xFF, 0x1E, 0x00, 0x00, 0x3B, 0xC7, 0x8B, 0xD8, 0x7D, 0x26, 0xBA, + 0x4B, 0x70, 0x68, 0x54, 0x48, 0x8B, 0xCE, 0xFF, 0x15, 0xCB, 0x1E, 0x00, 0x00, 0x81, 0xFB, 0x04, + 0x00, 0x00, 0xC0, 0x75, 0x0B, 0x83, 0xC5, 0xFF, 0x74, 0x65, 0x8B, 0x44, 0x24, 0x50, 0xEB, 0xA2, + 0x48, 0x8B, 0x74, 0x24, 0x50, 0x3B, 0xDF, 0x7C, 0x56, 0x8B, 0xD7, 0x39, 0x3E, 0x76, 0x2F, 0x4F, + 0x8D, 0x04, 0x2C, 0x48, 0x8D, 0x4E, 0x18, 0x4D, 0x3B, 0xC4, 0x72, 0x10, 0x4C, 0x3B, 0x21, 0x72, + 0x0B, 0x8B, 0x41, 0x08, 0x48, 0x03, 0x01, 0x4C, 0x3B, 0xC0, 0x76, 0x0F, 0xFF, 0xC2, 0x48, 0x81, + 0xC1, 0x28, 0x01, 0x00, 0x00, 0x3B, 0x16, 0x73, 0x05, 0xEB, 0xDC, 0x40, 0xB7, 0x01, 0xBA, 0x4B, + 0x70, 0x68, 0x54, 0x48, 0x8B, 0xCE, 0xFF, 0x15, 0x6C, 0x1E, 0x00, 0x00, 0x40, 0xF6, 0xDF, 0x1B, + 0xC0, 0xF7, 0xD0, 0x25, 0x05, 0x00, 0x00, 0xC0, 0xEB, 0x07, 0xBB, 0x9A, 0x00, 0x00, 0xC0, 0x8B, + 0xC3, 0x48, 0x8B, 0x5C, 0x24, 0x40, 0x48, 0x8B, 0x6C, 0x24, 0x48, 0x48, 0x8B, 0x74, 0x24, 0x58, + 0x48, 0x83, 0xC4, 0x20, 0x41, 0x5D, 0x41, 0x5C, 0x5F, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x74, 0x24, 0x18, 0x48, 0x89, 0x7C, 0x24, 0x20, 0x41, + 0x54, 0x41, 0x55, 0x41, 0x57, 0x48, 0x81, 0xEC, 0x00, 0x01, 0x00, 0x00, 0x48, 0x8B, 0x05, 0x0D, + 0x2F, 0x00, 0x00, 0x48, 0x33, 0xC4, 0x48, 0x89, 0x84, 0x24, 0xF0, 0x00, 0x00, 0x00, 0x4C, 0x8B, + 0xFA, 0x48, 0x89, 0x54, 0x24, 0x40, 0x48, 0x8B, 0x82, 0xB8, 0x00, 0x00, 0x00, 0x4C, 0x8B, 0x68, + 0x20, 0x8B, 0x70, 0x10, 0x8B, 0x78, 0x18, 0x44, 0x8A, 0x62, 0x40, 0x85, 0xF6, 0x74, 0x0F, 0x4D, + 0x85, 0xED, 0x75, 0x0A, 0xBB, 0x06, 0x02, 0x00, 0xC0, 0xE9, 0x32, 0x09, 0x00, 0x00, 0x81, 0xFE, + 0x80, 0x00, 0x00, 0x00, 0x76, 0x0A, 0xBB, 0x06, 0x02, 0x00, 0xC0, 0xE9, 0x20, 0x09, 0x00, 0x00, + 0x45, 0x84, 0xE4, 0x74, 0x31, 0x41, 0xB8, 0x01, 0x00, 0x00, 0x00, 0x48, 0x8B, 0xD6, 0x49, 0x8B, + 0xCD, 0xFF, 0x15, 0x11, 0x1E, 0x00, 0x00, 0x4C, 0x8B, 0xC6, 0x49, 0x8B, 0xD5, 0x48, 0x8D, 0x4C, + 0x24, 0x70, 0xE8, 0xA9, 0x0C, 0x00, 0x00, 0x90, 0xEB, 0x1C, 0x8B, 0xD8, 0x4C, 0x8B, 0x7C, 0x24, + 0x40, 0xE9, 0xEA, 0x08, 0x00, 0x00, 0x4C, 0x8B, 0xC6, 0x49, 0x8B, 0xD5, 0x48, 0x8D, 0x4C, 0x24, + 0x70, 0xE8, 0x8A, 0x0C, 0x00, 0x00, 0xB8, 0x97, 0x21, 0x99, 0x99, 0x3B, 0xF8, 0x0F, 0x87, 0x16, + 0x04, 0x00, 0x00, 0x3B, 0xF8, 0x0F, 0x84, 0xDF, 0x03, 0x00, 0x00, 0xB8, 0xDF, 0x20, 0x99, 0x99, + 0x3B, 0xF8, 0x0F, 0x87, 0x0F, 0x02, 0x00, 0x00, 0x3B, 0xF8, 0x0F, 0x84, 0xE0, 0x01, 0x00, 0x00, + 0x81, 0xFF, 0x03, 0x20, 0x99, 0x99, 0x0F, 0x84, 0xB1, 0x01, 0x00, 0x00, 0x81, 0xFF, 0xCB, 0x20, + 0x99, 0x99, 0x0F, 0x84, 0x76, 0x01, 0x00, 0x00, 0x81, 0xFF, 0xCF, 0x20, 0x99, 0x99, 0x0F, 0x84, + 0x3B, 0x01, 0x00, 0x00, 0x81, 0xFF, 0xD3, 0x20, 0x99, 0x99, 0x0F, 0x84, 0x00, 0x01, 0x00, 0x00, + 0x81, 0xFF, 0xD7, 0x20, 0x99, 0x99, 0x0F, 0x84, 0x80, 0x00, 0x00, 0x00, 0x81, 0xFF, 0xDB, 0x20, + 0x99, 0x99, 0x0F, 0x85, 0xC7, 0x06, 0x00, 0x00, 0x83, 0xFE, 0x08, 0x74, 0x0A, 0xBB, 0x04, 0x00, + 0x00, 0xC0, 0xE9, 0x59, 0x08, 0x00, 0x00, 0x48, 0x83, 0x3D, 0x39, 0x2E, 0x00, 0x00, 0x00, 0x75, + 0x0A, 0xBB, 0xBB, 0x00, 0x00, 0xC0, 0xE9, 0x45, 0x08, 0x00, 0x00, 0x48, 0x83, 0x64, 0x24, 0x28, + 0x00, 0x48, 0x8D, 0x44, 0x24, 0x68, 0x48, 0x89, 0x44, 0x24, 0x20, 0x45, 0x8A, 0xCC, 0x4C, 0x8B, + 0x05, 0x53, 0x1D, 0x00, 0x00, 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0x4C, 0x24, 0x70, 0xFF, + 0x15, 0x93, 0x1D, 0x00, 0x00, 0x8B, 0xD8, 0x85, 0xC0, 0x0F, 0x88, 0x11, 0x08, 0x00, 0x00, 0x48, + 0x8B, 0x4C, 0x24, 0x68, 0xFF, 0x15, 0xEE, 0x2D, 0x00, 0x00, 0x8B, 0xD8, 0x48, 0x8B, 0x4C, 0x24, + 0x68, 0xFF, 0x15, 0x99, 0x1D, 0x00, 0x00, 0xE9, 0xF4, 0x07, 0x00, 0x00, 0x83, 0xFE, 0x08, 0x74, + 0x0A, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0xE9, 0xE5, 0x07, 0x00, 0x00, 0x48, 0x83, 0x3D, 0xE5, 0x2D, + 0x00, 0x00, 0x00, 0x75, 0x0A, 0xBB, 0xBB, 0x00, 0x00, 0xC0, 0xE9, 0xD1, 0x07, 0x00, 0x00, 0x48, + 0x83, 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x60, 0x48, 0x89, 0x44, 0x24, 0x20, 0x45, + 0x8A, 0xCC, 0x4C, 0x8B, 0x05, 0xDF, 0x1C, 0x00, 0x00, 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x48, 0x8B, + 0x4C, 0x24, 0x70, 0xFF, 0x15, 0x1F, 0x1D, 0x00, 0x00, 0x8B, 0xD8, 0x85, 0xC0, 0x0F, 0x88, 0x9D, + 0x07, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, 0x60, 0xFF, 0x15, 0x9A, 0x2D, 0x00, 0x00, 0x8B, 0xD8, + 0x48, 0x8B, 0x4C, 0x24, 0x60, 0xFF, 0x15, 0x25, 0x1D, 0x00, 0x00, 0xE9, 0x80, 0x07, 0x00, 0x00, + 0x83, 0xFE, 0x18, 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0xE9, 0x71, 0x07, 0x00, 0x00, 0x45, + 0x8A, 0xCC, 0x4C, 0x8B, 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, 0x8B, 0x54, 0x24, 0x78, 0x48, 0x8B, + 0x4C, 0x24, 0x70, 0xE8, 0x70, 0x69, 0x00, 0x00, 0x8B, 0xD8, 0xE9, 0x51, 0x07, 0x00, 0x00, 0x83, + 0xFE, 0x18, 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0xE9, 0x42, 0x07, 0x00, 0x00, 0x45, 0x8A, + 0xCC, 0x4C, 0x8B, 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, 0x8B, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, + 0x24, 0x70, 0xE8, 0x45, 0x68, 0x00, 0x00, 0x8B, 0xD8, 0xE9, 0x22, 0x07, 0x00, 0x00, 0x83, 0xFE, + 0x18, 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0xE9, 0x13, 0x07, 0x00, 0x00, 0x45, 0x8A, 0xCC, + 0x4C, 0x8B, 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, 0x8B, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, 0x24, + 0x70, 0xE8, 0xEE, 0x66, 0x00, 0x00, 0x8B, 0xD8, 0xE9, 0xF3, 0x06, 0x00, 0x00, 0x83, 0xFE, 0x08, + 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0xE9, 0xE4, 0x06, 0x00, 0x00, 0x41, 0x8A, 0xD4, 0x48, + 0x8B, 0x4C, 0x24, 0x70, 0xE8, 0x7B, 0x4E, 0x00, 0x00, 0x8B, 0xD8, 0xE9, 0xD0, 0x06, 0x00, 0x00, + 0x83, 0xFE, 0x10, 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0xE9, 0xC1, 0x06, 0x00, 0x00, 0x45, + 0x8A, 0xC4, 0x8B, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, 0x24, 0x70, 0xE8, 0xC8, 0x69, 0x00, 0x00, + 0x8B, 0xD8, 0xE9, 0xA9, 0x06, 0x00, 0x00, 0x81, 0xFF, 0xE3, 0x20, 0x99, 0x99, 0x0F, 0x84, 0x70, + 0x01, 0x00, 0x00, 0x81, 0xFF, 0xE7, 0x20, 0x99, 0x99, 0x0F, 0x84, 0x1D, 0x01, 0x00, 0x00, 0x81, + 0xFF, 0xEB, 0x20, 0x99, 0x99, 0x0F, 0x84, 0xCA, 0x00, 0x00, 0x00, 0x81, 0xFF, 0xEF, 0x20, 0x99, + 0x99, 0x74, 0x7C, 0x81, 0xFF, 0xF3, 0x20, 0x99, 0x99, 0x74, 0x3B, 0x81, 0xFF, 0x93, 0x21, 0x99, + 0x99, 0x0F, 0x85, 0xC8, 0x04, 0x00, 0x00, 0x83, 0xFE, 0x18, 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, + 0xC0, 0xE9, 0x5A, 0x06, 0x00, 0x00, 0x45, 0x8A, 0xCC, 0x4C, 0x8B, 0x84, 0x24, 0x80, 0x00, 0x00, + 0x00, 0x8B, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, 0x24, 0x70, 0xE8, 0x11, 0x71, 0x00, 0x00, 0x8B, + 0xD8, 0xE9, 0x3A, 0x06, 0x00, 0x00, 0x83, 0xFE, 0x20, 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, 0xC0, + 0xE9, 0x2B, 0x06, 0x00, 0x00, 0x44, 0x88, 0x64, 0x24, 0x20, 0x44, 0x8B, 0x8C, 0x24, 0x88, 0x00, + 0x00, 0x00, 0x4C, 0x8B, 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, 0x8B, 0x54, 0x24, 0x78, 0x48, 0x8B, + 0x4C, 0x24, 0x70, 0xE8, 0xC4, 0x6C, 0x00, 0x00, 0x8B, 0xD8, 0xE9, 0x01, 0x06, 0x00, 0x00, 0x83, + 0xFE, 0x28, 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0xE9, 0xF2, 0x05, 0x00, 0x00, 0x44, 0x88, + 0x64, 0x24, 0x28, 0x48, 0x8B, 0x84, 0x24, 0x90, 0x00, 0x00, 0x00, 0x48, 0x89, 0x44, 0x24, 0x20, + 0x44, 0x8B, 0x8C, 0x24, 0x88, 0x00, 0x00, 0x00, 0x4C, 0x8B, 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, + 0x8B, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, 0x24, 0x70, 0xE8, 0xDE, 0x69, 0x00, 0x00, 0x8B, 0xD8, + 0xE9, 0xBB, 0x05, 0x00, 0x00, 0x83, 0xFE, 0x28, 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0xE9, + 0xAC, 0x05, 0x00, 0x00, 0x44, 0x88, 0x64, 0x24, 0x28, 0x48, 0x8B, 0x84, 0x24, 0x90, 0x00, 0x00, + 0x00, 0x48, 0x89, 0x44, 0x24, 0x20, 0x4C, 0x8B, 0x8C, 0x24, 0x88, 0x00, 0x00, 0x00, 0x4C, 0x8B, + 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, 0x24, 0x70, + 0xE8, 0x6B, 0x82, 0x00, 0x00, 0x8B, 0xD8, 0xE9, 0x74, 0x05, 0x00, 0x00, 0x83, 0xFE, 0x28, 0x74, + 0x0A, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0xE9, 0x65, 0x05, 0x00, 0x00, 0x44, 0x88, 0x64, 0x24, 0x28, + 0x48, 0x8B, 0x84, 0x24, 0x90, 0x00, 0x00, 0x00, 0x48, 0x89, 0x44, 0x24, 0x20, 0x4C, 0x8B, 0x8C, + 0x24, 0x88, 0x00, 0x00, 0x00, 0x4C, 0x8B, 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x54, + 0x24, 0x78, 0x48, 0x8B, 0x4C, 0x24, 0x70, 0xE8, 0xC0, 0x80, 0x00, 0x00, 0x8B, 0xD8, 0xE9, 0x2D, + 0x05, 0x00, 0x00, 0x83, 0xFE, 0x28, 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0xE9, 0x1E, 0x05, + 0x00, 0x00, 0x44, 0x88, 0x64, 0x24, 0x28, 0x48, 0x8B, 0x84, 0x24, 0x90, 0x00, 0x00, 0x00, 0x48, + 0x89, 0x44, 0x24, 0x20, 0x4C, 0x8B, 0x8C, 0x24, 0x88, 0x00, 0x00, 0x00, 0x4C, 0x8B, 0x84, 0x24, + 0x80, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, 0x24, 0x70, 0xE8, 0x15, + 0x7F, 0x00, 0x00, 0x8B, 0xD8, 0xE9, 0xE6, 0x04, 0x00, 0x00, 0x83, 0xFE, 0x18, 0x74, 0x0A, 0xBB, + 0x04, 0x00, 0x00, 0xC0, 0xE9, 0xD7, 0x04, 0x00, 0x00, 0x45, 0x8A, 0xCC, 0x4C, 0x8B, 0x84, 0x24, + 0x80, 0x00, 0x00, 0x00, 0x8B, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, 0x24, 0x70, 0xE8, 0x9E, 0x70, + 0x00, 0x00, 0x8B, 0xD8, 0xE9, 0xB7, 0x04, 0x00, 0x00, 0xB8, 0xB3, 0x21, 0x99, 0x99, 0x3B, 0xF8, + 0x0F, 0x87, 0xC9, 0x02, 0x00, 0x00, 0x3B, 0xF8, 0x0F, 0x84, 0x88, 0x02, 0x00, 0x00, 0x81, 0xFF, + 0x9B, 0x21, 0x99, 0x99, 0x0F, 0x84, 0x04, 0x02, 0x00, 0x00, 0x81, 0xFF, 0x9F, 0x21, 0x99, 0x99, + 0x0F, 0x84, 0xD1, 0x01, 0x00, 0x00, 0x81, 0xFF, 0xA3, 0x21, 0x99, 0x99, 0x0F, 0x84, 0x5D, 0x01, + 0x00, 0x00, 0x81, 0xFF, 0xA7, 0x21, 0x99, 0x99, 0x0F, 0x84, 0xE9, 0x00, 0x00, 0x00, 0x81, 0xFF, + 0xAB, 0x21, 0x99, 0x99, 0x74, 0x52, 0x81, 0xFF, 0xAF, 0x21, 0x99, 0x99, 0x0F, 0x85, 0xBD, 0x02, + 0x00, 0x00, 0x83, 0xFE, 0x28, 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0xE9, 0x4F, 0x04, 0x00, + 0x00, 0x44, 0x88, 0x64, 0x24, 0x28, 0x48, 0x8B, 0x84, 0x24, 0x90, 0x00, 0x00, 0x00, 0x48, 0x89, + 0x44, 0x24, 0x20, 0x44, 0x8B, 0x8C, 0x24, 0x88, 0x00, 0x00, 0x00, 0x4C, 0x8B, 0x84, 0x24, 0x80, + 0x00, 0x00, 0x00, 0x8B, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, 0x24, 0x70, 0xE8, 0xDF, 0x75, 0x00, + 0x00, 0x8B, 0xD8, 0xE9, 0x18, 0x04, 0x00, 0x00, 0x83, 0xFE, 0x28, 0x74, 0x0A, 0xBB, 0x04, 0x00, + 0x00, 0xC0, 0xE9, 0x09, 0x04, 0x00, 0x00, 0x48, 0x83, 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, + 0x24, 0x58, 0x48, 0x89, 0x44, 0x24, 0x20, 0x45, 0x8A, 0xCC, 0x4C, 0x8B, 0x05, 0x5F, 0x1A, 0x00, + 0x00, 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0x4C, 0x24, 0x70, 0xFF, 0x15, 0x57, 0x19, 0x00, + 0x00, 0x8B, 0xD8, 0x85, 0xC0, 0x0F, 0x88, 0xD5, 0x03, 0x00, 0x00, 0x44, 0x88, 0x64, 0x24, 0x30, + 0x48, 0x8B, 0x84, 0x24, 0x90, 0x00, 0x00, 0x00, 0x48, 0x89, 0x44, 0x24, 0x28, 0x48, 0x8B, 0x84, + 0x24, 0x88, 0x00, 0x00, 0x00, 0x48, 0x89, 0x44, 0x24, 0x20, 0x4C, 0x8B, 0x8C, 0x24, 0x80, 0x00, + 0x00, 0x00, 0x44, 0x8B, 0x44, 0x24, 0x7C, 0x8B, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, 0x24, 0x58, + 0xE8, 0x37, 0x72, 0x00, 0x00, 0x8B, 0xD8, 0x48, 0x8B, 0x4C, 0x24, 0x58, 0xFF, 0x15, 0x2E, 0x19, + 0x00, 0x00, 0xE9, 0x89, 0x03, 0x00, 0x00, 0x83, 0xFE, 0x10, 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, + 0xC0, 0xE9, 0x7A, 0x03, 0x00, 0x00, 0x48, 0x83, 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, 0x24, + 0x48, 0x48, 0x89, 0x44, 0x24, 0x20, 0x45, 0x8A, 0xCC, 0x4C, 0x8B, 0x05, 0xD0, 0x19, 0x00, 0x00, + 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0x4C, 0x24, 0x70, 0xFF, 0x15, 0xC8, 0x18, 0x00, 0x00, + 0x8B, 0xD8, 0x85, 0xC0, 0x0F, 0x88, 0x46, 0x03, 0x00, 0x00, 0x45, 0x8A, 0xC4, 0x48, 0x8B, 0x54, + 0x24, 0x78, 0x48, 0x8B, 0x4C, 0x24, 0x48, 0xFF, 0x15, 0x83, 0x19, 0x00, 0x00, 0x8B, 0xD8, 0x48, + 0x8B, 0x4C, 0x24, 0x48, 0xFF, 0x15, 0xC6, 0x18, 0x00, 0x00, 0xE9, 0x21, 0x03, 0x00, 0x00, 0x83, + 0xFE, 0x10, 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0xE9, 0x12, 0x03, 0x00, 0x00, 0x48, 0x83, + 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x50, 0x48, 0x89, 0x44, 0x24, 0x20, 0x45, 0x8A, + 0xCC, 0x4C, 0x8B, 0x05, 0x68, 0x19, 0x00, 0x00, 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0x4C, + 0x24, 0x70, 0xFF, 0x15, 0x60, 0x18, 0x00, 0x00, 0x8B, 0xD8, 0x85, 0xC0, 0x0F, 0x88, 0xDE, 0x02, + 0x00, 0x00, 0x45, 0x8A, 0xC4, 0x48, 0x8B, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, 0x24, 0x50, 0xFF, + 0x15, 0x4B, 0x19, 0x00, 0x00, 0x8B, 0xD8, 0x48, 0x8B, 0x4C, 0x24, 0x50, 0xFF, 0x15, 0x5E, 0x18, + 0x00, 0x00, 0xE9, 0xB9, 0x02, 0x00, 0x00, 0x83, 0xFE, 0x10, 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, + 0xC0, 0xE9, 0xAA, 0x02, 0x00, 0x00, 0x45, 0x8A, 0xC4, 0x8B, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, + 0x24, 0x70, 0xE8, 0xF5, 0x6F, 0x00, 0x00, 0x8B, 0xD8, 0xE9, 0x92, 0x02, 0x00, 0x00, 0x83, 0xFE, + 0x10, 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0xE9, 0x83, 0x02, 0x00, 0x00, 0x48, 0x83, 0x64, + 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x40, 0x48, 0x89, 0x44, 0x24, 0x20, 0x45, 0x8A, 0xCC, + 0x4C, 0x8B, 0x05, 0xD9, 0x18, 0x00, 0x00, 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0x4C, 0x24, + 0x70, 0xFF, 0x15, 0xD1, 0x17, 0x00, 0x00, 0x8B, 0xD8, 0x85, 0xC0, 0x0F, 0x88, 0x4F, 0x02, 0x00, + 0x00, 0x65, 0x48, 0x8B, 0x04, 0x25, 0x88, 0x01, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0x48, + 0x3B, 0xC8, 0x74, 0x12, 0x8B, 0x54, 0x24, 0x78, 0xE8, 0x03, 0x6F, 0x00, 0x00, 0x8B, 0xD8, 0x48, + 0x8B, 0x4C, 0x24, 0x40, 0xEB, 0x05, 0xBB, 0xDB, 0x00, 0x00, 0xC0, 0xFF, 0x15, 0xBF, 0x17, 0x00, + 0x00, 0xE9, 0x1A, 0x02, 0x00, 0x00, 0x83, 0xFE, 0x20, 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, 0xC0, + 0xE9, 0x0B, 0x02, 0x00, 0x00, 0x44, 0x88, 0x64, 0x24, 0x20, 0x44, 0x8B, 0x8C, 0x24, 0x88, 0x00, + 0x00, 0x00, 0x4C, 0x8B, 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, 0x8B, 0x54, 0x24, 0x78, 0x48, 0x8B, + 0x4C, 0x24, 0x70, 0xE8, 0xAC, 0x75, 0x00, 0x00, 0x8B, 0xD8, 0xE9, 0xE1, 0x01, 0x00, 0x00, 0x81, + 0xFF, 0x5B, 0x22, 0x99, 0x99, 0x0F, 0x84, 0xA3, 0x01, 0x00, 0x00, 0x81, 0xFF, 0x5F, 0x22, 0x99, + 0x99, 0x0F, 0x84, 0x4B, 0x01, 0x00, 0x00, 0x81, 0xFF, 0x63, 0x22, 0x99, 0x99, 0x0F, 0x84, 0xFD, + 0x00, 0x00, 0x00, 0x81, 0xFF, 0x67, 0x22, 0x99, 0x99, 0x0F, 0x84, 0x96, 0x00, 0x00, 0x00, 0x81, + 0xFF, 0x23, 0x23, 0x99, 0x99, 0x74, 0x58, 0x81, 0xFF, 0x27, 0x23, 0x99, 0x99, 0x74, 0x0A, 0xBB, + 0x10, 0x00, 0x00, 0xC0, 0xE9, 0x97, 0x01, 0x00, 0x00, 0x83, 0xFE, 0x28, 0x74, 0x0A, 0xBB, 0x04, + 0x00, 0x00, 0xC0, 0xE9, 0x88, 0x01, 0x00, 0x00, 0x44, 0x88, 0x64, 0x24, 0x28, 0x48, 0x8B, 0x84, + 0x24, 0x90, 0x00, 0x00, 0x00, 0x48, 0x89, 0x44, 0x24, 0x20, 0x44, 0x8B, 0x8C, 0x24, 0x88, 0x00, + 0x00, 0x00, 0x4C, 0x8B, 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, 0x8B, 0x54, 0x24, 0x78, 0x48, 0x8B, + 0x4C, 0x24, 0x70, 0xE8, 0xE0, 0x69, 0x00, 0x00, 0x8B, 0xD8, 0xE9, 0x51, 0x01, 0x00, 0x00, 0x83, + 0xFE, 0x10, 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0xE9, 0x42, 0x01, 0x00, 0x00, 0x44, 0x88, + 0x64, 0x24, 0x20, 0x4C, 0x8B, 0x0D, 0x9E, 0x16, 0x00, 0x00, 0x4D, 0x8B, 0x09, 0x4C, 0x8B, 0x44, + 0x24, 0x78, 0x33, 0xD2, 0x48, 0x8B, 0x4C, 0x24, 0x70, 0xE8, 0x92, 0x5F, 0x00, 0x00, 0x8B, 0xD8, + 0xE9, 0x1B, 0x01, 0x00, 0x00, 0x83, 0xFE, 0x30, 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0xE9, + 0x0C, 0x01, 0x00, 0x00, 0x44, 0x88, 0x64, 0x24, 0x38, 0x8B, 0x84, 0x24, 0x98, 0x00, 0x00, 0x00, + 0x89, 0x44, 0x24, 0x30, 0x8B, 0x84, 0x24, 0x94, 0x00, 0x00, 0x00, 0x89, 0x44, 0x24, 0x28, 0x8B, + 0x84, 0x24, 0x90, 0x00, 0x00, 0x00, 0x89, 0x44, 0x24, 0x20, 0x4C, 0x8B, 0x8C, 0x24, 0x88, 0x00, + 0x00, 0x00, 0x4C, 0x8B, 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x54, 0x24, 0x78, 0x48, + 0x8B, 0x4C, 0x24, 0x70, 0xE8, 0xCB, 0x5D, 0x00, 0x00, 0x8B, 0xD8, 0xE9, 0xC0, 0x00, 0x00, 0x00, + 0x83, 0xFE, 0x28, 0x74, 0x0A, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0xE9, 0xB1, 0x00, 0x00, 0x00, 0x44, + 0x88, 0x64, 0x24, 0x28, 0x8B, 0x84, 0x24, 0x90, 0x00, 0x00, 0x00, 0x89, 0x44, 0x24, 0x20, 0x4C, + 0x8B, 0x8C, 0x24, 0x88, 0x00, 0x00, 0x00, 0x44, 0x8B, 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, 0x48, + 0x8B, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, 0x24, 0x70, 0xE8, 0x5A, 0x5A, 0x00, 0x00, 0x8B, 0xD8, + 0xEB, 0x7E, 0x83, 0xFE, 0x30, 0x74, 0x07, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0xEB, 0x72, 0x44, 0x88, + 0x64, 0x24, 0x30, 0x48, 0x8B, 0x84, 0x24, 0x98, 0x00, 0x00, 0x00, 0x48, 0x89, 0x44, 0x24, 0x28, + 0x8B, 0x84, 0x24, 0x90, 0x00, 0x00, 0x00, 0x89, 0x44, 0x24, 0x20, 0x4C, 0x8B, 0x8C, 0x24, 0x88, + 0x00, 0x00, 0x00, 0x44, 0x8B, 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x54, 0x24, 0x78, + 0x48, 0x8B, 0x4C, 0x24, 0x70, 0xE8, 0xEE, 0x50, 0x00, 0x00, 0x8B, 0xD8, 0xEB, 0x32, 0x83, 0xFE, + 0x20, 0x74, 0x07, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0xEB, 0x26, 0x44, 0x88, 0x64, 0x24, 0x20, 0x4C, + 0x8B, 0x8C, 0x24, 0x88, 0x00, 0x00, 0x00, 0x44, 0x8B, 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, 0x48, + 0x8B, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, 0x24, 0x70, 0xE8, 0xBE, 0x4D, 0x00, 0x00, 0x8B, 0xD8, + 0x41, 0x89, 0x5F, 0x30, 0x49, 0x83, 0x67, 0x38, 0x00, 0x33, 0xD2, 0x49, 0x8B, 0xCF, 0xFF, 0x15, + 0xCC, 0x14, 0x00, 0x00, 0x8B, 0xC3, 0x48, 0x8B, 0x8C, 0x24, 0xF0, 0x00, 0x00, 0x00, 0x48, 0x33, + 0xCC, 0xE8, 0x1A, 0x03, 0x00, 0x00, 0x4C, 0x8D, 0x9C, 0x24, 0x00, 0x01, 0x00, 0x00, 0x49, 0x8B, + 0x5B, 0x20, 0x49, 0x8B, 0x73, 0x30, 0x49, 0x8B, 0x7B, 0x38, 0x49, 0x8B, 0xE3, 0x41, 0x5F, 0x41, + 0x5D, 0x41, 0x5C, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x8B, 0xC4, 0x48, + 0x89, 0x58, 0x08, 0x48, 0x89, 0x68, 0x10, 0x48, 0x89, 0x70, 0x18, 0x48, 0x89, 0x78, 0x20, 0x41, + 0x54, 0x48, 0x83, 0xEC, 0x20, 0x33, 0xFF, 0x48, 0x8B, 0xD9, 0x40, 0x38, 0x39, 0x75, 0x04, 0x33, + 0xC0, 0xEB, 0x5E, 0x40, 0x38, 0x79, 0x01, 0x75, 0x54, 0x8B, 0x51, 0x20, 0x4C, 0x8B, 0x61, 0x08, + 0x8B, 0x69, 0x10, 0x48, 0x8B, 0x49, 0x18, 0x48, 0x8D, 0x34, 0x11, 0xE8, 0xD4, 0xF4, 0xFF, 0xFF, + 0x3B, 0xC7, 0x7C, 0x31, 0x48, 0x8B, 0x7B, 0x18, 0xEB, 0x17, 0x4C, 0x8B, 0xC5, 0x49, 0x8B, 0xD4, + 0x48, 0x8B, 0xCF, 0xFF, 0x15, 0x6F, 0x14, 0x00, 0x00, 0x48, 0x3B, 0xC5, 0x74, 0x0A, 0x48, 0xFF, + 0xC7, 0x48, 0x3B, 0xFE, 0x72, 0xE4, 0xEB, 0x11, 0x48, 0x63, 0x43, 0x24, 0x48, 0x03, 0xC7, 0x48, + 0x89, 0x43, 0x28, 0xEB, 0x04, 0x48, 0x89, 0x7B, 0x28, 0xC6, 0x43, 0x01, 0x01, 0x48, 0x8B, 0x43, + 0x28, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x48, 0x8B, 0x6C, 0x24, 0x38, 0x48, 0x8B, 0x74, 0x24, 0x40, + 0x48, 0x8B, 0x7C, 0x24, 0x48, 0x48, 0x83, 0xC4, 0x20, 0x41, 0x5C, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x58, 0x08, 0x48, 0x89, 0x70, 0x10, 0x48, + 0x89, 0x78, 0x18, 0x4C, 0x89, 0x60, 0x20, 0x41, 0x55, 0x48, 0x83, 0xEC, 0x40, 0x48, 0x8B, 0xFA, + 0x48, 0x8B, 0xD9, 0xBA, 0x10, 0x00, 0x00, 0x00, 0x44, 0x8D, 0x42, 0xF4, 0xFF, 0x15, 0xE6, 0x13, + 0x00, 0x00, 0x0F, 0xB7, 0x33, 0x66, 0x89, 0x74, 0x24, 0x28, 0x66, 0x89, 0x74, 0x24, 0x2A, 0x45, + 0x33, 0xED, 0x4C, 0x89, 0x6C, 0x24, 0x30, 0x4C, 0x8B, 0x63, 0x08, 0x4C, 0x89, 0x64, 0x24, 0x20, + 0x48, 0x8B, 0xDE, 0x45, 0x8D, 0x45, 0x02, 0x48, 0x8B, 0xD6, 0x49, 0x8B, 0xCC, 0xFF, 0x15, 0xB5, + 0x13, 0x00, 0x00, 0x90, 0xB9, 0x01, 0x00, 0x00, 0x00, 0x84, 0x4C, 0x24, 0x28, 0x74, 0x07, 0xB8, + 0x0D, 0x00, 0x00, 0xC0, 0xEB, 0x5A, 0x66, 0x41, 0x3B, 0xF5, 0x74, 0x46, 0x41, 0xB8, 0x4B, 0x70, + 0x68, 0x55, 0x48, 0x8B, 0xD3, 0xFF, 0x15, 0x25, 0x13, 0x00, 0x00, 0x48, 0x89, 0x44, 0x24, 0x30, + 0x49, 0x3B, 0xC5, 0x75, 0x07, 0xB8, 0x9A, 0x00, 0x00, 0xC0, 0xEB, 0x34, 0x4C, 0x8B, 0xC3, 0x49, + 0x8B, 0xD4, 0x48, 0x8B, 0xC8, 0xE8, 0x16, 0x02, 0x00, 0x00, 0xEB, 0x16, 0x8B, 0xD8, 0xBA, 0x4B, + 0x70, 0x68, 0x55, 0x48, 0x8B, 0x4C, 0x24, 0x30, 0xFF, 0x15, 0xFA, 0x12, 0x00, 0x00, 0x8B, 0xC3, + 0xEB, 0x0E, 0xF3, 0x0F, 0x6F, 0x44, 0x24, 0x28, 0xF3, 0x0F, 0x7F, 0x07, 0x33, 0xC0, 0xEB, 0x00, + 0x48, 0x8B, 0x5C, 0x24, 0x50, 0x48, 0x8B, 0x74, 0x24, 0x58, 0x48, 0x8B, 0x7C, 0x24, 0x60, 0x4C, + 0x8B, 0x64, 0x24, 0x68, 0x48, 0x83, 0xC4, 0x40, 0x41, 0x5D, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x40, 0x53, 0x48, 0x83, 0xEC, 0x20, 0x48, 0x8B, 0x05, 0xEF, 0x23, 0x00, + 0x00, 0x33, 0xDB, 0x48, 0x3B, 0xC3, 0x74, 0x12, 0x48, 0x39, 0x1D, 0x11, 0x24, 0x00, 0x00, 0x74, + 0x09, 0xFF, 0xD0, 0x3B, 0xC3, 0x0F, 0x9D, 0xC0, 0xEB, 0x18, 0x8B, 0x05, 0xA8, 0x23, 0x00, 0x00, + 0x83, 0xF8, 0xFF, 0x75, 0x04, 0x32, 0xC0, 0xEB, 0x09, 0x48, 0x03, 0xC8, 0xFF, 0x15, 0xA6, 0x13, + 0x00, 0x00, 0x48, 0x83, 0xC4, 0x20, 0x5B, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x48, 0x83, 0xEC, 0x28, 0x48, 0x8B, 0x05, 0xD5, 0x23, 0x00, 0x00, 0x48, 0x85, 0xC0, 0x74, 0x04, + 0xFF, 0xD0, 0xEB, 0x14, 0x8B, 0x05, 0x6E, 0x23, 0x00, 0x00, 0x83, 0xF8, 0xFF, 0x74, 0x09, 0x48, + 0x03, 0xC8, 0xFF, 0x15, 0x98, 0x13, 0x00, 0x00, 0x48, 0x83, 0xC4, 0x28, 0xC3, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x74, 0x24, 0x10, 0x57, 0x48, + 0x81, 0xEC, 0x20, 0x02, 0x00, 0x00, 0x8D, 0x59, 0x01, 0x8B, 0xFA, 0x49, 0x8B, 0xF1, 0x03, 0xD3, + 0x83, 0xFA, 0x40, 0x76, 0x04, 0x33, 0xC0, 0xEB, 0x57, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0x45, 0x33, + 0xC0, 0xFF, 0x15, 0x91, 0x13, 0x00, 0x00, 0x44, 0x8B, 0xD8, 0x3B, 0xC3, 0x76, 0xE7, 0x33, 0xD2, + 0x45, 0x33, 0xC0, 0x48, 0x63, 0xC3, 0x85, 0xFF, 0x74, 0x24, 0x48, 0x8D, 0x4C, 0xC4, 0x20, 0x8D, + 0x04, 0x1A, 0x41, 0x3B, 0xC3, 0x73, 0x17, 0x48, 0x8B, 0x01, 0xFF, 0xC2, 0x48, 0x83, 0xC1, 0x08, + 0x48, 0x89, 0x06, 0x48, 0x83, 0xC6, 0x08, 0x44, 0x03, 0xC0, 0x3B, 0xD7, 0x72, 0xE1, 0x48, 0x8B, + 0x8C, 0x24, 0x50, 0x02, 0x00, 0x00, 0x48, 0x85, 0xC9, 0x74, 0x03, 0x44, 0x89, 0x01, 0x8B, 0xC2, + 0x4C, 0x8D, 0x9C, 0x24, 0x20, 0x02, 0x00, 0x00, 0x49, 0x8B, 0x5B, 0x10, 0x49, 0x8B, 0x73, 0x18, + 0x49, 0x8B, 0xE3, 0x5F, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xC6, 0x02, 0x00, 0x48, + 0x8B, 0x09, 0xB8, 0x01, 0x00, 0x00, 0x00, 0x81, 0x39, 0x05, 0x00, 0x00, 0xC0, 0x74, 0x10, 0x81, + 0x39, 0x01, 0x00, 0x00, 0x80, 0x74, 0x08, 0x81, 0x39, 0x06, 0x00, 0x00, 0xC0, 0x75, 0x0E, 0x39, + 0x41, 0x18, 0x76, 0x09, 0x88, 0x02, 0x48, 0x8B, 0x49, 0x28, 0x49, 0x89, 0x08, 0xC3, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x48, 0x3B, 0x0D, 0x59, 0x22, 0x00, 0x00, 0x75, 0x12, 0x48, 0xC1, 0xC1, 0x10, 0x66, 0xF7, 0xC1, + 0xFF, 0xFF, 0x75, 0x03, 0xC2, 0x00, 0x00, 0x48, 0xC1, 0xC9, 0x10, 0xE9, 0x08, 0x00, 0x00, 0x00, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x83, 0xEC, 0x38, 0x4C, 0x8B, 0x0D, 0x35, + 0x22, 0x00, 0x00, 0x4C, 0x8B, 0x05, 0x26, 0x22, 0x00, 0x00, 0x48, 0x83, 0x64, 0x24, 0x20, 0x00, + 0x48, 0x8B, 0xD1, 0xB9, 0xF7, 0x00, 0x00, 0x00, 0xFF, 0x15, 0x3A, 0x13, 0x00, 0x00, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xFF, 0x25, 0x34, 0x13, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4C, 0x8B, 0xD9, 0x48, 0x2B, 0xD1, 0x0F, 0x82, 0x9E, 0x01, 0x00, 0x00, 0x49, 0x83, 0xF8, 0x08, + 0x72, 0x62, 0xF6, 0xC1, 0x07, 0x74, 0x37, 0xF6, 0xC1, 0x01, 0x74, 0x0C, 0x8A, 0x04, 0x0A, 0x49, + 0xFF, 0xC8, 0x88, 0x01, 0x48, 0x83, 0xC1, 0x01, 0xF6, 0xC1, 0x02, 0x74, 0x0F, 0x66, 0x8B, 0x04, + 0x0A, 0x49, 0x83, 0xE8, 0x02, 0x66, 0x89, 0x01, 0x48, 0x83, 0xC1, 0x02, 0xF6, 0xC1, 0x04, 0x74, + 0x0D, 0x8B, 0x04, 0x0A, 0x49, 0x83, 0xE8, 0x04, 0x89, 0x01, 0x48, 0x83, 0xC1, 0x04, 0x4D, 0x8B, + 0xC8, 0x49, 0xC1, 0xE9, 0x05, 0x75, 0x50, 0x4D, 0x8B, 0xC8, 0x49, 0xC1, 0xE9, 0x03, 0x74, 0x14, + 0x48, 0x8B, 0x04, 0x0A, 0x48, 0x89, 0x01, 0x48, 0x83, 0xC1, 0x08, 0x49, 0xFF, 0xC9, 0x75, 0xF0, + 0x49, 0x83, 0xE0, 0x07, 0x4D, 0x85, 0xC0, 0x75, 0x07, 0x49, 0x8B, 0xC3, 0xC3, 0x0F, 0x1F, 0x00, + 0x8A, 0x04, 0x0A, 0x88, 0x01, 0x48, 0xFF, 0xC1, 0x49, 0xFF, 0xC8, 0x75, 0xF3, 0x49, 0x8B, 0xC3, + 0xC3, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x90, 0x49, 0x81, 0xF9, 0x00, 0x20, 0x00, 0x00, 0x73, 0x42, + 0x48, 0x8B, 0x04, 0x0A, 0x4C, 0x8B, 0x54, 0x0A, 0x08, 0x48, 0x83, 0xC1, 0x20, 0x48, 0x89, 0x41, + 0xE0, 0x4C, 0x89, 0x51, 0xE8, 0x48, 0x8B, 0x44, 0x0A, 0xF0, 0x4C, 0x8B, 0x54, 0x0A, 0xF8, 0x49, + 0xFF, 0xC9, 0x48, 0x89, 0x41, 0xF0, 0x4C, 0x89, 0x51, 0xF8, 0x75, 0xD4, 0x49, 0x83, 0xE0, 0x1F, + 0xE9, 0x72, 0xFF, 0xFF, 0xFF, 0x66, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x66, 0x90, 0x48, 0x81, 0xFA, 0x00, 0x10, 0x00, 0x00, 0x72, 0xB5, 0xB8, 0x20, 0x00, 0x00, 0x00, + 0x0F, 0x18, 0x04, 0x0A, 0x0F, 0x18, 0x44, 0x0A, 0x40, 0x48, 0x81, 0xC1, 0x80, 0x00, 0x00, 0x00, + 0xFF, 0xC8, 0x75, 0xEC, 0x48, 0x81, 0xE9, 0x00, 0x10, 0x00, 0x00, 0xB8, 0x40, 0x00, 0x00, 0x00, + 0x4C, 0x8B, 0x0C, 0x0A, 0x4C, 0x8B, 0x54, 0x0A, 0x08, 0x4C, 0x0F, 0xC3, 0x09, 0x4C, 0x0F, 0xC3, + 0x51, 0x08, 0x4C, 0x8B, 0x4C, 0x0A, 0x10, 0x4C, 0x8B, 0x54, 0x0A, 0x18, 0x4C, 0x0F, 0xC3, 0x49, + 0x10, 0x4C, 0x0F, 0xC3, 0x51, 0x18, 0x4C, 0x8B, 0x4C, 0x0A, 0x20, 0x4C, 0x8B, 0x54, 0x0A, 0x28, + 0x48, 0x83, 0xC1, 0x40, 0x4C, 0x0F, 0xC3, 0x49, 0xE0, 0x4C, 0x0F, 0xC3, 0x51, 0xE8, 0x4C, 0x8B, + 0x4C, 0x0A, 0xF0, 0x4C, 0x8B, 0x54, 0x0A, 0xF8, 0xFF, 0xC8, 0x4C, 0x0F, 0xC3, 0x49, 0xF0, 0x4C, + 0x0F, 0xC3, 0x51, 0xF8, 0x75, 0xAA, 0x49, 0x81, 0xE8, 0x00, 0x10, 0x00, 0x00, 0x49, 0x81, 0xF8, + 0x00, 0x10, 0x00, 0x00, 0x0F, 0x83, 0x71, 0xFF, 0xFF, 0xFF, 0xF0, 0x80, 0x0C, 0x24, 0x00, 0xE9, + 0xBA, 0xFE, 0xFF, 0xFF, 0x66, 0x66, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x66, 0x90, 0x66, 0x90, 0x49, 0x03, 0xC8, 0x49, 0x83, 0xF8, + 0x08, 0x72, 0x61, 0xF6, 0xC1, 0x07, 0x74, 0x36, 0xF6, 0xC1, 0x01, 0x74, 0x0B, 0x48, 0xFF, 0xC9, + 0x8A, 0x04, 0x0A, 0x49, 0xFF, 0xC8, 0x88, 0x01, 0xF6, 0xC1, 0x02, 0x74, 0x0F, 0x48, 0x83, 0xE9, + 0x02, 0x66, 0x8B, 0x04, 0x0A, 0x49, 0x83, 0xE8, 0x02, 0x66, 0x89, 0x01, 0xF6, 0xC1, 0x04, 0x74, + 0x0D, 0x48, 0x83, 0xE9, 0x04, 0x8B, 0x04, 0x0A, 0x49, 0x83, 0xE8, 0x04, 0x89, 0x01, 0x4D, 0x8B, + 0xC8, 0x49, 0xC1, 0xE9, 0x05, 0x75, 0x50, 0x4D, 0x8B, 0xC8, 0x49, 0xC1, 0xE9, 0x03, 0x74, 0x14, + 0x48, 0x83, 0xE9, 0x08, 0x48, 0x8B, 0x04, 0x0A, 0x49, 0xFF, 0xC9, 0x48, 0x89, 0x01, 0x75, 0xF0, + 0x49, 0x83, 0xE0, 0x07, 0x4D, 0x85, 0xC0, 0x75, 0x07, 0x49, 0x8B, 0xC3, 0xC3, 0x0F, 0x1F, 0x00, + 0x48, 0xFF, 0xC9, 0x8A, 0x04, 0x0A, 0x49, 0xFF, 0xC8, 0x88, 0x01, 0x75, 0xF3, 0x49, 0x8B, 0xC3, + 0xC3, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x90, 0x49, 0x81, 0xF9, 0x00, 0x20, 0x00, 0x00, 0x73, 0x42, + 0x48, 0x8B, 0x44, 0x0A, 0xF8, 0x4C, 0x8B, 0x54, 0x0A, 0xF0, 0x48, 0x83, 0xE9, 0x20, 0x48, 0x89, + 0x41, 0x18, 0x4C, 0x89, 0x51, 0x10, 0x48, 0x8B, 0x44, 0x0A, 0x08, 0x4C, 0x8B, 0x14, 0x0A, 0x49, + 0xFF, 0xC9, 0x48, 0x89, 0x41, 0x08, 0x4C, 0x89, 0x11, 0x75, 0xD5, 0x49, 0x83, 0xE0, 0x1F, 0xE9, + 0x73, 0xFF, 0xFF, 0xFF, 0x66, 0x66, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x66, 0x90, 0x48, 0x81, 0xFA, 0x00, 0xF0, 0xFF, 0xFF, 0x77, 0xB5, 0xB8, 0x20, 0x00, 0x00, 0x00, + 0x48, 0x81, 0xE9, 0x80, 0x00, 0x00, 0x00, 0x0F, 0x18, 0x04, 0x0A, 0x0F, 0x18, 0x44, 0x0A, 0x40, + 0xFF, 0xC8, 0x75, 0xEC, 0x48, 0x81, 0xC1, 0x00, 0x10, 0x00, 0x00, 0xB8, 0x40, 0x00, 0x00, 0x00, + 0x4C, 0x8B, 0x4C, 0x0A, 0xF8, 0x4C, 0x8B, 0x54, 0x0A, 0xF0, 0x4C, 0x0F, 0xC3, 0x49, 0xF8, 0x4C, + 0x0F, 0xC3, 0x51, 0xF0, 0x4C, 0x8B, 0x4C, 0x0A, 0xE8, 0x4C, 0x8B, 0x54, 0x0A, 0xE0, 0x4C, 0x0F, + 0xC3, 0x49, 0xE8, 0x4C, 0x0F, 0xC3, 0x51, 0xE0, 0x4C, 0x8B, 0x4C, 0x0A, 0xD8, 0x4C, 0x8B, 0x54, + 0x0A, 0xD0, 0x48, 0x83, 0xE9, 0x40, 0x4C, 0x0F, 0xC3, 0x49, 0x18, 0x4C, 0x0F, 0xC3, 0x51, 0x10, + 0x4C, 0x8B, 0x4C, 0x0A, 0x08, 0x4C, 0x8B, 0x14, 0x0A, 0xFF, 0xC8, 0x4C, 0x0F, 0xC3, 0x49, 0x08, + 0x4C, 0x0F, 0xC3, 0x11, 0x75, 0xAA, 0x49, 0x81, 0xE8, 0x00, 0x10, 0x00, 0x00, 0x49, 0x81, 0xF8, + 0x00, 0x10, 0x00, 0x00, 0x0F, 0x83, 0x71, 0xFF, 0xFF, 0xFF, 0xF0, 0x80, 0x0C, 0x24, 0x00, 0xE9, + 0xBA, 0xFE, 0xFF, 0xFF, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x40, 0x53, 0x48, 0x83, + 0xEC, 0x20, 0x45, 0x8B, 0x18, 0x48, 0x8B, 0xDA, 0x4C, 0x8B, 0xC9, 0x41, 0x83, 0xE3, 0xF8, 0x41, + 0xF6, 0x00, 0x04, 0x4C, 0x8B, 0xD1, 0x74, 0x13, 0x41, 0x8B, 0x40, 0x08, 0x4D, 0x63, 0x50, 0x04, + 0xF7, 0xD8, 0x4C, 0x03, 0xD1, 0x48, 0x63, 0xC8, 0x4C, 0x23, 0xD1, 0x49, 0x63, 0xC3, 0x4A, 0x8B, + 0x14, 0x10, 0x48, 0x8B, 0x43, 0x10, 0x8B, 0x48, 0x08, 0x48, 0x03, 0x4B, 0x08, 0xF6, 0x41, 0x03, + 0x0F, 0x74, 0x0C, 0x0F, 0xB6, 0x41, 0x03, 0x83, 0xE0, 0xF0, 0x48, 0x98, 0x4C, 0x03, 0xC8, 0x4C, + 0x33, 0xCA, 0x49, 0x8B, 0xC9, 0x48, 0x83, 0xC4, 0x20, 0x5B, 0xE9, 0xF1, 0xFB, 0xFF, 0xFF, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x83, 0xEC, 0x28, 0x4D, 0x8B, 0x41, 0x38, + 0x48, 0x8B, 0xCA, 0x49, 0x8B, 0xD1, 0xE8, 0x81, 0xFF, 0xFF, 0xFF, 0xB8, 0x01, 0x00, 0x00, 0x00, + 0x48, 0x83, 0xC4, 0x28, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x8B, 0xC4, 0x48, + 0x89, 0x58, 0x08, 0x48, 0x89, 0x68, 0x10, 0x48, 0x89, 0x70, 0x18, 0x48, 0x89, 0x78, 0x20, 0x41, + 0x54, 0x48, 0x83, 0xEC, 0x20, 0x4D, 0x8B, 0x51, 0x38, 0x48, 0x8B, 0xF2, 0x4D, 0x8B, 0xE0, 0x41, + 0x8B, 0x02, 0x48, 0x8B, 0xE9, 0x49, 0x8B, 0xD1, 0x48, 0x03, 0xC0, 0x48, 0x8B, 0xCE, 0x49, 0x8B, + 0xF9, 0x49, 0x8D, 0x5C, 0xC2, 0x04, 0x4C, 0x8B, 0xC3, 0xE8, 0x2E, 0xFF, 0xFF, 0xFF, 0x44, 0x8B, + 0x1B, 0x44, 0x8B, 0x55, 0x04, 0x41, 0x8B, 0xC3, 0x41, 0x83, 0xE3, 0x02, 0xBA, 0x01, 0x00, 0x00, + 0x00, 0x23, 0xC2, 0x41, 0x80, 0xE2, 0x66, 0x44, 0x0F, 0x44, 0xD8, 0x45, 0x85, 0xDB, 0x74, 0x13, + 0x4C, 0x8B, 0xCF, 0x4D, 0x8B, 0xC4, 0x48, 0x8B, 0xD6, 0x48, 0x8B, 0xCD, 0xE8, 0xA5, 0xFB, 0xFF, + 0xFF, 0x8B, 0xD0, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x48, 0x8B, 0x6C, 0x24, 0x38, 0x48, 0x8B, 0x74, + 0x24, 0x40, 0x48, 0x8B, 0x7C, 0x24, 0x48, 0x8B, 0xC2, 0x48, 0x83, 0xC4, 0x20, 0x41, 0x5C, 0xC3, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x48, 0x8B, 0xC1, 0x49, 0x83, 0xF8, 0x08, 0x72, 0x53, 0x0F, 0xB6, 0xD2, 0x49, 0xB9, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x49, 0x0F, 0xAF, 0xD1, 0x49, 0x83, 0xF8, 0x40, 0x72, 0x1E, + 0x48, 0xF7, 0xD9, 0x83, 0xE1, 0x07, 0x74, 0x06, 0x4C, 0x2B, 0xC1, 0x48, 0x89, 0x10, 0x48, 0x03, + 0xC8, 0x4D, 0x8B, 0xC8, 0x49, 0x83, 0xE0, 0x3F, 0x49, 0xC1, 0xE9, 0x06, 0x75, 0x39, 0x4D, 0x8B, + 0xC8, 0x49, 0x83, 0xE0, 0x07, 0x49, 0xC1, 0xE9, 0x03, 0x74, 0x11, 0x66, 0x66, 0x66, 0x90, 0x90, + 0x48, 0x89, 0x11, 0x48, 0x83, 0xC1, 0x08, 0x49, 0xFF, 0xC9, 0x75, 0xF4, 0x4D, 0x85, 0xC0, 0x74, + 0x0A, 0x88, 0x11, 0x48, 0xFF, 0xC1, 0x49, 0xFF, 0xC8, 0x75, 0xF6, 0xC2, 0x00, 0x00, 0x66, 0x90, + 0x66, 0x66, 0x66, 0x90, 0x66, 0x66, 0x90, 0x49, 0x81, 0xF9, 0x00, 0x1C, 0x00, 0x00, 0x73, 0x30, + 0x48, 0x89, 0x11, 0x48, 0x89, 0x51, 0x08, 0x48, 0x89, 0x51, 0x10, 0x48, 0x83, 0xC1, 0x40, 0x48, + 0x89, 0x51, 0xD8, 0x48, 0x89, 0x51, 0xE0, 0x49, 0xFF, 0xC9, 0x48, 0x89, 0x51, 0xE8, 0x48, 0x89, + 0x51, 0xF0, 0x48, 0x89, 0x51, 0xF8, 0x75, 0xD8, 0xEB, 0x94, 0x66, 0x0F, 0x1F, 0x44, 0x00, 0x00, + 0x48, 0x0F, 0xC3, 0x11, 0x48, 0x0F, 0xC3, 0x51, 0x08, 0x48, 0x0F, 0xC3, 0x51, 0x10, 0x48, 0x83, + 0xC1, 0x40, 0x48, 0x0F, 0xC3, 0x51, 0xD8, 0x48, 0x0F, 0xC3, 0x51, 0xE0, 0x49, 0xFF, 0xC9, 0x48, + 0x0F, 0xC3, 0x51, 0xE8, 0x48, 0x0F, 0xC3, 0x51, 0xF0, 0x48, 0x0F, 0xC3, 0x51, 0xF8, 0x75, 0xD0, + 0xF0, 0x80, 0x0C, 0x24, 0x00, 0xE9, 0x54, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xF0, 0xA2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1C, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x46, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x72, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x8E, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xBC, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xE2, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x22, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4E, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x74, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xA6, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBA, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xCE, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE2, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xF8, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2A, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x54, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x88, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xBE, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xF2, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x28, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xB8, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xE8, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1A, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x42, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x62, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x8A, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xBA, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xEC, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1A, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4C, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x72, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xAA, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xD0, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE4, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0xA9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xE4, 0x77, 0x69, 0x55, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x5F, 0x00, 0x00, 0x00, 0x5C, 0x32, 0x00, 0x00, 0x5C, 0x1C, 0x00, 0x00, 0x52, 0x53, 0x44, 0x53, + 0xFC, 0xB1, 0x4A, 0x5E, 0x71, 0xBC, 0xA5, 0x41, 0xAB, 0xC3, 0x9A, 0x92, 0xAF, 0x34, 0x99, 0xBC, + 0x05, 0x00, 0x00, 0x00, 0x64, 0x3A, 0x5C, 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x73, 0x5C, + 0x70, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x68, 0x61, 0x63, 0x6B, 0x65, 0x72, 0x32, 0x5C, 0x6B, + 0x70, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x68, 0x61, 0x63, 0x6B, 0x65, 0x72, 0x5C, 0x62, 0x69, + 0x6E, 0x5C, 0x61, 0x6D, 0x64, 0x36, 0x34, 0x5C, 0x6B, 0x70, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, + 0x68, 0x61, 0x63, 0x6B, 0x65, 0x72, 0x2E, 0x70, 0x64, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x04, 0x01, 0x00, 0x04, 0x42, 0x00, 0x00, 0x01, 0x04, 0x01, 0x00, 0x04, 0x62, 0x00, 0x00, + 0x09, 0x19, 0x0A, 0x00, 0x19, 0xC4, 0x11, 0x00, 0x19, 0x74, 0x10, 0x00, 0x19, 0x64, 0x0F, 0x00, + 0x19, 0x34, 0x0E, 0x00, 0x19, 0xB2, 0x15, 0xD0, 0xF6, 0x1E, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x55, 0x8F, 0x00, 0x00, 0x69, 0x8F, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x69, 0x8F, 0x00, 0x00, + 0xBD, 0x8F, 0x00, 0x00, 0xCA, 0x8F, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xCA, 0x8F, 0x00, 0x00, + 0x57, 0x90, 0x00, 0x00, 0x62, 0x90, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x62, 0x90, 0x00, 0x00, + 0x09, 0x1D, 0x0C, 0x00, 0x1D, 0xC4, 0x13, 0x00, 0x1D, 0x74, 0x12, 0x00, 0x1D, 0x64, 0x11, 0x00, + 0x1D, 0x34, 0x10, 0x00, 0x1D, 0xB2, 0x19, 0xF0, 0x17, 0xE0, 0x15, 0xD0, 0xF6, 0x1E, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x56, 0x8D, 0x00, 0x00, 0x88, 0x8D, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x88, 0x8D, 0x00, 0x00, 0x62, 0x8E, 0x00, 0x00, 0x6B, 0x8E, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x6B, 0x8E, 0x00, 0x00, 0xAF, 0x8E, 0x00, 0x00, 0xB4, 0x8E, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xB4, 0x8E, 0x00, 0x00, 0xEF, 0x8E, 0x00, 0x00, 0xF3, 0x8E, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xF3, 0x8E, 0x00, 0x00, 0x09, 0x15, 0x08, 0x00, 0x15, 0x74, 0x0E, 0x00, 0x15, 0x64, 0x0D, 0x00, + 0x15, 0x34, 0x0C, 0x00, 0x15, 0x92, 0x11, 0xC0, 0xF6, 0x1E, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x66, 0x87, 0x00, 0x00, 0x79, 0x87, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x79, 0x87, 0x00, 0x00, + 0xFA, 0x87, 0x00, 0x00, 0x04, 0x88, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x88, 0x00, 0x00, + 0x09, 0x15, 0x08, 0x00, 0x15, 0x74, 0x10, 0x00, 0x15, 0x64, 0x0F, 0x00, 0x15, 0x34, 0x0E, 0x00, + 0x15, 0xB2, 0x11, 0xC0, 0xF6, 0x1E, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x56, 0x86, 0x00, 0x00, + 0x80, 0x86, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x82, 0x86, 0x00, 0x00, 0x09, 0x87, 0x00, 0x00, + 0x13, 0x87, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x87, 0x00, 0x00, 0x09, 0x1D, 0x0C, 0x00, + 0x1D, 0xC4, 0x0F, 0x00, 0x1D, 0x74, 0x0E, 0x00, 0x1D, 0x64, 0x0D, 0x00, 0x1D, 0x34, 0x0C, 0x00, + 0x1D, 0x72, 0x19, 0xF0, 0x17, 0xE0, 0x15, 0xD0, 0xF6, 0x1E, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x20, 0x84, 0x00, 0x00, 0x50, 0x84, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x84, 0x00, 0x00, + 0x8F, 0x84, 0x00, 0x00, 0xB7, 0x85, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB7, 0x85, 0x00, 0x00, + 0x09, 0x1C, 0x0A, 0x00, 0x1C, 0xC4, 0x15, 0x00, 0x1C, 0x74, 0x14, 0x00, 0x1C, 0x64, 0x13, 0x00, + 0x1C, 0x34, 0x12, 0x00, 0x1C, 0xF2, 0x15, 0xD0, 0xF6, 0x1E, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x4E, 0x82, 0x00, 0x00, 0x62, 0x82, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x62, 0x82, 0x00, 0x00, + 0xB6, 0x82, 0x00, 0x00, 0xC3, 0x82, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC3, 0x82, 0x00, 0x00, + 0x43, 0x83, 0x00, 0x00, 0x50, 0x83, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x83, 0x00, 0x00, + 0x09, 0x1C, 0x0B, 0x00, 0x1C, 0x74, 0x18, 0x00, 0x1C, 0x64, 0x17, 0x00, 0x1C, 0x34, 0x16, 0x00, + 0x1C, 0x01, 0x12, 0x00, 0x15, 0xE0, 0x13, 0xD0, 0x11, 0xC0, 0x00, 0x00, 0xF6, 0x1E, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0xC5, 0x7F, 0x00, 0x00, 0xEF, 0x7F, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xEF, 0x7F, 0x00, 0x00, 0xD5, 0x80, 0x00, 0x00, 0xDE, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xDE, 0x80, 0x00, 0x00, 0x53, 0x81, 0x00, 0x00, 0x5C, 0x81, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x5C, 0x81, 0x00, 0x00, 0xA8, 0x81, 0x00, 0x00, 0xAD, 0x81, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xAD, 0x81, 0x00, 0x00, 0xE5, 0x81, 0x00, 0x00, 0xEB, 0x81, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xEB, 0x81, 0x00, 0x00, 0x09, 0x15, 0x08, 0x00, 0x15, 0x74, 0x0E, 0x00, 0x15, 0x64, 0x0D, 0x00, + 0x15, 0x34, 0x0C, 0x00, 0x15, 0x92, 0x11, 0xC0, 0xF6, 0x1E, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0xA3, 0x7D, 0x00, 0x00, 0xB6, 0x7D, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB6, 0x7D, 0x00, 0x00, + 0x43, 0x7E, 0x00, 0x00, 0x4D, 0x7E, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x7E, 0x00, 0x00, + 0x09, 0x15, 0x08, 0x00, 0x15, 0x74, 0x0E, 0x00, 0x15, 0x64, 0x0D, 0x00, 0x15, 0x34, 0x0C, 0x00, + 0x15, 0x92, 0x11, 0xC0, 0xF6, 0x1E, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xA1, 0x7C, 0x00, 0x00, + 0xB4, 0x7C, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB4, 0x7C, 0x00, 0x00, 0x41, 0x7D, 0x00, 0x00, + 0x4B, 0x7D, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4B, 0x7D, 0x00, 0x00, 0x09, 0x15, 0x08, 0x00, + 0x15, 0x74, 0x12, 0x00, 0x15, 0x64, 0x11, 0x00, 0x15, 0x34, 0x10, 0x00, 0x15, 0xD2, 0x11, 0xC0, + 0xF6, 0x1E, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7A, 0x7B, 0x00, 0x00, 0xA4, 0x7B, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xA6, 0x7B, 0x00, 0x00, 0x47, 0x7C, 0x00, 0x00, 0x51, 0x7C, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x51, 0x7C, 0x00, 0x00, 0x01, 0x19, 0x0A, 0x00, 0x19, 0x54, 0x18, 0x00, + 0x19, 0x34, 0x16, 0x00, 0x19, 0xF2, 0x12, 0xF0, 0x10, 0xE0, 0x0E, 0xD0, 0x0C, 0x70, 0x0B, 0x60, + 0x09, 0x1D, 0x0A, 0x00, 0x1D, 0x74, 0x15, 0x00, 0x1D, 0x64, 0x14, 0x00, 0x1D, 0x34, 0x12, 0x00, + 0x1D, 0xD2, 0x19, 0xE0, 0x17, 0xD0, 0x15, 0xC0, 0xF6, 0x1E, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x7D, 0x75, 0x00, 0x00, 0x92, 0x75, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x92, 0x75, 0x00, 0x00, + 0x16, 0x76, 0x00, 0x00, 0x25, 0x76, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x25, 0x76, 0x00, 0x00, + 0x01, 0x1C, 0x0C, 0x00, 0x1C, 0x64, 0x0D, 0x00, 0x1C, 0x54, 0x0B, 0x00, 0x1C, 0x34, 0x0A, 0x00, + 0x1C, 0x32, 0x18, 0xF0, 0x16, 0xE0, 0x14, 0xD0, 0x12, 0xC0, 0x10, 0x70, 0x01, 0x0A, 0x04, 0x00, + 0x0A, 0x34, 0x0B, 0x00, 0x0A, 0x72, 0x06, 0x70, 0x09, 0x06, 0x02, 0x00, 0x06, 0x32, 0x02, 0x30, + 0xF6, 0x1E, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x63, 0x00, 0x00, 0x29, 0x63, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x2B, 0x63, 0x00, 0x00, 0x19, 0x15, 0x02, 0x00, 0x06, 0x92, 0x02, 0x30, + 0xB8, 0x22, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x01, 0x06, 0x02, 0x00, 0x06, 0x52, 0x02, 0x50, + 0x19, 0x23, 0x08, 0x00, 0x11, 0x01, 0x73, 0x00, 0x0A, 0xF0, 0x08, 0xE0, 0x06, 0xD0, 0x04, 0x70, + 0x03, 0x60, 0x02, 0x30, 0xDC, 0x22, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC3, 0x92, 0x00, 0x00, + 0x3F, 0x94, 0x00, 0x00, 0x96, 0x9C, 0x00, 0x00, 0x8C, 0x94, 0x00, 0x00, 0x81, 0x03, 0x00, 0x00, + 0x01, 0x12, 0x07, 0x00, 0x12, 0x64, 0x47, 0x00, 0x12, 0x34, 0x46, 0x00, 0x12, 0x01, 0x44, 0x00, + 0x0B, 0x70, 0x00, 0x00, 0x09, 0x19, 0x0A, 0x00, 0x19, 0xC4, 0x11, 0x00, 0x19, 0x74, 0x10, 0x00, + 0x19, 0x64, 0x0F, 0x00, 0x19, 0x34, 0x0E, 0x00, 0x19, 0xB2, 0x15, 0xD0, 0xF6, 0x1E, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0xA0, 0x78, 0x00, 0x00, 0xB9, 0x78, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xB9, 0x78, 0x00, 0x00, 0x79, 0x79, 0x00, 0x00, 0x83, 0x79, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x83, 0x79, 0x00, 0x00, 0x09, 0x0F, 0x04, 0x00, 0x0F, 0x34, 0x0A, 0x00, 0x0F, 0x72, 0x0B, 0x70, + 0xF6, 0x1E, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x74, 0x68, 0x00, 0x00, 0x86, 0x68, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x86, 0x68, 0x00, 0x00, 0x09, 0x19, 0x0A, 0x00, 0x19, 0xC4, 0x0D, 0x00, + 0x19, 0x74, 0x0C, 0x00, 0x19, 0x64, 0x0B, 0x00, 0x19, 0x34, 0x0A, 0x00, 0x19, 0x72, 0x15, 0xD0, + 0xF6, 0x1E, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x73, 0x1C, 0x00, 0x00, 0xB4, 0x1C, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x20, 0x1D, 0x00, 0x00, 0xEC, 0x1C, 0x00, 0x00, 0xFC, 0x1C, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xFC, 0x1C, 0x00, 0x00, 0x01, 0x18, 0x0A, 0x00, 0x18, 0x64, 0x0B, 0x00, + 0x18, 0x54, 0x09, 0x00, 0x18, 0x34, 0x08, 0x00, 0x18, 0x32, 0x14, 0xD0, 0x12, 0xC0, 0x10, 0x70, + 0x01, 0x0D, 0x05, 0x00, 0x0D, 0x34, 0x15, 0x00, 0x0D, 0x01, 0x12, 0x00, 0x06, 0x70, 0x00, 0x00, + 0x19, 0x1E, 0x06, 0x00, 0x0F, 0x64, 0x0C, 0x00, 0x0F, 0x34, 0x0A, 0x00, 0x0F, 0x72, 0x0B, 0x70, + 0xB8, 0x22, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x09, 0x1D, 0x0C, 0x00, 0x1D, 0xC4, 0x13, 0x00, + 0x1D, 0x74, 0x12, 0x00, 0x1D, 0x64, 0x11, 0x00, 0x1D, 0x34, 0x10, 0x00, 0x1D, 0xB2, 0x19, 0xF0, + 0x17, 0xE0, 0x15, 0xD0, 0xF6, 0x1E, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xB0, 0x98, 0x00, 0x00, + 0xC3, 0x98, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC3, 0x98, 0x00, 0x00, 0x07, 0x99, 0x00, 0x00, + 0x41, 0x99, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4F, 0x99, 0x00, 0x00, 0xED, 0x99, 0x00, 0x00, + 0xF2, 0x99, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xF2, 0x99, 0x00, 0x00, 0x09, 0x19, 0x0A, 0x00, + 0x19, 0x74, 0x10, 0x00, 0x19, 0x64, 0x0F, 0x00, 0x19, 0x34, 0x0E, 0x00, 0x19, 0x92, 0x15, 0xE0, + 0x13, 0xD0, 0x11, 0xC0, 0xF6, 0x1E, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4E, 0x97, 0x00, 0x00, + 0x61, 0x97, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x61, 0x97, 0x00, 0x00, 0x1B, 0x98, 0x00, 0x00, + 0x20, 0x98, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x98, 0x00, 0x00, 0x09, 0x19, 0x0A, 0x00, + 0x19, 0x74, 0x10, 0x00, 0x19, 0x64, 0x0F, 0x00, 0x19, 0x34, 0x0E, 0x00, 0x19, 0x92, 0x15, 0xE0, + 0x13, 0xD0, 0x11, 0xC0, 0xF6, 0x1E, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xEA, 0x95, 0x00, 0x00, + 0xFD, 0x95, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFD, 0x95, 0x00, 0x00, 0xB7, 0x96, 0x00, 0x00, + 0xBC, 0x96, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBC, 0x96, 0x00, 0x00, 0x01, 0x06, 0x02, 0x00, + 0x06, 0x52, 0x02, 0x30, 0x09, 0x21, 0x09, 0x00, 0x21, 0x34, 0x26, 0x00, 0x21, 0x01, 0x1E, 0x00, + 0x1A, 0xF0, 0x18, 0xD0, 0x16, 0xC0, 0x14, 0x70, 0x13, 0x60, 0x00, 0x00, 0xF6, 0x1E, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x47, 0x8A, 0x00, 0x00, 0xA7, 0x8A, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xA7, 0x8A, 0x00, 0x00, 0xCB, 0x8A, 0x00, 0x00, 0xDD, 0x8A, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xDD, 0x8A, 0x00, 0x00, 0x2F, 0x8C, 0x00, 0x00, 0x64, 0x8C, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x64, 0x8C, 0x00, 0x00, 0x09, 0x18, 0x09, 0x00, 0x18, 0xC4, 0x16, 0x00, 0x18, 0x74, 0x15, 0x00, + 0x18, 0x64, 0x14, 0x00, 0x18, 0x01, 0x12, 0x00, 0x11, 0xD0, 0x00, 0x00, 0xF6, 0x1E, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x0E, 0x7A, 0x00, 0x00, 0x45, 0x7A, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x47, 0x7A, 0x00, 0x00, 0x1C, 0x7B, 0x00, 0x00, 0x26, 0x7B, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x26, 0x7B, 0x00, 0x00, 0x19, 0x26, 0x09, 0x00, 0x14, 0x34, 0x26, 0x00, 0x14, 0x01, 0x1E, 0x00, + 0x0D, 0xE0, 0x0B, 0xD0, 0x09, 0xC0, 0x07, 0x70, 0x06, 0x60, 0x00, 0x00, 0xDC, 0x22, 0x00, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x61, 0x6C, 0x00, 0x00, 0x92, 0x6C, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x92, 0x6C, 0x00, 0x00, 0x2E, 0x6E, 0x00, 0x00, 0x34, 0x6E, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x34, 0x6E, 0x00, 0x00, 0x19, 0x6F, 0x00, 0x00, 0x3C, 0x6F, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3C, 0x6F, 0x00, 0x00, 0x78, 0x70, 0x00, 0x00, 0x9B, 0x70, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x9B, 0x70, 0x00, 0x00, 0x18, 0x71, 0x00, 0x00, 0x2D, 0x71, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x2D, 0x71, 0x00, 0x00, 0x94, 0x71, 0x00, 0x00, 0xA9, 0x71, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xA9, 0x71, 0x00, 0x00, 0x0F, 0x72, 0x00, 0x00, 0x1B, 0x72, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x1B, 0x72, 0x00, 0x00, 0xD2, 0x72, 0x00, 0x00, 0xE2, 0x72, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xE2, 0x72, 0x00, 0x00, 0x18, 0x74, 0x00, 0x00, 0x28, 0x74, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x28, 0x74, 0x00, 0x00, 0xA2, 0x74, 0x00, 0x00, 0xB7, 0x74, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xB7, 0x74, 0x00, 0x00, 0xEF, 0x74, 0x00, 0x00, 0xF9, 0x74, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xF9, 0x74, 0x00, 0x00, 0xE1, 0x00, 0x00, 0x00, 0x01, 0x0F, 0x06, 0x00, 0x0F, 0x64, 0x07, 0x00, + 0x0F, 0x34, 0x06, 0x00, 0x0F, 0x32, 0x0B, 0x70, 0x01, 0x0A, 0x04, 0x00, 0x0A, 0x34, 0x06, 0x00, + 0x0A, 0x32, 0x06, 0x70, 0x09, 0x19, 0x0A, 0x00, 0x19, 0xC4, 0x11, 0x00, 0x19, 0x74, 0x10, 0x00, + 0x19, 0x64, 0x0F, 0x00, 0x19, 0x34, 0x0E, 0x00, 0x19, 0xB2, 0x15, 0xE0, 0xF6, 0x1E, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x71, 0x69, 0x00, 0x00, 0x9B, 0x69, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x9B, 0x69, 0x00, 0x00, 0x9C, 0x6A, 0x00, 0x00, 0xA2, 0x6A, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xA4, 0x6A, 0x00, 0x00, 0xC1, 0x6A, 0x00, 0x00, 0xC5, 0x6A, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xC7, 0x6A, 0x00, 0x00, 0x01, 0x0B, 0x03, 0x00, 0x0B, 0x01, 0x18, 0x00, 0x04, 0x30, 0x00, 0x00, + 0x01, 0x10, 0x06, 0x00, 0x10, 0x64, 0x0D, 0x00, 0x10, 0x34, 0x0C, 0x00, 0x10, 0x92, 0x0C, 0x70, + 0x19, 0x2E, 0x0B, 0x00, 0x1C, 0x74, 0x27, 0x00, 0x1C, 0x64, 0x26, 0x00, 0x1C, 0x34, 0x24, 0x00, + 0x1C, 0x01, 0x20, 0x00, 0x15, 0xF0, 0x13, 0xD0, 0x11, 0xC0, 0x00, 0x00, 0xDC, 0x22, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x45, 0x12, 0x00, 0x00, 0x68, 0x12, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x6A, 0x12, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x04, 0x00, 0x0A, 0x34, 0x0D, 0x00, + 0x0A, 0x92, 0x06, 0x70, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x06, 0x02, 0x00, + 0x06, 0x32, 0x02, 0x30, 0x01, 0x19, 0x0A, 0x00, 0x19, 0x74, 0x09, 0x00, 0x19, 0x64, 0x08, 0x00, + 0x19, 0x54, 0x07, 0x00, 0x19, 0x34, 0x06, 0x00, 0x19, 0x32, 0x15, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0xA2, 0xDF, 0x2D, 0x99, 0x2B, 0x00, 0x00, 0xCD, 0x5D, 0x20, 0xD2, 0x66, 0xD4, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x10, 0x00, 0x00, 0xBB, 0x10, 0x00, 0x00, 0x80, 0x37, 0x00, 0x00, 0xC4, 0x10, 0x00, 0x00, + 0xCA, 0x11, 0x00, 0x00, 0x58, 0x37, 0x00, 0x00, 0xD0, 0x11, 0x00, 0x00, 0xA4, 0x1B, 0x00, 0x00, + 0x60, 0x3A, 0x00, 0x00, 0xAC, 0x1B, 0x00, 0x00, 0x4C, 0x1C, 0x00, 0x00, 0xB4, 0x3A, 0x00, 0x00, + 0x54, 0x1C, 0x00, 0x00, 0x3B, 0x1D, 0x00, 0x00, 0x18, 0x37, 0x00, 0x00, 0x44, 0x1D, 0x00, 0x00, + 0x88, 0x1D, 0x00, 0x00, 0xAC, 0x3A, 0x00, 0x00, 0x90, 0x1D, 0x00, 0x00, 0xBD, 0x1D, 0x00, 0x00, + 0xC0, 0x32, 0x00, 0x00, 0xC4, 0x1D, 0x00, 0x00, 0x55, 0x1E, 0x00, 0x00, 0xA0, 0x36, 0x00, 0x00, + 0xC8, 0x1E, 0x00, 0x00, 0xEF, 0x1E, 0x00, 0x00, 0xC8, 0x32, 0x00, 0x00, 0x10, 0x1F, 0x00, 0x00, + 0x44, 0x22, 0x00, 0x00, 0xA8, 0x3A, 0x00, 0x00, 0x4C, 0x22, 0x00, 0x00, 0xAF, 0x22, 0x00, 0x00, + 0xAC, 0x3A, 0x00, 0x00, 0xB8, 0x22, 0x00, 0x00, 0xD5, 0x22, 0x00, 0x00, 0xC0, 0x32, 0x00, 0x00, + 0xDC, 0x22, 0x00, 0x00, 0x70, 0x23, 0x00, 0x00, 0xB4, 0x3A, 0x00, 0x00, 0x80, 0x23, 0x00, 0x00, + 0x6A, 0x24, 0x00, 0x00, 0xD0, 0x3A, 0x00, 0x00, 0x08, 0x60, 0x00, 0x00, 0xEE, 0x60, 0x00, 0x00, + 0x98, 0x3A, 0x00, 0x00, 0x08, 0x61, 0x00, 0x00, 0x71, 0x61, 0x00, 0x00, 0x58, 0x36, 0x00, 0x00, + 0x78, 0x61, 0x00, 0x00, 0xFC, 0x62, 0x00, 0x00, 0x70, 0x37, 0x00, 0x00, 0x04, 0x63, 0x00, 0x00, + 0x3D, 0x63, 0x00, 0x00, 0x38, 0x36, 0x00, 0x00, 0x44, 0x63, 0x00, 0x00, 0x2D, 0x64, 0x00, 0x00, + 0x2C, 0x36, 0x00, 0x00, 0x10, 0x66, 0x00, 0x00, 0x1E, 0x67, 0x00, 0x00, 0xC8, 0x32, 0x00, 0x00, + 0x24, 0x67, 0x00, 0x00, 0x58, 0x67, 0x00, 0x00, 0xC0, 0x32, 0x00, 0x00, 0x60, 0x67, 0x00, 0x00, + 0xB0, 0x68, 0x00, 0x00, 0xF4, 0x36, 0x00, 0x00, 0xB8, 0x68, 0x00, 0x00, 0x16, 0x69, 0x00, 0x00, + 0xD8, 0x39, 0x00, 0x00, 0x1C, 0x69, 0x00, 0x00, 0xFC, 0x6A, 0x00, 0x00, 0xF4, 0x39, 0x00, 0x00, + 0x04, 0x6B, 0x00, 0x00, 0x12, 0x6C, 0x00, 0x00, 0x10, 0x36, 0x00, 0x00, 0x18, 0x6C, 0x00, 0x00, + 0x32, 0x75, 0x00, 0x00, 0x04, 0x39, 0x00, 0x00, 0x38, 0x75, 0x00, 0x00, 0x93, 0x76, 0x00, 0x00, + 0xD0, 0x35, 0x00, 0x00, 0x9C, 0x76, 0x00, 0x00, 0x5D, 0x78, 0x00, 0x00, 0xB8, 0x35, 0x00, 0x00, + 0x64, 0x78, 0x00, 0x00, 0xCA, 0x79, 0x00, 0x00, 0xB4, 0x36, 0x00, 0x00, 0xD0, 0x79, 0x00, 0x00, + 0x4E, 0x7B, 0x00, 0x00, 0xC4, 0x38, 0x00, 0x00, 0x54, 0x7B, 0x00, 0x00, 0x76, 0x7C, 0x00, 0x00, + 0x7C, 0x35, 0x00, 0x00, 0x7C, 0x7C, 0x00, 0x00, 0x6F, 0x7D, 0x00, 0x00, 0x40, 0x35, 0x00, 0x00, + 0x78, 0x7D, 0x00, 0x00, 0x71, 0x7E, 0x00, 0x00, 0x04, 0x35, 0x00, 0x00, 0x78, 0x7E, 0x00, 0x00, + 0x73, 0x7F, 0x00, 0x00, 0x50, 0x3A, 0x00, 0x00, 0x7C, 0x7F, 0x00, 0x00, 0x15, 0x82, 0x00, 0x00, + 0x90, 0x34, 0x00, 0x00, 0x1C, 0x82, 0x00, 0x00, 0xE0, 0x83, 0x00, 0x00, 0x40, 0x34, 0x00, 0x00, + 0xE8, 0x83, 0x00, 0x00, 0xE5, 0x85, 0x00, 0x00, 0xFC, 0x33, 0x00, 0x00, 0xEC, 0x85, 0x00, 0x00, + 0x2A, 0x86, 0x00, 0x00, 0xC0, 0x32, 0x00, 0x00, 0x30, 0x86, 0x00, 0x00, 0x38, 0x87, 0x00, 0x00, + 0xC0, 0x33, 0x00, 0x00, 0x40, 0x87, 0x00, 0x00, 0x28, 0x88, 0x00, 0x00, 0x84, 0x33, 0x00, 0x00, + 0x30, 0x88, 0x00, 0x00, 0xB4, 0x88, 0x00, 0x00, 0xE8, 0x39, 0x00, 0x00, 0xBC, 0x88, 0x00, 0x00, + 0xBC, 0x89, 0x00, 0x00, 0x44, 0x3A, 0x00, 0x00, 0xC4, 0x89, 0x00, 0x00, 0xF4, 0x89, 0x00, 0x00, + 0xAC, 0x3A, 0x00, 0x00, 0xFC, 0x89, 0x00, 0x00, 0xCA, 0x8C, 0x00, 0x00, 0x74, 0x38, 0x00, 0x00, + 0xD0, 0x8C, 0x00, 0x00, 0x1A, 0x8D, 0x00, 0x00, 0x6C, 0x38, 0x00, 0x00, 0x20, 0x8D, 0x00, 0x00, + 0x1C, 0x8F, 0x00, 0x00, 0x20, 0x33, 0x00, 0x00, 0x24, 0x8F, 0x00, 0x00, 0x3B, 0x91, 0x00, 0x00, + 0xD0, 0x32, 0x00, 0x00, 0x44, 0x91, 0x00, 0x00, 0x81, 0x95, 0x00, 0x00, 0x70, 0x36, 0x00, 0x00, + 0x88, 0x95, 0x00, 0x00, 0xE5, 0x96, 0x00, 0x00, 0x2C, 0x38, 0x00, 0x00, 0xEC, 0x96, 0x00, 0x00, + 0x49, 0x98, 0x00, 0x00, 0xEC, 0x37, 0x00, 0x00, 0x50, 0x98, 0x00, 0x00, 0x1F, 0x9A, 0x00, 0x00, + 0x98, 0x37, 0x00, 0x00, 0x96, 0x9C, 0x00, 0x00, 0xB2, 0x9C, 0x00, 0x00, 0x68, 0x36, 0x00, 0x00, + 0x64, 0xA0, 0x00, 0x00, 0x82, 0xA0, 0x00, 0x00, 0xC0, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x89, 0x5C, 0x24, 0x10, 0x57, 0x48, 0x83, + 0xEC, 0x50, 0x48, 0x8B, 0xD9, 0x48, 0x89, 0x0D, 0x04, 0xE3, 0xFF, 0xFF, 0x48, 0x8D, 0x0D, 0xDD, + 0xE1, 0xFF, 0xFF, 0x48, 0x8B, 0xFA, 0xC7, 0x05, 0xD0, 0xE1, 0xFF, 0xFF, 0x1C, 0x01, 0x00, 0x00, + 0xFF, 0x15, 0x3A, 0xD0, 0xFF, 0xFF, 0x44, 0x8B, 0xD8, 0x85, 0xC0, 0x78, 0x0E, 0x83, 0x3D, 0xAC, + 0xE1, 0xFF, 0xFF, 0x00, 0x75, 0x05, 0xE8, 0xF1, 0x04, 0x00, 0x00, 0x45, 0x85, 0xDB, 0x0F, 0x88, + 0x8C, 0x00, 0x00, 0x00, 0xE8, 0xB7, 0x05, 0x00, 0x00, 0x48, 0x8B, 0xCF, 0xE8, 0x17, 0x01, 0x00, + 0x00, 0x85, 0xC0, 0x78, 0x7E, 0x48, 0x8D, 0x15, 0xB4, 0x39, 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, + 0x40, 0xFF, 0x15, 0x99, 0xCF, 0xFF, 0xFF, 0x4C, 0x8D, 0x5C, 0x24, 0x60, 0x4C, 0x8D, 0x44, 0x24, + 0x40, 0x4C, 0x89, 0x5C, 0x24, 0x30, 0x41, 0xB9, 0x22, 0x00, 0x00, 0x00, 0x33, 0xD2, 0x48, 0x8B, + 0xCB, 0xC6, 0x44, 0x24, 0x28, 0x00, 0xC7, 0x44, 0x24, 0x20, 0x00, 0x01, 0x00, 0x00, 0xFF, 0x15, + 0xAC, 0xCF, 0xFF, 0xFF, 0x44, 0x8B, 0xD8, 0x85, 0xC0, 0x78, 0x38, 0x48, 0x8B, 0x44, 0x24, 0x60, + 0x48, 0x8D, 0x0D, 0x51, 0xAF, 0xFF, 0xFF, 0x48, 0x89, 0x4B, 0x70, 0x48, 0x8D, 0x0D, 0x0E, 0xB1, + 0xFF, 0xFF, 0x48, 0x89, 0x05, 0x6F, 0xE2, 0xFF, 0xFF, 0x48, 0x89, 0x8B, 0xE0, 0x00, 0x00, 0x00, + 0x48, 0x8D, 0x0D, 0x1D, 0x00, 0x00, 0x00, 0x48, 0x89, 0x4B, 0x68, 0x0F, 0xBA, 0x70, 0x30, 0x07, + 0x41, 0x8B, 0xC3, 0x48, 0x8B, 0x5C, 0x24, 0x68, 0x48, 0x83, 0xC4, 0x50, 0x5F, 0xC3, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x8B, 0x0D, 0x3D, 0xE2, 0xFF, 0xFF, 0x48, 0xFF, 0x25, 0x16, 0xCF, + 0xFF, 0xFF, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x40, 0x53, 0x48, 0x83, 0xEC, 0x50, 0x48, 0x8B, + 0x05, 0xEB, 0xDF, 0xFF, 0xFF, 0x48, 0x33, 0xC4, 0x48, 0x89, 0x44, 0x24, 0x48, 0x48, 0x8D, 0x44, + 0x24, 0x30, 0x41, 0x8B, 0xD8, 0x4C, 0x8D, 0x4C, 0x24, 0x38, 0x48, 0x89, 0x44, 0x24, 0x28, 0x41, + 0xB8, 0x02, 0x00, 0x00, 0x00, 0xC7, 0x44, 0x24, 0x20, 0x10, 0x00, 0x00, 0x00, 0xFF, 0x15, 0xED, + 0xCE, 0xFF, 0xFF, 0x83, 0x7C, 0x24, 0x3C, 0x04, 0x44, 0x8B, 0xD8, 0xB8, 0x24, 0x00, 0x00, 0xC0, + 0x44, 0x0F, 0x45, 0xD8, 0x8B, 0x44, 0x24, 0x44, 0x45, 0x85, 0xDB, 0x0F, 0x48, 0xC3, 0x48, 0x8B, + 0x4C, 0x24, 0x48, 0x48, 0x33, 0xCC, 0xE8, 0x35, 0xBD, 0xFF, 0xFF, 0x48, 0x83, 0xC4, 0x50, 0x5B, + 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x10, 0x57, 0x48, 0x81, + 0xEC, 0x90, 0x00, 0x00, 0x00, 0x48, 0x8B, 0xF9, 0x48, 0x8D, 0x15, 0xC1, 0x38, 0x00, 0x00, 0x48, + 0x8D, 0x4C, 0x24, 0x38, 0xFF, 0x15, 0x76, 0xCE, 0xFF, 0xFF, 0x44, 0x0F, 0xB7, 0x1F, 0xBB, 0x01, + 0x00, 0x00, 0x00, 0x66, 0x44, 0x03, 0x5C, 0x24, 0x38, 0x41, 0xB8, 0x4B, 0x70, 0x68, 0x54, 0x8B, + 0xCB, 0x41, 0x0F, 0xB7, 0xD3, 0x66, 0x44, 0x89, 0x5C, 0x24, 0x28, 0x66, 0x44, 0x89, 0x5C, 0x24, + 0x2A, 0xFF, 0x15, 0x39, 0xCE, 0xFF, 0xFF, 0x48, 0x89, 0x44, 0x24, 0x30, 0x48, 0x85, 0xC0, 0x75, + 0x0A, 0xB8, 0x9A, 0x00, 0x00, 0xC0, 0xE9, 0x10, 0x01, 0x00, 0x00, 0x44, 0x0F, 0xB7, 0x07, 0x48, + 0x8B, 0x57, 0x08, 0x48, 0x8B, 0xC8, 0xE8, 0x25, 0xBD, 0xFF, 0xFF, 0x0F, 0xB7, 0x0F, 0x48, 0x8B, + 0x44, 0x24, 0x30, 0x44, 0x0F, 0xB7, 0x44, 0x24, 0x38, 0x48, 0x8B, 0x54, 0x24, 0x40, 0x48, 0xD1, + 0xE9, 0x48, 0x8D, 0x0C, 0x48, 0xE8, 0x06, 0xBD, 0xFF, 0xFF, 0x48, 0x83, 0x64, 0x24, 0x60, 0x00, + 0x48, 0x83, 0x64, 0x24, 0x78, 0x00, 0x48, 0x83, 0xA4, 0x24, 0x80, 0x00, 0x00, 0x00, 0x00, 0x48, + 0x8D, 0x44, 0x24, 0x28, 0x4C, 0x8D, 0x44, 0x24, 0x58, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0xBA, 0x19, + 0x00, 0x02, 0x00, 0x48, 0x89, 0x44, 0x24, 0x68, 0xC7, 0x44, 0x24, 0x58, 0x30, 0x00, 0x00, 0x00, + 0xC7, 0x44, 0x24, 0x70, 0x40, 0x02, 0x00, 0x00, 0xFF, 0x15, 0x12, 0xCE, 0xFF, 0xFF, 0x48, 0x8B, + 0x4C, 0x24, 0x30, 0xBA, 0x4B, 0x70, 0x68, 0x54, 0x8B, 0xF8, 0xFF, 0x15, 0xA8, 0xCD, 0xFF, 0xFF, + 0x85, 0xFF, 0x79, 0x07, 0x33, 0xFF, 0x48, 0x21, 0x7C, 0x24, 0x20, 0x48, 0x8D, 0x15, 0xFE, 0x37, + 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, 0x48, 0xFF, 0x15, 0x93, 0xCD, 0xFF, 0xFF, 0x48, 0x8B, 0x4C, + 0x24, 0x20, 0x48, 0x85, 0xC9, 0x74, 0x0F, 0x48, 0x8D, 0x54, 0x24, 0x48, 0x44, 0x8B, 0xC3, 0xE8, + 0x74, 0xFE, 0xFF, 0xFF, 0x8B, 0xD8, 0x48, 0x8D, 0x15, 0xF3, 0x37, 0x00, 0x00, 0x48, 0x8D, 0x4C, + 0x24, 0x48, 0x89, 0x1D, 0x88, 0xE0, 0xFF, 0xFF, 0xFF, 0x15, 0x62, 0xCD, 0xFF, 0xFF, 0x48, 0x8B, + 0x4C, 0x24, 0x20, 0x48, 0x85, 0xC9, 0x75, 0x04, 0x33, 0xC0, 0xEB, 0x12, 0x48, 0x8D, 0x54, 0x24, + 0x48, 0x45, 0x33, 0xC0, 0xE8, 0x3F, 0xFE, 0xFF, 0xFF, 0x48, 0x8B, 0x4C, 0x24, 0x20, 0x89, 0x05, + 0x60, 0xE0, 0xFF, 0xFF, 0xE8, 0x6B, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, 0x20, 0x48, 0x85, + 0xC9, 0x74, 0x06, 0xFF, 0x15, 0x4F, 0xCD, 0xFF, 0xFF, 0x8B, 0xC7, 0x48, 0x8B, 0x9C, 0x24, 0xA8, + 0x00, 0x00, 0x00, 0x48, 0x81, 0xC4, 0x90, 0x00, 0x00, 0x00, 0x5F, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x40, 0x53, 0x48, 0x83, 0xEC, 0x20, 0x48, 0x8B, 0xD9, 0x84, 0xD2, 0x74, + 0x1C, 0xBA, 0x04, 0x00, 0x00, 0x00, 0x44, 0x8B, 0xC2, 0xFF, 0x15, 0x01, 0xCD, 0xFF, 0xFF, 0x44, + 0x8B, 0x1D, 0x02, 0xE0, 0xFF, 0xFF, 0x44, 0x89, 0x1B, 0xEB, 0x0A, 0xEB, 0x0A, 0x8B, 0x05, 0xF5, + 0xDF, 0xFF, 0xFF, 0x89, 0x01, 0x33, 0xC0, 0x48, 0x83, 0xC4, 0x20, 0x5B, 0xC3, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x10, 0x57, 0x48, 0x83, 0xEC, 0x40, 0x48, 0x8B, + 0xF9, 0x48, 0x85, 0xC9, 0x75, 0x0A, 0xB8, 0x01, 0x00, 0x00, 0xC0, 0xE9, 0xC2, 0x00, 0x00, 0x00, + 0x48, 0x8D, 0x15, 0x69, 0x37, 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, 0x30, 0xFF, 0x15, 0x9E, 0xCC, + 0xFF, 0xFF, 0x45, 0x33, 0xC9, 0x4C, 0x8D, 0x5C, 0x24, 0x50, 0x4C, 0x89, 0x5C, 0x24, 0x28, 0x83, + 0x64, 0x24, 0x20, 0x00, 0x48, 0x8D, 0x54, 0x24, 0x30, 0x45, 0x8D, 0x41, 0x02, 0x48, 0x8B, 0xCF, + 0xFF, 0x15, 0x9A, 0xCC, 0xFF, 0xFF, 0x3D, 0x05, 0x00, 0x00, 0x80, 0x74, 0x07, 0x3D, 0x23, 0x00, + 0x00, 0xC0, 0x75, 0xB2, 0x8B, 0x54, 0x24, 0x50, 0xB9, 0x01, 0x00, 0x00, 0x00, 0x41, 0xB8, 0x4B, + 0x70, 0x68, 0x54, 0xFF, 0x15, 0x47, 0xCC, 0xFF, 0xFF, 0x48, 0x8B, 0xD8, 0x48, 0x85, 0xC0, 0x75, + 0x07, 0xB8, 0x9A, 0x00, 0x00, 0xC0, 0xEB, 0x5A, 0x48, 0x8D, 0x44, 0x24, 0x50, 0x48, 0x8D, 0x54, + 0x24, 0x30, 0x4C, 0x8B, 0xCB, 0x48, 0x89, 0x44, 0x24, 0x28, 0x8B, 0x44, 0x24, 0x50, 0x41, 0xB8, + 0x02, 0x00, 0x00, 0x00, 0x48, 0x8B, 0xCF, 0x89, 0x44, 0x24, 0x20, 0xFF, 0x15, 0x3F, 0xCC, 0xFF, + 0xFF, 0x8B, 0xF8, 0x85, 0xC0, 0x78, 0x1B, 0x83, 0x7B, 0x04, 0x03, 0x75, 0x10, 0x8B, 0x53, 0x08, + 0x48, 0x8D, 0x4B, 0x0C, 0xE8, 0x2B, 0x00, 0x00, 0x00, 0x8B, 0xF8, 0xEB, 0x05, 0xBF, 0x24, 0x00, + 0x00, 0xC0, 0xBA, 0x4B, 0x70, 0x68, 0x54, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0xE8, 0xCB, 0xFF, 0xFF, + 0x8B, 0xC7, 0x48, 0x8B, 0x5C, 0x24, 0x58, 0x48, 0x83, 0xC4, 0x40, 0x5F, 0xC3, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x44, 0x8B, 0xCA, 0x4C, 0x8B, 0xC1, 0x83, 0xFA, 0x08, 0x73, 0x06, 0xB8, + 0x0D, 0x00, 0x00, 0xC0, 0xC3, 0x83, 0x39, 0x02, 0x75, 0xF5, 0x8B, 0x51, 0x04, 0x83, 0xFA, 0x40, + 0x77, 0xED, 0x48, 0x8D, 0x0C, 0xD2, 0x48, 0x8D, 0x0C, 0x8D, 0x08, 0x00, 0x00, 0x00, 0x4C, 0x3B, + 0xC9, 0x72, 0xDC, 0x33, 0xC9, 0x3B, 0xD1, 0x76, 0x56, 0x44, 0x0F, 0xB7, 0x0D, 0xA3, 0xDE, 0xFF, + 0xFF, 0x49, 0x83, 0xC0, 0x0C, 0x41, 0xBA, 0xFF, 0xFF, 0x00, 0x00, 0x41, 0x0F, 0xB7, 0x40, 0xFC, + 0x3B, 0x05, 0x7E, 0xDD, 0xFF, 0xFF, 0x75, 0x2D, 0x41, 0x0F, 0xB7, 0x40, 0xFE, 0x3B, 0x05, 0x75, + 0xDD, 0xFF, 0xFF, 0x75, 0x20, 0x66, 0x45, 0x39, 0x10, 0x74, 0x06, 0x66, 0x45, 0x39, 0x08, 0x75, + 0x14, 0x66, 0x45, 0x39, 0x50, 0x02, 0x74, 0x1D, 0x41, 0x0F, 0xB7, 0x40, 0x02, 0x3B, 0x05, 0x59, + 0xDD, 0xFF, 0xFF, 0x74, 0x10, 0xFF, 0xC1, 0x49, 0x83, 0xC0, 0x24, 0x3B, 0xCA, 0x72, 0xBC, 0xB8, + 0x25, 0x02, 0x00, 0xC0, 0xC3, 0x41, 0x8B, 0x40, 0x04, 0x89, 0x05, 0x21, 0xDD, 0xFF, 0xFF, 0x41, + 0x0F, 0xBF, 0x40, 0x08, 0x89, 0x05, 0x36, 0xDC, 0xFF, 0xFF, 0x41, 0x0F, 0xBF, 0x40, 0x0A, 0x89, + 0x05, 0x2F, 0xDC, 0xFF, 0xFF, 0x41, 0x0F, 0xBF, 0x40, 0x10, 0x89, 0x05, 0x28, 0xDC, 0xFF, 0xFF, + 0x41, 0x0F, 0xBF, 0x40, 0x12, 0x89, 0x05, 0x21, 0xDC, 0xFF, 0xFF, 0x41, 0x0F, 0xBF, 0x40, 0x14, + 0x89, 0x05, 0x1A, 0xDC, 0xFF, 0xFF, 0x41, 0x0F, 0xBF, 0x40, 0x16, 0x89, 0x05, 0x13, 0xDC, 0xFF, + 0xFF, 0x41, 0x0F, 0xBF, 0x40, 0x18, 0x89, 0x05, 0x0C, 0xDC, 0xFF, 0xFF, 0x41, 0x0F, 0xBF, 0x40, + 0x1A, 0x89, 0x05, 0x05, 0xDC, 0xFF, 0xFF, 0x41, 0x0F, 0xBF, 0x40, 0x1C, 0x89, 0x05, 0xFE, 0xDB, + 0xFF, 0xFF, 0x33, 0xC0, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0x15, 0xC2, 0xDC, + 0xFF, 0xFF, 0x8B, 0x0D, 0xC0, 0xDC, 0xFF, 0xFF, 0x0F, 0xB7, 0x05, 0xC5, 0xDD, 0xFF, 0xFF, 0x83, + 0xFA, 0x05, 0x75, 0x4B, 0x83, 0xF9, 0x01, 0x75, 0x29, 0xC7, 0x05, 0x8D, 0xDC, 0xFF, 0xFF, 0x33, + 0x00, 0x00, 0x00, 0x85, 0xC0, 0x0F, 0x84, 0x97, 0x00, 0x00, 0x00, 0x3B, 0xC1, 0x0F, 0x84, 0x8F, + 0x00, 0x00, 0x00, 0x83, 0xF8, 0x02, 0x74, 0x79, 0x83, 0xF8, 0x03, 0x74, 0x74, 0xE9, 0x80, 0x00, + 0x00, 0x00, 0x83, 0xF9, 0x02, 0x75, 0x7B, 0xC7, 0x05, 0x5F, 0xDC, 0xFF, 0xFF, 0x34, 0x00, 0x00, + 0x00, 0x85, 0xC0, 0x74, 0x5C, 0x83, 0xF8, 0x01, 0x74, 0x57, 0x83, 0xF8, 0x02, 0xEB, 0xDC, 0x83, + 0xFA, 0x06, 0x75, 0x55, 0x85, 0xC9, 0x75, 0x0C, 0xC7, 0x05, 0x3E, 0xDC, 0xFF, 0xFF, 0x3C, 0x00, + 0x00, 0x00, 0xEB, 0xDD, 0x83, 0xF9, 0x01, 0x75, 0x12, 0xC7, 0x05, 0x2D, 0xDC, 0xFF, 0xFF, 0x3D, + 0x00, 0x00, 0x00, 0x85, 0xC0, 0x74, 0x2A, 0x3B, 0xC1, 0xEB, 0xB0, 0x83, 0xF9, 0x02, 0x75, 0x0E, + 0xC7, 0x05, 0x16, 0xDC, 0xFF, 0xFF, 0x3E, 0x00, 0x00, 0x00, 0x85, 0xC0, 0xEB, 0x9D, 0x83, 0xF9, + 0x03, 0x75, 0x11, 0xC7, 0x05, 0x03, 0xDC, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x85, 0xC0, 0x75, + 0x11, 0x33, 0xC0, 0xC3, 0x77, 0x05, 0x83, 0xFA, 0x06, 0x76, 0x07, 0x83, 0x0D, 0xEE, 0xDB, 0xFF, + 0xFF, 0xFF, 0xB8, 0xBB, 0x00, 0x00, 0xC0, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x48, 0x83, 0xEC, 0x38, 0x83, 0x3D, 0xD5, 0xDB, 0xFF, 0xFF, 0x3E, 0x72, 0x24, 0x48, 0x8D, 0x15, + 0xDC, 0x34, 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0xFF, 0x15, 0xE1, 0xC9, 0xFF, 0xFF, 0x48, + 0x8D, 0x4C, 0x24, 0x20, 0xFF, 0x15, 0x46, 0xCA, 0xFF, 0xFF, 0x48, 0x89, 0x05, 0x1F, 0xDB, 0xFF, + 0xFF, 0x48, 0x8D, 0x15, 0xE8, 0x34, 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0xFF, 0x15, 0xBD, + 0xC9, 0xFF, 0xFF, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0xFF, 0x15, 0x22, 0xCA, 0xFF, 0xFF, 0x48, 0x8D, + 0x15, 0xEB, 0x34, 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0x48, 0x89, 0x05, 0xDF, 0xDA, 0xFF, + 0xFF, 0xFF, 0x15, 0x99, 0xC9, 0xFF, 0xFF, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0xFF, 0x15, 0xFE, 0xC9, + 0xFF, 0xFF, 0x48, 0x8D, 0x15, 0x17, 0x35, 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0x48, 0x89, + 0x05, 0xAB, 0xDA, 0xFF, 0xFF, 0xFF, 0x15, 0x75, 0xC9, 0xFF, 0xFF, 0x48, 0x8D, 0x4C, 0x24, 0x20, + 0xFF, 0x15, 0xDA, 0xC9, 0xFF, 0xFF, 0x48, 0x8D, 0x15, 0x23, 0x35, 0x00, 0x00, 0x48, 0x8D, 0x4C, + 0x24, 0x20, 0x48, 0x89, 0x05, 0x9F, 0xDA, 0xFF, 0xFF, 0xFF, 0x15, 0x51, 0xC9, 0xFF, 0xFF, 0x48, + 0x8D, 0x4C, 0x24, 0x20, 0xFF, 0x15, 0xB6, 0xC9, 0xFF, 0xFF, 0x48, 0x8D, 0x15, 0x4F, 0x35, 0x00, + 0x00, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0x48, 0x89, 0x05, 0x93, 0xDA, 0xFF, 0xFF, 0xFF, 0x15, 0x2D, + 0xC9, 0xFF, 0xFF, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0xFF, 0x15, 0x92, 0xC9, 0xFF, 0xFF, 0x48, 0x8D, + 0x15, 0x4B, 0x35, 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0x48, 0x89, 0x05, 0x47, 0xDA, 0xFF, + 0xFF, 0xFF, 0x15, 0x09, 0xC9, 0xFF, 0xFF, 0x48, 0x8D, 0x4C, 0x24, 0x20, 0xFF, 0x15, 0x6E, 0xC9, + 0xFF, 0xFF, 0x48, 0x89, 0x05, 0x4F, 0xDA, 0xFF, 0xFF, 0x48, 0x83, 0xC4, 0x38, 0xC3, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x83, 0xEC, 0x28, 0x8B, 0x15, 0xC2, 0xDA, 0xFF, 0xFF, 0x8D, 0x42, + 0xCD, 0x83, 0xF8, 0x09, 0x77, 0x06, 0x48, 0x8B, 0x41, 0xE0, 0xEB, 0x17, 0x83, 0xFA, 0x3D, 0x72, + 0x10, 0x48, 0x8B, 0x05, 0x08, 0xDA, 0xFF, 0xFF, 0x48, 0x85, 0xC0, 0x74, 0x04, 0xFF, 0xD0, 0xEB, + 0x02, 0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x48, 0x89, 0x5C, 0x24, 0x08, 0x4C, 0x89, 0x44, 0x24, 0x18, 0x57, 0x48, 0x83, 0xEC, 0x40, 0x49, + 0x8B, 0xF8, 0x48, 0x8B, 0xC2, 0x4C, 0x8B, 0xD1, 0x4C, 0x8B, 0x01, 0x44, 0x8B, 0x1D, 0x6E, 0xDA, + 0xFF, 0xFF, 0x41, 0x83, 0xFB, 0x3E, 0x72, 0x20, 0x8B, 0x0D, 0x9E, 0xD9, 0xFF, 0xFF, 0x83, 0xF9, + 0xFF, 0x74, 0x0E, 0x49, 0x8B, 0xD0, 0x48, 0xD3, 0xFA, 0x48, 0x83, 0xE2, 0xF0, 0x33, 0xDB, 0xEB, + 0x10, 0x33, 0xDB, 0x48, 0x8B, 0xD3, 0xEB, 0x09, 0x49, 0x8B, 0xD0, 0x48, 0x83, 0xE2, 0xF8, 0x33, + 0xDB, 0x48, 0x89, 0x44, 0x24, 0x20, 0x48, 0x8D, 0x42, 0x30, 0x48, 0xF7, 0xDA, 0x4D, 0x1B, 0xC9, + 0x4C, 0x23, 0xC8, 0x4C, 0x89, 0x4C, 0x24, 0x28, 0x41, 0x8B, 0x4A, 0x08, 0x8B, 0xC1, 0x0F, 0xBA, + 0xF0, 0x19, 0x89, 0x44, 0x24, 0x30, 0xB8, 0xFF, 0xFF, 0x00, 0x00, 0x66, 0x89, 0x44, 0x24, 0x34, + 0x66, 0x89, 0x5C, 0x24, 0x36, 0x41, 0x83, 0xFB, 0x3E, 0x72, 0x1F, 0x8B, 0x0D, 0x3F, 0xD9, 0xFF, + 0xFF, 0x83, 0xF9, 0xFF, 0x74, 0x0E, 0x49, 0xD3, 0xE8, 0x41, 0x83, 0xE0, 0x03, 0x44, 0x89, 0x44, + 0x24, 0x38, 0xEB, 0x18, 0x89, 0x5C, 0x24, 0x38, 0xEB, 0x12, 0xC1, 0xE9, 0x19, 0x83, 0xE1, 0x01, + 0x41, 0x8B, 0xC0, 0x83, 0xE0, 0x06, 0x0B, 0xC8, 0x89, 0x4C, 0x24, 0x38, 0x89, 0x5C, 0x24, 0x3C, + 0x4C, 0x3B, 0xCB, 0x74, 0x35, 0x49, 0x8B, 0xC9, 0xE8, 0xF7, 0xFE, 0xFF, 0xFF, 0x48, 0x3B, 0xC3, + 0x74, 0x28, 0x8B, 0x0D, 0xF0, 0xD8, 0xFF, 0xFF, 0x83, 0xF9, 0xFF, 0x74, 0x1D, 0x83, 0x3D, 0xAC, + 0xD9, 0xFF, 0xFF, 0x3D, 0x72, 0x0B, 0x0F, 0xB6, 0x04, 0x01, 0x66, 0x89, 0x44, 0x24, 0x34, 0xEB, + 0x09, 0x0F, 0xB7, 0x0C, 0x01, 0x66, 0x89, 0x4C, 0x24, 0x34, 0x48, 0x8B, 0x4F, 0x10, 0x48, 0x8D, + 0x41, 0x20, 0x48, 0x89, 0x47, 0x10, 0xFF, 0x47, 0x18, 0x48, 0x3B, 0x0F, 0x72, 0x29, 0x48, 0x3B, + 0x47, 0x08, 0x77, 0x23, 0x48, 0x8D, 0x54, 0x24, 0x20, 0x41, 0xB8, 0x20, 0x00, 0x00, 0x00, 0xE8, + 0x8C, 0xB6, 0xFF, 0xFF, 0xEB, 0x0F, 0x48, 0x8B, 0x4C, 0x24, 0x60, 0x33, 0xDB, 0x39, 0x59, 0x1C, + 0x75, 0x03, 0x89, 0x41, 0x1C, 0xEB, 0x0C, 0x39, 0x5F, 0x1C, 0x75, 0x07, 0xC7, 0x47, 0x1C, 0x23, + 0x00, 0x00, 0xC0, 0x32, 0xC0, 0x48, 0x8B, 0x5C, 0x24, 0x50, 0x48, 0x83, 0xC4, 0x40, 0x5F, 0xC3, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x74, + 0x24, 0x10, 0x57, 0x48, 0x83, 0xEC, 0x20, 0x49, 0x8B, 0xC0, 0x48, 0x8B, 0xDA, 0x48, 0x8B, 0xF9, + 0x48, 0x8B, 0xD0, 0x48, 0x8B, 0xCB, 0x4D, 0x8B, 0xC1, 0xE8, 0x82, 0xFE, 0xFF, 0xFF, 0x41, 0xB8, + 0x01, 0x00, 0x00, 0x00, 0x40, 0x8A, 0xF0, 0xF0, 0x4C, 0x0F, 0xC1, 0x03, 0x8B, 0x0D, 0x2E, 0xD8, + 0xFF, 0xFF, 0x48, 0x03, 0xCF, 0x48, 0x83, 0x39, 0x00, 0x74, 0x08, 0x33, 0xD2, 0xFF, 0x15, 0x5D, + 0xD8, 0xFF, 0xFF, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x40, 0x8A, 0xC6, 0x48, 0x8B, 0x74, 0x24, 0x38, + 0x48, 0x83, 0xC4, 0x20, 0x5F, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x8B, 0xC4, 0x48, + 0x89, 0x58, 0x08, 0x48, 0x89, 0x70, 0x10, 0x48, 0x89, 0x78, 0x18, 0x4C, 0x89, 0x60, 0x20, 0x41, + 0x56, 0x48, 0x83, 0xEC, 0x60, 0x4D, 0x8B, 0xE1, 0x45, 0x8B, 0xF0, 0x48, 0x8B, 0xF2, 0x48, 0x8B, + 0xD9, 0x83, 0x3D, 0xA8, 0xD8, 0xFF, 0xFF, 0x3E, 0x72, 0x1D, 0x48, 0x83, 0x3D, 0x0E, 0xD8, 0xFF, + 0xFF, 0x00, 0x74, 0x09, 0x83, 0x3D, 0xC5, 0xD7, 0xFF, 0xFF, 0xFF, 0x75, 0x0A, 0xB8, 0xBB, 0x00, + 0x00, 0xC0, 0xE9, 0x7A, 0x01, 0x00, 0x00, 0x80, 0xBC, 0x24, 0x90, 0x00, 0x00, 0x00, 0x00, 0x74, + 0x2F, 0x49, 0x8B, 0xD6, 0xBF, 0x04, 0x00, 0x00, 0x00, 0x44, 0x8B, 0xC7, 0x48, 0x8B, 0xCE, 0xFF, + 0x15, 0x9B, 0xC6, 0xFF, 0xFF, 0x4D, 0x85, 0xE4, 0x74, 0x0F, 0x44, 0x8B, 0xC7, 0x48, 0x8B, 0xD7, + 0x49, 0x8B, 0xCC, 0xFF, 0x15, 0x87, 0xC6, 0xFF, 0xFF, 0xEB, 0x05, 0xE9, 0x41, 0x01, 0x00, 0x00, + 0x48, 0x83, 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x30, 0x48, 0x89, 0x44, 0x24, 0x20, + 0x44, 0x8A, 0x8C, 0x24, 0x90, 0x00, 0x00, 0x00, 0x4C, 0x8B, 0x05, 0xC9, 0xC6, 0xFF, 0xFF, 0x4D, + 0x8B, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0x0B, 0xC7, 0xFF, 0xFF, 0x85, 0xC0, 0x0F, + 0x88, 0x0C, 0x01, 0x00, 0x00, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x33, 0xFF, 0x83, 0x3D, 0x31, 0xD7, + 0xFF, 0xFF, 0xFF, 0x0F, 0x84, 0xEA, 0x00, 0x00, 0x00, 0x48, 0x8B, 0xCB, 0xE8, 0x53, 0xB3, 0xFF, + 0xFF, 0x84, 0xC0, 0x74, 0x17, 0x8B, 0x05, 0x19, 0xD7, 0xFF, 0xFF, 0x48, 0x8B, 0x3C, 0x18, 0x48, + 0x85, 0xFF, 0x75, 0x08, 0x48, 0x8B, 0xCB, 0xE8, 0x84, 0xB3, 0xFF, 0xFF, 0x48, 0x85, 0xFF, 0x75, + 0x0A, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0xE9, 0xB8, 0x00, 0x00, 0x00, 0x48, 0x89, 0x74, 0x24, 0x38, + 0x4A, 0x8D, 0x04, 0x36, 0x48, 0x89, 0x44, 0x24, 0x40, 0x48, 0x8D, 0x46, 0x08, 0x48, 0x89, 0x44, + 0x24, 0x48, 0x83, 0x64, 0x24, 0x50, 0x00, 0x83, 0x64, 0x24, 0x54, 0x00, 0x83, 0x3D, 0xAD, 0xD7, + 0xFF, 0xFF, 0x3E, 0x72, 0x1A, 0x45, 0x33, 0xC9, 0x4C, 0x8D, 0x44, 0x24, 0x38, 0x48, 0x8D, 0x15, + 0x64, 0xFE, 0xFF, 0xFF, 0x48, 0x8B, 0xCF, 0xFF, 0x15, 0x53, 0xC6, 0xFF, 0xFF, 0xEB, 0x18, 0x45, + 0x33, 0xC9, 0x4C, 0x8D, 0x44, 0x24, 0x38, 0x48, 0x8D, 0x15, 0xF2, 0xFC, 0xFF, 0xFF, 0x48, 0x8B, + 0xCF, 0xFF, 0x15, 0x39, 0xC6, 0xFF, 0xFF, 0x48, 0x8B, 0x4C, 0x24, 0x30, 0xE8, 0x0F, 0xB3, 0xFF, + 0xFF, 0x48, 0x8B, 0x4C, 0x24, 0x30, 0xFF, 0x15, 0x74, 0xC6, 0xFF, 0xFF, 0x41, 0x83, 0xFE, 0x08, + 0x72, 0x1A, 0x80, 0xBC, 0x24, 0x90, 0x00, 0x00, 0x00, 0x00, 0x74, 0x0A, 0x8B, 0x44, 0x24, 0x50, + 0x89, 0x06, 0xEB, 0x08, 0xEB, 0x3B, 0x8B, 0x44, 0x24, 0x50, 0x89, 0x06, 0x4D, 0x85, 0xE4, 0x74, + 0x1C, 0x8B, 0x44, 0x24, 0x48, 0x2B, 0xC6, 0x80, 0xBC, 0x24, 0x90, 0x00, 0x00, 0x00, 0x00, 0x74, + 0x08, 0x41, 0x89, 0x04, 0x24, 0xEB, 0x06, 0xEB, 0x18, 0x41, 0x89, 0x04, 0x24, 0x8B, 0x44, 0x24, + 0x54, 0xEB, 0x0E, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0x24, 0xC6, 0xFF, 0xFF, 0xB8, 0x01, 0x00, 0x00, + 0xC0, 0x4C, 0x8D, 0x5C, 0x24, 0x60, 0x49, 0x8B, 0x5B, 0x10, 0x49, 0x8B, 0x73, 0x18, 0x49, 0x8B, + 0x7B, 0x20, 0x4D, 0x8B, 0x63, 0x28, 0x49, 0x8B, 0xE3, 0x41, 0x5E, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x6C, 0x24, 0x10, 0x48, 0x89, + 0x74, 0x24, 0x20, 0x57, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41, 0x57, 0x48, 0x83, 0xEC, 0x20, + 0xBF, 0x10, 0x00, 0x00, 0x00, 0x4D, 0x8B, 0xF1, 0x45, 0x8B, 0xF8, 0x4C, 0x8B, 0xE2, 0x48, 0x8B, + 0xF1, 0x44, 0x3B, 0xC7, 0x73, 0x0D, 0x41, 0x89, 0x39, 0xB8, 0x23, 0x00, 0x00, 0xC0, 0xE9, 0xB2, + 0x00, 0x00, 0x00, 0x33, 0xDB, 0x4C, 0x8D, 0x6A, 0x10, 0x4C, 0x89, 0x6A, 0x08, 0x66, 0x89, 0x1A, + 0x48, 0x8B, 0x49, 0x08, 0x48, 0x3B, 0xCB, 0x74, 0x38, 0x4C, 0x8D, 0x4C, 0x24, 0x60, 0xFF, 0x15, + 0x54, 0xC5, 0xFF, 0xFF, 0x3B, 0xC3, 0x44, 0x8B, 0xD8, 0x7D, 0x1C, 0xB8, 0x23, 0x00, 0x00, 0xC0, + 0x41, 0x81, 0xFB, 0x04, 0x00, 0x00, 0xC0, 0x44, 0x0F, 0x44, 0xD8, 0x8B, 0x44, 0x24, 0x60, 0x41, + 0x89, 0x06, 0x41, 0x8B, 0xC3, 0xEB, 0x6E, 0x41, 0x0F, 0xB7, 0x04, 0x24, 0x4C, 0x03, 0xE8, 0x03, + 0xF8, 0x48, 0x39, 0x5E, 0x60, 0x74, 0x59, 0x48, 0x8B, 0xCE, 0x8B, 0xEB, 0x0F, 0xB7, 0x41, 0x58, + 0x03, 0xE8, 0x48, 0x8B, 0x41, 0x40, 0x48, 0x3B, 0xC8, 0x74, 0x08, 0x48, 0x8B, 0xC8, 0x48, 0x3B, + 0xC3, 0x75, 0xE9, 0x03, 0xFD, 0x41, 0x3B, 0xFF, 0x76, 0x07, 0xBB, 0x23, 0x00, 0x00, 0xC0, 0xEB, + 0x2F, 0x8B, 0xC5, 0x4C, 0x03, 0xE8, 0x44, 0x0F, 0xB7, 0x46, 0x58, 0x48, 0x8B, 0x56, 0x60, 0x4D, + 0x2B, 0xE8, 0x49, 0x8B, 0xCD, 0xE8, 0x36, 0xB3, 0xFF, 0xFF, 0x4C, 0x8B, 0x5E, 0x40, 0x49, 0x3B, + 0xF3, 0x74, 0x08, 0x49, 0x8B, 0xF3, 0x4C, 0x3B, 0xDB, 0x75, 0xDB, 0x66, 0x41, 0x01, 0x2C, 0x24, + 0x41, 0x89, 0x3E, 0x8B, 0xC3, 0x48, 0x8B, 0x5C, 0x24, 0x50, 0x48, 0x8B, 0x6C, 0x24, 0x58, 0x48, + 0x8B, 0x74, 0x24, 0x68, 0x48, 0x83, 0xC4, 0x20, 0x41, 0x5F, 0x41, 0x5E, 0x41, 0x5D, 0x41, 0x5C, + 0x5F, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x18, 0x56, 0x57, 0x41, + 0x54, 0x41, 0x55, 0x41, 0x56, 0x48, 0x81, 0xEC, 0xF0, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x05, 0xCD, + 0xD4, 0xFF, 0xFF, 0x48, 0x33, 0xC4, 0x48, 0x89, 0x84, 0x24, 0xE0, 0x00, 0x00, 0x00, 0x4D, 0x8B, + 0xE1, 0x41, 0x8B, 0xD8, 0x48, 0x8B, 0xFA, 0x4C, 0x8B, 0xF1, 0x4C, 0x8B, 0xAC, 0x24, 0x48, 0x01, + 0x00, 0x00, 0x4C, 0x89, 0x6C, 0x24, 0x70, 0x80, 0xBC, 0x24, 0x50, 0x01, 0x00, 0x00, 0x00, 0x74, + 0x36, 0x8B, 0xB4, 0x24, 0x40, 0x01, 0x00, 0x00, 0x48, 0x8B, 0xD6, 0x41, 0xB8, 0x04, 0x00, 0x00, + 0x00, 0x49, 0x8B, 0xC9, 0xFF, 0x15, 0xA6, 0xC3, 0xFF, 0xFF, 0x4D, 0x85, 0xED, 0x74, 0x11, 0xBA, + 0x04, 0x00, 0x00, 0x00, 0x44, 0x8B, 0xC2, 0x49, 0x8B, 0xCD, 0xFF, 0x15, 0x90, 0xC3, 0xFF, 0xFF, + 0xEB, 0x0C, 0xE9, 0x73, 0x08, 0x00, 0x00, 0x8B, 0xB4, 0x24, 0x40, 0x01, 0x00, 0x00, 0x48, 0x83, + 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x48, 0x48, 0x89, 0x44, 0x24, 0x20, 0x44, 0x8A, + 0x8C, 0x24, 0x50, 0x01, 0x00, 0x00, 0x4C, 0x8B, 0x05, 0xCB, 0xC3, 0xFF, 0xFF, 0x4D, 0x8B, 0x00, + 0x33, 0xD2, 0x49, 0x8B, 0xCE, 0xFF, 0x15, 0x0D, 0xC4, 0xFF, 0xFF, 0x85, 0xC0, 0x0F, 0x88, 0x37, + 0x08, 0x00, 0x00, 0x48, 0x8B, 0x05, 0x0E, 0xC4, 0xFF, 0xFF, 0x48, 0x8B, 0x08, 0x48, 0x39, 0x4C, + 0x24, 0x48, 0x75, 0x0C, 0x48, 0x81, 0xCF, 0x00, 0x00, 0x00, 0x80, 0x45, 0x32, 0xED, 0xEB, 0x22, + 0x48, 0x85, 0xFF, 0x79, 0x15, 0x48, 0x8B, 0x4C, 0x24, 0x48, 0xFF, 0x15, 0x00, 0xC4, 0xFF, 0xFF, + 0xB8, 0x08, 0x00, 0x00, 0xC0, 0xE9, 0x00, 0x08, 0x00, 0x00, 0x44, 0x8A, 0xAC, 0x24, 0x50, 0x01, + 0x00, 0x00, 0x85, 0xDB, 0x0F, 0x84, 0x3F, 0x07, 0x00, 0x00, 0x41, 0xBE, 0x01, 0x00, 0x00, 0x00, + 0x41, 0x2B, 0xDE, 0x0F, 0x84, 0xE5, 0x05, 0x00, 0x00, 0x41, 0x2B, 0xDE, 0x0F, 0x84, 0x07, 0x05, + 0x00, 0x00, 0x41, 0x2B, 0xDE, 0x0F, 0x84, 0x8C, 0x04, 0x00, 0x00, 0x41, 0x2B, 0xDE, 0x0F, 0x84, + 0x07, 0x04, 0x00, 0x00, 0x41, 0x2B, 0xDE, 0x0F, 0x84, 0x82, 0x03, 0x00, 0x00, 0x41, 0x2B, 0xDE, + 0x0F, 0x84, 0x0F, 0x02, 0x00, 0x00, 0x41, 0x2B, 0xDE, 0x0F, 0x84, 0xF9, 0x00, 0x00, 0x00, 0x41, + 0x3B, 0xDE, 0x74, 0x13, 0xBF, 0x03, 0x00, 0x00, 0xC0, 0x89, 0x7C, 0x24, 0x40, 0x83, 0x64, 0x24, + 0x44, 0x00, 0xE9, 0x59, 0x07, 0x00, 0x00, 0x83, 0xFE, 0x08, 0x0F, 0x85, 0xCA, 0x00, 0x00, 0x00, + 0x48, 0x8D, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, 0x24, 0x48, 0xFF, 0x15, 0x90, 0xC3, 0xFF, 0xFF, + 0x48, 0x83, 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x60, 0x48, 0x89, 0x44, 0x24, 0x20, + 0x45, 0x8A, 0xCD, 0x4C, 0x8B, 0x05, 0x16, 0xC3, 0xFF, 0xFF, 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x48, + 0x8B, 0xCF, 0xFF, 0x15, 0x20, 0xC3, 0xFF, 0xFF, 0x8B, 0xF8, 0x89, 0x44, 0x24, 0x40, 0x48, 0x8D, + 0x4C, 0x24, 0x78, 0xFF, 0x15, 0xDF, 0xC2, 0xFF, 0xFF, 0x85, 0xFF, 0x0F, 0x88, 0xFF, 0x06, 0x00, + 0x00, 0x48, 0x8B, 0x4C, 0x24, 0x60, 0x48, 0x83, 0x79, 0x08, 0x00, 0x74, 0x46, 0x48, 0x8B, 0x49, + 0x08, 0x48, 0x8B, 0x49, 0x08, 0x48, 0x85, 0xC9, 0x74, 0x39, 0x48, 0x8D, 0x44, 0x24, 0x50, 0x48, + 0x89, 0x44, 0x24, 0x30, 0xC6, 0x44, 0x24, 0x28, 0x00, 0x48, 0x8B, 0x05, 0xC8, 0xC2, 0xFF, 0xFF, + 0x48, 0x8B, 0x10, 0x48, 0x89, 0x54, 0x24, 0x20, 0x45, 0x33, 0xC9, 0x45, 0x33, 0xC0, 0x33, 0xD2, + 0xFF, 0x15, 0x02, 0xC3, 0xFF, 0xFF, 0x8B, 0xF8, 0x89, 0x44, 0x24, 0x40, 0x48, 0x8B, 0x44, 0x24, + 0x50, 0xEB, 0x07, 0x33, 0xC0, 0x48, 0x89, 0x44, 0x24, 0x50, 0x85, 0xFF, 0x78, 0x0C, 0x49, 0x89, + 0x04, 0x24, 0xEB, 0x06, 0x8B, 0xF8, 0x89, 0x44, 0x24, 0x40, 0x48, 0x8B, 0x4C, 0x24, 0x60, 0xFF, + 0x15, 0xBB, 0xC2, 0xFF, 0xFF, 0xE9, 0x86, 0x06, 0x00, 0x00, 0xBF, 0x04, 0x00, 0x00, 0xC0, 0x89, + 0x7C, 0x24, 0x40, 0xE9, 0x78, 0x06, 0x00, 0x00, 0x48, 0x8D, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, + 0x24, 0x48, 0xFF, 0x15, 0xB8, 0xC2, 0xFF, 0xFF, 0x48, 0x83, 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, + 0x44, 0x24, 0x60, 0x48, 0x89, 0x44, 0x24, 0x20, 0x45, 0x8A, 0xCD, 0x4C, 0x8B, 0x05, 0x3E, 0xC2, + 0xFF, 0xFF, 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0xCF, 0xFF, 0x15, 0x48, 0xC2, 0xFF, 0xFF, + 0x8B, 0xF8, 0x89, 0x44, 0x24, 0x40, 0x48, 0x8D, 0x4C, 0x24, 0x78, 0xFF, 0x15, 0x07, 0xC2, 0xFF, + 0xFF, 0x85, 0xFF, 0x0F, 0x88, 0xAF, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, 0x60, 0x8A, 0x41, + 0x48, 0x88, 0x84, 0x24, 0xA8, 0x00, 0x00, 0x00, 0x8A, 0x41, 0x49, 0x88, 0x84, 0x24, 0xA9, 0x00, + 0x00, 0x00, 0x8A, 0x41, 0x4A, 0x88, 0x84, 0x24, 0xAA, 0x00, 0x00, 0x00, 0x8A, 0x41, 0x4B, 0x88, + 0x84, 0x24, 0xAB, 0x00, 0x00, 0x00, 0x8A, 0x41, 0x4C, 0x88, 0x84, 0x24, 0xAC, 0x00, 0x00, 0x00, + 0x8A, 0x41, 0x4D, 0x88, 0x84, 0x24, 0xAD, 0x00, 0x00, 0x00, 0x8A, 0x41, 0x4E, 0x88, 0x84, 0x24, + 0xAE, 0x00, 0x00, 0x00, 0x8A, 0x41, 0x4F, 0x88, 0x84, 0x24, 0xAF, 0x00, 0x00, 0x00, 0x48, 0x8B, + 0x41, 0x68, 0x48, 0x89, 0x84, 0x24, 0xB0, 0x00, 0x00, 0x00, 0x8B, 0x41, 0x50, 0x89, 0x84, 0x24, + 0xB8, 0x00, 0x00, 0x00, 0x83, 0xFE, 0x18, 0x75, 0x30, 0x48, 0x8D, 0x94, 0x24, 0xA8, 0x00, 0x00, + 0x00, 0x48, 0x8B, 0x02, 0x49, 0x89, 0x04, 0x24, 0x48, 0x8B, 0x42, 0x08, 0x49, 0x89, 0x44, 0x24, + 0x08, 0x48, 0x8B, 0x42, 0x10, 0x49, 0x89, 0x44, 0x24, 0x10, 0xEB, 0x0B, 0x8B, 0xF8, 0x89, 0x44, + 0x24, 0x40, 0x48, 0x8B, 0x4C, 0x24, 0x60, 0xEB, 0x09, 0xBF, 0x04, 0x00, 0x00, 0xC0, 0x89, 0x7C, + 0x24, 0x40, 0xFF, 0x15, 0xA8, 0xC1, 0xFF, 0xFF, 0xC7, 0x44, 0x24, 0x44, 0x18, 0x00, 0x00, 0x00, + 0xE9, 0x6B, 0x05, 0x00, 0x00, 0x83, 0xC8, 0xFF, 0x39, 0x05, 0xA2, 0xD1, 0xFF, 0xFF, 0x0F, 0x84, + 0x45, 0x01, 0x00, 0x00, 0x39, 0x05, 0xA2, 0xD1, 0xFF, 0xFF, 0x0F, 0x84, 0x39, 0x01, 0x00, 0x00, + 0x39, 0x05, 0x9E, 0xD1, 0xFF, 0xFF, 0x0F, 0x84, 0x2D, 0x01, 0x00, 0x00, 0x48, 0x8D, 0x54, 0x24, + 0x78, 0x48, 0x8B, 0x4C, 0x24, 0x48, 0xFF, 0x15, 0x84, 0xC1, 0xFF, 0xFF, 0x48, 0x83, 0x64, 0x24, + 0x28, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x50, 0x48, 0x89, 0x44, 0x24, 0x20, 0x45, 0x8A, 0xCD, 0x45, + 0x33, 0xC0, 0x33, 0xD2, 0x48, 0x8B, 0xCF, 0xFF, 0x15, 0x1B, 0xC1, 0xFF, 0xFF, 0x8B, 0xF8, 0x89, + 0x44, 0x24, 0x40, 0x48, 0x8D, 0x4C, 0x24, 0x78, 0xFF, 0x15, 0xDA, 0xC0, 0xFF, 0xFF, 0x85, 0xFF, + 0x0F, 0x88, 0xEC, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, 0x50, 0xE8, 0x44, 0xF7, 0xFF, 0xFF, + 0x48, 0x85, 0xC0, 0x74, 0x3B, 0x8B, 0x1D, 0x39, 0xD1, 0xFF, 0xFF, 0x48, 0x03, 0xD8, 0x48, 0x8D, + 0x15, 0x7B, 0x2C, 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, 0x60, 0xFF, 0x15, 0x10, 0xC0, 0xFF, 0xFF, + 0x45, 0x33, 0xC0, 0x48, 0x8D, 0x54, 0x24, 0x60, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0x8F, 0xC0, 0xFF, + 0xFF, 0x84, 0xC0, 0x75, 0x14, 0xBF, 0x24, 0x00, 0x00, 0xC0, 0x89, 0x7C, 0x24, 0x40, 0xEB, 0x09, + 0xBF, 0xBB, 0x00, 0x00, 0xC0, 0x89, 0x7C, 0x24, 0x40, 0x85, 0xFF, 0x78, 0x7F, 0x8B, 0x0D, 0xE9, + 0xD0, 0xFF, 0xFF, 0x48, 0x8B, 0x44, 0x24, 0x50, 0x48, 0x8B, 0x14, 0x01, 0x48, 0x85, 0xD2, 0x74, + 0x16, 0x8B, 0x05, 0xC9, 0xD0, 0xFF, 0xFF, 0xF3, 0x0F, 0x6F, 0x04, 0x10, 0xF3, 0x0F, 0x7F, 0x84, + 0x24, 0xA8, 0x00, 0x00, 0x00, 0xEB, 0x13, 0x33, 0xD2, 0x44, 0x8D, 0x42, 0x10, 0x48, 0x8D, 0x8C, + 0x24, 0xA8, 0x00, 0x00, 0x00, 0xE8, 0x16, 0xB3, 0xFF, 0xFF, 0x48, 0x83, 0xA4, 0x24, 0xB8, 0x00, + 0x00, 0x00, 0x00, 0x83, 0xFE, 0x18, 0x75, 0x2B, 0x48, 0x8D, 0x8C, 0x24, 0xA8, 0x00, 0x00, 0x00, + 0x48, 0x8B, 0x01, 0x49, 0x89, 0x04, 0x24, 0x48, 0x8B, 0x41, 0x08, 0x49, 0x89, 0x44, 0x24, 0x08, + 0x48, 0x8B, 0x41, 0x10, 0x49, 0x89, 0x44, 0x24, 0x10, 0xEB, 0x06, 0x8B, 0xF8, 0x89, 0x44, 0x24, + 0x40, 0xEB, 0x09, 0xBF, 0x04, 0x00, 0x00, 0xC0, 0x89, 0x7C, 0x24, 0x40, 0x48, 0x8B, 0x4C, 0x24, + 0x50, 0xFF, 0x15, 0x49, 0xC0, 0xFF, 0xFF, 0xEB, 0x09, 0xBF, 0xBB, 0x00, 0x00, 0xC0, 0x89, 0x7C, + 0x24, 0x40, 0xC7, 0x44, 0x24, 0x44, 0x18, 0x00, 0x00, 0x00, 0xE9, 0x01, 0x04, 0x00, 0x00, 0x48, + 0x8D, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, 0x24, 0x48, 0xFF, 0x15, 0x41, 0xC0, 0xFF, 0xFF, 0x48, + 0x83, 0x64, 0x24, 0x20, 0x00, 0x41, 0xB9, 0x30, 0x00, 0x00, 0x00, 0x4C, 0x8D, 0x84, 0x24, 0xA8, + 0x00, 0x00, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0xCF, 0xFF, 0x15, 0x12, 0xC0, 0xFF, 0xFF, 0x8B, 0xF8, + 0x89, 0x44, 0x24, 0x40, 0x48, 0x8D, 0x4C, 0x24, 0x78, 0xFF, 0x15, 0x99, 0xBF, 0xFF, 0xFF, 0x85, + 0xFF, 0x78, 0x2B, 0x83, 0xFE, 0x30, 0x75, 0x1D, 0x49, 0x8B, 0xCC, 0x48, 0x8D, 0x94, 0x24, 0xA8, + 0x00, 0x00, 0x00, 0x44, 0x8B, 0xC6, 0xE8, 0xE5, 0xAD, 0xFF, 0xFF, 0xEB, 0x06, 0x8B, 0xF8, 0x89, + 0x44, 0x24, 0x40, 0xEB, 0x09, 0xBF, 0x04, 0x00, 0x00, 0xC0, 0x89, 0x7C, 0x24, 0x40, 0xC7, 0x44, + 0x24, 0x44, 0x30, 0x00, 0x00, 0x00, 0xE9, 0x85, 0x03, 0x00, 0x00, 0x48, 0x8D, 0x54, 0x24, 0x78, + 0x48, 0x8B, 0x4C, 0x24, 0x48, 0xFF, 0x15, 0xC5, 0xBF, 0xFF, 0xFF, 0x48, 0x83, 0x64, 0x24, 0x20, + 0x00, 0x41, 0xB9, 0x30, 0x00, 0x00, 0x00, 0x4C, 0x8D, 0x84, 0x24, 0xA8, 0x00, 0x00, 0x00, 0x33, + 0xD2, 0x48, 0x8B, 0xCF, 0xFF, 0x15, 0x7E, 0xBF, 0xFF, 0xFF, 0x8B, 0xF8, 0x89, 0x44, 0x24, 0x40, + 0x48, 0x8D, 0x4C, 0x24, 0x78, 0xFF, 0x15, 0x1D, 0xBF, 0xFF, 0xFF, 0x85, 0xFF, 0x78, 0x2B, 0x83, + 0xFE, 0x30, 0x75, 0x1D, 0x49, 0x8B, 0xCC, 0x48, 0x8D, 0x94, 0x24, 0xA8, 0x00, 0x00, 0x00, 0x44, + 0x8B, 0xC6, 0xE8, 0x69, 0xAD, 0xFF, 0xFF, 0xEB, 0x06, 0x8B, 0xF8, 0x89, 0x44, 0x24, 0x40, 0xEB, + 0x09, 0xBF, 0x04, 0x00, 0x00, 0xC0, 0x89, 0x7C, 0x24, 0x40, 0xC7, 0x44, 0x24, 0x44, 0x30, 0x00, + 0x00, 0x00, 0xE9, 0x09, 0x03, 0x00, 0x00, 0x48, 0x8D, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, 0x24, + 0x48, 0xFF, 0x15, 0x49, 0xBF, 0xFF, 0xFF, 0x48, 0x83, 0x64, 0x24, 0x20, 0x00, 0x41, 0xB9, 0x02, + 0x00, 0x00, 0x00, 0x4C, 0x8D, 0x44, 0x24, 0x58, 0x41, 0x8D, 0x51, 0x02, 0x48, 0x8B, 0xCF, 0xFF, + 0x15, 0xA3, 0xBE, 0xFF, 0xFF, 0x8B, 0xF8, 0x89, 0x44, 0x24, 0x40, 0x48, 0x8D, 0x4C, 0x24, 0x78, + 0xFF, 0x15, 0xA2, 0xBE, 0xFF, 0xFF, 0x85, 0xFF, 0x78, 0x22, 0x83, 0xFE, 0x02, 0x75, 0x14, 0x0F, + 0xB7, 0x44, 0x24, 0x58, 0x66, 0x41, 0x89, 0x04, 0x24, 0xEB, 0x06, 0x8B, 0xF8, 0x89, 0x44, 0x24, + 0x40, 0xEB, 0x09, 0xBF, 0x04, 0x00, 0x00, 0xC0, 0x89, 0x7C, 0x24, 0x40, 0xC7, 0x44, 0x24, 0x44, + 0x02, 0x00, 0x00, 0x00, 0xE9, 0x97, 0x02, 0x00, 0x00, 0xBA, 0x68, 0x00, 0x00, 0x00, 0x89, 0x54, + 0x24, 0x44, 0x8B, 0xC6, 0x3B, 0xF2, 0x0F, 0x42, 0xC2, 0x8D, 0x50, 0x08, 0x41, 0xB8, 0x4B, 0x70, + 0x68, 0x51, 0x41, 0x8B, 0xCE, 0xFF, 0x15, 0xAD, 0xBE, 0xFF, 0xFF, 0x48, 0x8B, 0xD8, 0x48, 0x89, + 0x44, 0x24, 0x60, 0x48, 0x85, 0xC0, 0x0F, 0x84, 0x94, 0x00, 0x00, 0x00, 0x44, 0x8B, 0xEE, 0x44, + 0x8B, 0xC6, 0x33, 0xD2, 0x48, 0x8B, 0xC8, 0xE8, 0x04, 0xB1, 0xFF, 0xFF, 0x48, 0x8D, 0x54, 0x24, + 0x78, 0x48, 0x8B, 0x4C, 0x24, 0x48, 0xFF, 0x15, 0x94, 0xBE, 0xFF, 0xFF, 0x4C, 0x8D, 0x5C, 0x24, + 0x44, 0x4C, 0x89, 0x5C, 0x24, 0x20, 0x44, 0x8B, 0xCE, 0x4C, 0x8B, 0xC3, 0xBA, 0x02, 0x00, 0x00, + 0x00, 0x48, 0x8B, 0xCF, 0xFF, 0x15, 0xEE, 0xBD, 0xFF, 0xFF, 0x8B, 0xF8, 0x89, 0x44, 0x24, 0x40, + 0x48, 0x8D, 0x4C, 0x24, 0x78, 0xFF, 0x15, 0xED, 0xBD, 0xFF, 0xFF, 0x85, 0xFF, 0x78, 0x2E, 0x48, + 0x8B, 0x43, 0x08, 0x48, 0x85, 0xC0, 0x74, 0x0A, 0x48, 0x2B, 0xC3, 0x49, 0x03, 0xC4, 0x48, 0x89, + 0x43, 0x08, 0x4D, 0x8B, 0xC5, 0x48, 0x8B, 0xD3, 0x49, 0x8B, 0xCC, 0xE8, 0x30, 0xAC, 0xFF, 0xFF, + 0xEB, 0x0B, 0x8B, 0xF8, 0x89, 0x44, 0x24, 0x40, 0x48, 0x8B, 0x5C, 0x24, 0x60, 0xBA, 0x4B, 0x70, + 0x68, 0x51, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0x0D, 0xBD, 0xFF, 0xFF, 0xE9, 0xD0, 0x01, 0x00, 0x00, + 0xBF, 0x9A, 0x00, 0x00, 0xC0, 0x89, 0x7C, 0x24, 0x40, 0xE9, 0xC2, 0x01, 0x00, 0x00, 0xBB, 0x10, + 0x00, 0x00, 0x00, 0x89, 0x5C, 0x24, 0x44, 0x48, 0x8D, 0x54, 0x24, 0x78, 0x48, 0x8B, 0x4C, 0x24, + 0x48, 0xFF, 0x15, 0xF9, 0xBD, 0xFF, 0xFF, 0x48, 0x83, 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, + 0x24, 0x60, 0x48, 0x89, 0x44, 0x24, 0x20, 0x45, 0x8A, 0xCD, 0x45, 0x33, 0xC0, 0x33, 0xD2, 0x48, + 0x8B, 0xCF, 0xFF, 0x15, 0x90, 0xBD, 0xFF, 0xFF, 0x8B, 0xF8, 0x89, 0x44, 0x24, 0x40, 0x48, 0x8D, + 0x4C, 0x24, 0x78, 0xFF, 0x15, 0x4F, 0xBD, 0xFF, 0xFF, 0x85, 0xFF, 0x0F, 0x88, 0x6F, 0x01, 0x00, + 0x00, 0x8B, 0xD6, 0x3B, 0xF3, 0x0F, 0x42, 0xD3, 0x41, 0xB8, 0x4B, 0x70, 0x68, 0x51, 0x41, 0x8B, + 0xCE, 0xFF, 0x15, 0x91, 0xBD, 0xFF, 0xFF, 0x48, 0x8B, 0xD8, 0x48, 0x89, 0x44, 0x24, 0x50, 0x48, + 0x85, 0xC0, 0x0F, 0x84, 0xBB, 0x00, 0x00, 0x00, 0x44, 0x8B, 0xEE, 0x44, 0x8B, 0xC6, 0x33, 0xD2, + 0x48, 0x8B, 0xC8, 0xE8, 0xE8, 0xAF, 0xFF, 0xFF, 0x48, 0x8B, 0x7C, 0x24, 0x60, 0x48, 0x8B, 0xCF, + 0xE8, 0x7F, 0xF3, 0xFF, 0xFF, 0x48, 0x8B, 0x15, 0x14, 0xBD, 0xFF, 0xFF, 0x48, 0x3B, 0x02, 0x75, + 0x21, 0x83, 0x7F, 0x74, 0x00, 0x75, 0x06, 0x83, 0x7F, 0x70, 0x00, 0x74, 0x15, 0x4C, 0x8D, 0x4C, + 0x24, 0x44, 0x44, 0x8B, 0xC6, 0x48, 0x8B, 0xD3, 0x48, 0x8B, 0xCF, 0xE8, 0x34, 0xF7, 0xFF, 0xFF, + 0xEB, 0x14, 0x4C, 0x8D, 0x4C, 0x24, 0x44, 0x44, 0x8B, 0xC6, 0x48, 0x8B, 0xD3, 0x48, 0x8B, 0xCF, + 0xFF, 0x15, 0xD2, 0xBC, 0xFF, 0xFF, 0xB9, 0x23, 0x00, 0x00, 0xC0, 0x3D, 0x05, 0x00, 0x00, 0x80, + 0x0F, 0x44, 0xC1, 0x8D, 0x79, 0xE1, 0x3B, 0xC7, 0x0F, 0x44, 0xC1, 0x8B, 0xF8, 0x89, 0x44, 0x24, + 0x40, 0x85, 0xC0, 0x78, 0x2E, 0x48, 0x8B, 0x43, 0x08, 0x48, 0x85, 0xC0, 0x74, 0x0A, 0x48, 0x2B, + 0xC3, 0x49, 0x03, 0xC4, 0x48, 0x89, 0x43, 0x08, 0x4D, 0x8B, 0xC5, 0x48, 0x8B, 0xD3, 0x49, 0x8B, + 0xCC, 0xE8, 0xEA, 0xAA, 0xFF, 0xFF, 0xEB, 0x0B, 0x8B, 0xF8, 0x89, 0x44, 0x24, 0x40, 0x48, 0x8B, + 0x5C, 0x24, 0x50, 0xBA, 0x4B, 0x70, 0x68, 0x51, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0xC7, 0xBB, 0xFF, + 0xFF, 0xEB, 0x09, 0xBF, 0x9A, 0x00, 0x00, 0xC0, 0x89, 0x7C, 0x24, 0x40, 0x48, 0x8B, 0x4C, 0x24, + 0x60, 0xFF, 0x15, 0xA9, 0xBC, 0xFF, 0xFF, 0xEB, 0x77, 0x48, 0x8D, 0x54, 0x24, 0x78, 0x48, 0x8B, + 0x4C, 0x24, 0x48, 0xFF, 0x15, 0xB7, 0xBC, 0xFF, 0xFF, 0x48, 0x83, 0x64, 0x24, 0x20, 0x00, 0x41, + 0xB9, 0x38, 0x00, 0x00, 0x00, 0x4C, 0x8D, 0x84, 0x24, 0xA8, 0x00, 0x00, 0x00, 0x33, 0xD2, 0x48, + 0x8B, 0xCF, 0xFF, 0x15, 0x10, 0xBC, 0xFF, 0xFF, 0x8B, 0xF8, 0x89, 0x44, 0x24, 0x40, 0x48, 0x8D, + 0x4C, 0x24, 0x78, 0xFF, 0x15, 0x0F, 0xBC, 0xFF, 0xFF, 0x85, 0xFF, 0x78, 0x2B, 0x83, 0xFE, 0x38, + 0x75, 0x1D, 0x49, 0x8B, 0xCC, 0x48, 0x8D, 0x94, 0x24, 0xA8, 0x00, 0x00, 0x00, 0x44, 0x8B, 0xC6, + 0xE8, 0x5B, 0xAA, 0xFF, 0xFF, 0xEB, 0x06, 0x8B, 0xF8, 0x89, 0x44, 0x24, 0x40, 0xEB, 0x09, 0xBF, + 0x04, 0x00, 0x00, 0xC0, 0x89, 0x7C, 0x24, 0x40, 0xC7, 0x44, 0x24, 0x44, 0x38, 0x00, 0x00, 0x00, + 0x48, 0x8B, 0x4C, 0x24, 0x48, 0xFF, 0x15, 0x25, 0xBC, 0xFF, 0xFF, 0x4C, 0x8B, 0x6C, 0x24, 0x70, + 0x4D, 0x85, 0xED, 0x74, 0x23, 0x80, 0xBC, 0x24, 0x50, 0x01, 0x00, 0x00, 0x00, 0x74, 0x10, 0x8B, + 0x44, 0x24, 0x44, 0x41, 0x89, 0x45, 0x00, 0xEB, 0x04, 0x8B, 0x7C, 0x24, 0x40, 0xEB, 0x09, 0x8B, + 0x4C, 0x24, 0x44, 0x49, 0x8B, 0xC5, 0x89, 0x08, 0x8B, 0xC7, 0x48, 0x8B, 0x8C, 0x24, 0xE0, 0x00, + 0x00, 0x00, 0x48, 0x33, 0xCC, 0xE8, 0x86, 0xA9, 0xFF, 0xFF, 0x48, 0x8B, 0x9C, 0x24, 0x30, 0x01, + 0x00, 0x00, 0x48, 0x81, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x41, 0x5E, 0x41, 0x5D, 0x41, 0x5C, 0x5F, + 0x5E, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x58, 0x08, 0x48, + 0x89, 0x70, 0x18, 0x48, 0x89, 0x78, 0x20, 0x48, 0x89, 0x50, 0x10, 0x41, 0x54, 0x41, 0x55, 0x41, + 0x56, 0x48, 0x83, 0xEC, 0x70, 0x4D, 0x8B, 0xE9, 0x45, 0x8B, 0xE0, 0x48, 0x8B, 0xFA, 0x4C, 0x8B, + 0xF1, 0x8A, 0x9C, 0x24, 0xB8, 0x00, 0x00, 0x00, 0x84, 0xDB, 0x74, 0x2B, 0xB8, 0x04, 0x00, 0x00, + 0x00, 0x44, 0x8D, 0x40, 0xFD, 0x41, 0x83, 0xFC, 0x03, 0x44, 0x0F, 0x45, 0xC0, 0x8B, 0xB4, 0x24, + 0xB0, 0x00, 0x00, 0x00, 0x48, 0x8B, 0xD6, 0x49, 0x8B, 0xC9, 0xFF, 0x15, 0xD8, 0xBA, 0xFF, 0xFF, + 0xEB, 0x0C, 0xE9, 0xE1, 0x00, 0x00, 0x00, 0x8B, 0xB4, 0x24, 0xB0, 0x00, 0x00, 0x00, 0x48, 0x83, + 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x30, 0x48, 0x89, 0x44, 0x24, 0x20, 0x44, 0x8A, + 0xCB, 0x4C, 0x8B, 0x05, 0xD0, 0xBA, 0xFF, 0xFF, 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x49, 0x8B, 0xCE, + 0xFF, 0x15, 0x12, 0xBB, 0xFF, 0xFF, 0x8B, 0xD8, 0x85, 0xC0, 0x0F, 0x88, 0xA8, 0x00, 0x00, 0x00, + 0x48, 0x8B, 0x4C, 0x24, 0x30, 0x48, 0x8B, 0x05, 0x0C, 0xBB, 0xFF, 0xFF, 0x48, 0x3B, 0x08, 0x75, + 0x11, 0x48, 0x81, 0xCF, 0x00, 0x00, 0x00, 0x80, 0x48, 0x89, 0xBC, 0x24, 0x98, 0x00, 0x00, 0x00, + 0xEB, 0x12, 0x48, 0x85, 0xFF, 0x79, 0x0D, 0xFF, 0x15, 0x03, 0xBB, 0xFF, 0xFF, 0xB8, 0x08, 0x00, + 0x00, 0xC0, 0xEB, 0x74, 0x41, 0x83, 0xFC, 0x03, 0x74, 0x07, 0xBB, 0x03, 0x00, 0x00, 0xC0, 0xEB, + 0x5F, 0x83, 0xFE, 0x02, 0x75, 0x20, 0x41, 0x0F, 0xB7, 0x45, 0x00, 0x66, 0x89, 0x84, 0x24, 0xB8, + 0x00, 0x00, 0x00, 0xEB, 0x0F, 0x8B, 0xD8, 0x48, 0x8B, 0xBC, 0x24, 0x98, 0x00, 0x00, 0x00, 0x48, + 0x8B, 0x4C, 0x24, 0x30, 0xEB, 0x05, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0x85, 0xDB, 0x78, 0x31, 0x48, + 0x8D, 0x54, 0x24, 0x38, 0xFF, 0x15, 0xD6, 0xBA, 0xFF, 0xFF, 0x45, 0x33, 0xC0, 0x48, 0x8D, 0x94, + 0x24, 0xB8, 0x00, 0x00, 0x00, 0x48, 0x8B, 0xCF, 0xFF, 0x15, 0x92, 0xBA, 0xFF, 0xFF, 0x8B, 0xD8, + 0x48, 0x8D, 0x4C, 0x24, 0x38, 0xFF, 0x15, 0x3D, 0xBA, 0xFF, 0xFF, 0x48, 0x8B, 0x4C, 0x24, 0x30, + 0xFF, 0x15, 0x8A, 0xBA, 0xFF, 0xFF, 0x8B, 0xC3, 0x4C, 0x8D, 0x5C, 0x24, 0x70, 0x49, 0x8B, 0x5B, + 0x20, 0x49, 0x8B, 0x73, 0x30, 0x49, 0x8B, 0x7B, 0x38, 0x49, 0x8B, 0xE3, 0x41, 0x5E, 0x41, 0x5D, + 0x41, 0x5C, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, + 0x08, 0x48, 0x89, 0x6C, 0x24, 0x18, 0x56, 0x57, 0x41, 0x55, 0x41, 0x56, 0x41, 0x57, 0x48, 0x81, + 0xEC, 0x80, 0x00, 0x00, 0x00, 0x33, 0xDB, 0x4D, 0x8B, 0xF9, 0x49, 0x8B, 0xE8, 0x4C, 0x8B, 0xEA, + 0x48, 0x8B, 0xF1, 0x44, 0x8A, 0xF3, 0x88, 0x9C, 0x24, 0xB8, 0x00, 0x00, 0x00, 0x48, 0x3B, 0xD3, + 0x74, 0x05, 0x4C, 0x3B, 0xCB, 0x75, 0x14, 0xF6, 0x84, 0x24, 0xE0, 0x00, 0x00, 0x00, 0x01, 0x75, + 0x0A, 0xB8, 0x30, 0x00, 0x00, 0xC0, 0xE9, 0x56, 0x01, 0x00, 0x00, 0x40, 0x8A, 0xBC, 0x24, 0xE8, + 0x00, 0x00, 0x00, 0x40, 0x3A, 0xFB, 0x74, 0x15, 0x0F, 0xBA, 0xA4, 0x24, 0xD8, 0x00, 0x00, 0x00, + 0x09, 0x73, 0x0A, 0xB8, 0xF4, 0x00, 0x00, 0xC0, 0xE9, 0x34, 0x01, 0x00, 0x00, 0x48, 0x8B, 0x05, + 0xD4, 0xB9, 0xFF, 0xFF, 0x48, 0x3B, 0x08, 0x75, 0x0A, 0x48, 0x81, 0xCD, 0x00, 0x00, 0x00, 0x80, + 0x40, 0x8A, 0xFB, 0xFF, 0x15, 0xA7, 0xB9, 0xFF, 0xFF, 0x48, 0x3B, 0xF0, 0x75, 0x14, 0xF6, 0x84, + 0x24, 0xE0, 0x00, 0x00, 0x00, 0x01, 0x74, 0x0A, 0xB8, 0xDB, 0x00, 0x00, 0xC0, 0xE9, 0xFF, 0x00, + 0x00, 0x00, 0xFF, 0x15, 0x88, 0xB9, 0xFF, 0xFF, 0x48, 0x3B, 0xF0, 0x74, 0x11, 0x48, 0x8D, 0x54, + 0x24, 0x50, 0x48, 0x8B, 0xCE, 0xFF, 0x15, 0xC5, 0xB9, 0xFF, 0xFF, 0x41, 0xB6, 0x01, 0xF6, 0x84, + 0x24, 0xE0, 0x00, 0x00, 0x00, 0x01, 0x48, 0x8B, 0xCD, 0x74, 0x24, 0x40, 0x8A, 0xD7, 0xFF, 0x15, + 0x6C, 0xB9, 0xFF, 0xFF, 0x8B, 0xF8, 0x44, 0x3A, 0xF3, 0x0F, 0x84, 0xC0, 0x00, 0x00, 0x00, 0x48, + 0x8D, 0x4C, 0x24, 0x50, 0xFF, 0x15, 0x1E, 0xB9, 0xFF, 0xFF, 0xE9, 0xB0, 0x00, 0x00, 0x00, 0x48, + 0x8D, 0x44, 0x24, 0x40, 0x44, 0x8A, 0xCF, 0x45, 0x33, 0xC0, 0x33, 0xD2, 0x48, 0x89, 0x5C, 0x24, + 0x28, 0x48, 0x89, 0x44, 0x24, 0x20, 0xFF, 0x15, 0x2C, 0xB9, 0xFF, 0xFF, 0x8B, 0xF8, 0x44, 0x3A, + 0xF3, 0x74, 0x0B, 0x48, 0x8D, 0x4C, 0x24, 0x50, 0xFF, 0x15, 0xEA, 0xB8, 0xFF, 0xFF, 0x3B, 0xFB, + 0x7C, 0x7D, 0xFF, 0x15, 0x08, 0xB9, 0xFF, 0xFF, 0x4C, 0x3B, 0xE8, 0x74, 0x16, 0x48, 0x8D, 0x54, + 0x24, 0x50, 0x49, 0x8B, 0xCD, 0xFF, 0x15, 0x45, 0xB9, 0xFF, 0xFF, 0xC6, 0x84, 0x24, 0xB8, 0x00, + 0x00, 0x00, 0x01, 0x44, 0x8B, 0x8C, 0x24, 0xD0, 0x00, 0x00, 0x00, 0x8B, 0x94, 0x24, 0xD8, 0x00, + 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0x48, 0x8D, 0x44, 0x24, 0x48, 0x45, 0x33, 0xC0, 0x48, + 0x89, 0x44, 0x24, 0x30, 0x88, 0x5C, 0x24, 0x28, 0x48, 0x89, 0x5C, 0x24, 0x20, 0xFF, 0x15, 0x05, + 0xB9, 0xFF, 0xFF, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0x8B, 0xF8, 0xFF, 0x15, 0xE0, 0xB8, 0xFF, 0xFF, + 0x38, 0x9C, 0x24, 0xB8, 0x00, 0x00, 0x00, 0x74, 0x0B, 0x48, 0x8D, 0x4C, 0x24, 0x50, 0xFF, 0x15, + 0x74, 0xB8, 0xFF, 0xFF, 0x3B, 0xFB, 0x48, 0x0F, 0x4D, 0x5C, 0x24, 0x48, 0x49, 0x89, 0x1F, 0x8B, + 0xC7, 0x4C, 0x8D, 0x9C, 0x24, 0x80, 0x00, 0x00, 0x00, 0x49, 0x8B, 0x5B, 0x30, 0x49, 0x8B, 0x6B, + 0x40, 0x49, 0x8B, 0xE3, 0x41, 0x5F, 0x41, 0x5E, 0x41, 0x5D, 0x5F, 0x5E, 0xC3, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x58, 0x08, 0x48, 0x89, 0x70, 0x10, 0x48, + 0x89, 0x78, 0x18, 0x4C, 0x89, 0x60, 0x20, 0x41, 0x55, 0x48, 0x83, 0xEC, 0x60, 0x49, 0x8B, 0xD9, + 0x49, 0x8B, 0xF8, 0x4C, 0x8B, 0xEA, 0x4C, 0x8B, 0xE1, 0x48, 0x83, 0x60, 0xD8, 0x00, 0x48, 0x83, + 0x60, 0xE0, 0x00, 0x40, 0x8A, 0xB4, 0x24, 0xA8, 0x00, 0x00, 0x00, 0x40, 0x84, 0xF6, 0x74, 0x1E, + 0x48, 0x85, 0xDB, 0x74, 0x12, 0xBA, 0x08, 0x00, 0x00, 0x00, 0x44, 0x8D, 0x42, 0xF9, 0x48, 0x8B, + 0xCB, 0xFF, 0x15, 0x69, 0xB7, 0xFF, 0xFF, 0xEB, 0x05, 0xE9, 0xF1, 0x00, 0x00, 0x00, 0x48, 0x83, + 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x40, 0x48, 0x89, 0x44, 0x24, 0x20, 0x44, 0x8A, + 0xCE, 0x4C, 0x8B, 0x05, 0xB0, 0xB7, 0xFF, 0xFF, 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x49, 0x8B, 0xCC, + 0xFF, 0x15, 0xF2, 0xB7, 0xFF, 0xFF, 0x85, 0xC0, 0x0F, 0x88, 0xC1, 0x00, 0x00, 0x00, 0x48, 0x85, + 0xFF, 0x74, 0x3D, 0x48, 0x83, 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x48, 0x48, 0x89, + 0x44, 0x24, 0x20, 0x44, 0x8A, 0xCE, 0x4C, 0x8B, 0x05, 0x7B, 0xB7, 0xFF, 0xFF, 0x4D, 0x8B, 0x00, + 0x33, 0xD2, 0x48, 0x8B, 0xCF, 0xFF, 0x15, 0xBD, 0xB7, 0xFF, 0xFF, 0x8B, 0xF8, 0x85, 0xC0, 0x79, + 0x0F, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0xFF, 0x15, 0xD4, 0xB7, 0xFF, 0xFF, 0x8B, 0xC7, 0xEB, 0x7F, + 0x40, 0x88, 0x74, 0x24, 0x38, 0x8B, 0x84, 0x24, 0xA0, 0x00, 0x00, 0x00, 0x89, 0x44, 0x24, 0x30, + 0x8B, 0x84, 0x24, 0x98, 0x00, 0x00, 0x00, 0x89, 0x44, 0x24, 0x28, 0x8B, 0x84, 0x24, 0x90, 0x00, + 0x00, 0x00, 0x89, 0x44, 0x24, 0x20, 0x4C, 0x8D, 0x4C, 0x24, 0x50, 0x4D, 0x8B, 0xC5, 0x48, 0x8B, + 0x54, 0x24, 0x48, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0xE8, 0x2F, 0xFD, 0xFF, 0xFF, 0x8B, 0xF8, 0x48, + 0x85, 0xDB, 0x74, 0x1E, 0x40, 0x84, 0xF6, 0x74, 0x11, 0x48, 0x8B, 0x4C, 0x24, 0x50, 0x48, 0x89, + 0x0B, 0xEB, 0x05, 0xBF, 0x05, 0x00, 0x00, 0xC0, 0xEB, 0x08, 0x48, 0x8B, 0x44, 0x24, 0x50, 0x48, + 0x89, 0x03, 0x48, 0x8B, 0x4C, 0x24, 0x48, 0x48, 0x85, 0xC9, 0x74, 0x06, 0xFF, 0x15, 0x5E, 0xB7, + 0xFF, 0xFF, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0xFF, 0x15, 0x53, 0xB7, 0xFF, 0xFF, 0x8B, 0xC7, 0x4C, + 0x8D, 0x5C, 0x24, 0x60, 0x49, 0x8B, 0x5B, 0x10, 0x49, 0x8B, 0x73, 0x18, 0x49, 0x8B, 0x7B, 0x20, + 0x4D, 0x8B, 0x63, 0x28, 0x49, 0x8B, 0xE3, 0x41, 0x5D, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x70, 0x08, 0x48, 0x89, 0x78, 0x10, 0x4C, 0x89, 0x60, 0x18, 0x41, + 0x55, 0x48, 0x81, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x4D, 0x8B, 0xE9, 0x4D, 0x8B, 0xE0, 0x48, 0x8B, + 0xF1, 0x83, 0x60, 0xC0, 0x00, 0x33, 0xD2, 0x44, 0x8D, 0x42, 0x28, 0x48, 0x8D, 0x48, 0xC8, 0xE8, + 0x7C, 0xA9, 0xFF, 0xFF, 0x80, 0xBC, 0x24, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x3E, 0xBA, 0x08, + 0x00, 0x00, 0x00, 0x44, 0x8B, 0xC2, 0x48, 0x8B, 0xCE, 0xFF, 0x15, 0x01, 0xB6, 0xFF, 0xFF, 0xBF, + 0x30, 0x00, 0x00, 0x00, 0x44, 0x8D, 0x47, 0xD4, 0x48, 0x8B, 0xD7, 0x49, 0x8B, 0xCC, 0xFF, 0x15, + 0x34, 0xB6, 0xFF, 0xFF, 0x48, 0x8D, 0x4C, 0x24, 0x58, 0x49, 0x8B, 0xD4, 0x4C, 0x8B, 0xC7, 0xE8, + 0xCC, 0xA4, 0xFF, 0xFF, 0x90, 0xEB, 0x18, 0xE9, 0xE8, 0x00, 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, + 0x58, 0x49, 0x8B, 0xD4, 0x41, 0xB8, 0x30, 0x00, 0x00, 0x00, 0xE8, 0xB1, 0xA4, 0xFF, 0xFF, 0x48, + 0x8B, 0x4C, 0x24, 0x68, 0x48, 0x85, 0xC9, 0x75, 0x0A, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0xE9, 0xC1, + 0x00, 0x00, 0x00, 0x80, 0xBC, 0x24, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x12, 0x0F, 0xBA, 0x64, + 0x24, 0x70, 0x09, 0x73, 0x0A, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0xE9, 0xA5, 0x00, 0x00, 0x00, 0x80, + 0xBC, 0x24, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x12, 0x48, 0x83, 0x7C, 0x24, 0x60, 0x00, 0x7D, + 0x0A, 0xB8, 0x0D, 0x00, 0x00, 0xC0, 0xE9, 0x89, 0x00, 0x00, 0x00, 0x48, 0x8D, 0x54, 0x24, 0x48, + 0xE8, 0x9F, 0xA1, 0xFF, 0xFF, 0x85, 0xC0, 0x78, 0x7B, 0x48, 0x8D, 0x44, 0x24, 0x48, 0x48, 0x89, + 0x44, 0x24, 0x68, 0x48, 0x83, 0x64, 0x24, 0x78, 0x00, 0x48, 0x83, 0xA4, 0x24, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x40, 0x48, 0x89, 0x44, 0x24, 0x30, 0x48, 0x83, 0x64, 0x24, + 0x28, 0x00, 0x83, 0x64, 0x24, 0x20, 0x00, 0x45, 0x33, 0xC9, 0x45, 0x33, 0xC0, 0x49, 0x8B, 0xD5, + 0x48, 0x8D, 0x4C, 0x24, 0x58, 0xFF, 0x15, 0x95, 0xB5, 0xFF, 0xFF, 0x8B, 0xF8, 0x48, 0x8B, 0x4C, + 0x24, 0x50, 0x48, 0x85, 0xC9, 0x74, 0x0B, 0xBA, 0x4B, 0x70, 0x68, 0x55, 0xFF, 0x15, 0xF6, 0xB4, + 0xFF, 0xFF, 0x80, 0xBC, 0x24, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x0E, 0x48, 0x8B, 0x44, 0x24, + 0x40, 0x48, 0x89, 0x06, 0xEB, 0x02, 0x8B, 0xF8, 0xEB, 0x08, 0x48, 0x8B, 0x44, 0x24, 0x40, 0x48, + 0x89, 0x06, 0x8B, 0xC7, 0x4C, 0x8D, 0x9C, 0x24, 0x90, 0x00, 0x00, 0x00, 0x49, 0x8B, 0x73, 0x10, + 0x49, 0x8B, 0x7B, 0x18, 0x4D, 0x8B, 0x63, 0x20, 0x49, 0x8B, 0xE3, 0x41, 0x5D, 0xC3, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x74, 0x24, 0x10, 0x48, 0x89, + 0x7C, 0x24, 0x18, 0x41, 0x54, 0x48, 0x83, 0xEC, 0x70, 0x41, 0x8A, 0xF1, 0x49, 0x8B, 0xD8, 0x44, + 0x8B, 0xE2, 0x48, 0x8B, 0xF9, 0x45, 0x84, 0xC9, 0x74, 0x31, 0xBA, 0x08, 0x00, 0x00, 0x00, 0x44, + 0x8B, 0xC2, 0xFF, 0x15, 0x98, 0xB4, 0xFF, 0xFF, 0xBA, 0x10, 0x00, 0x00, 0x00, 0x44, 0x8D, 0x42, + 0xF4, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0xCE, 0xB4, 0xFF, 0xFF, 0xF3, 0x0F, 0x6F, 0x2B, 0xF3, 0x0F, + 0x7F, 0x6C, 0x24, 0x58, 0xEB, 0x10, 0xE9, 0xB4, 0x00, 0x00, 0x00, 0xF3, 0x41, 0x0F, 0x6F, 0x00, + 0xF3, 0x0F, 0x7F, 0x44, 0x24, 0x58, 0x48, 0x83, 0x7C, 0x24, 0x60, 0x00, 0x74, 0x28, 0x4C, 0x8D, + 0x44, 0x24, 0x50, 0x48, 0x8D, 0x54, 0x24, 0x40, 0x48, 0x8D, 0x4C, 0x24, 0x58, 0xFF, 0x15, 0x95, + 0xB5, 0xFF, 0xFF, 0x8B, 0xD8, 0x85, 0xC0, 0x78, 0x1F, 0x48, 0x8B, 0x4C, 0x24, 0x50, 0xFF, 0x15, + 0x1C, 0xB5, 0xFF, 0xFF, 0xEB, 0x12, 0x48, 0x8D, 0x54, 0x24, 0x40, 0x48, 0x8B, 0x4C, 0x24, 0x58, + 0xFF, 0x15, 0x3A, 0xB5, 0xFF, 0xFF, 0x8B, 0xD8, 0x85, 0xDB, 0x79, 0x04, 0x8B, 0xC3, 0xEB, 0x5F, + 0x48, 0x8D, 0x44, 0x24, 0x48, 0x48, 0x89, 0x44, 0x24, 0x30, 0xC6, 0x44, 0x24, 0x28, 0x00, 0x48, + 0x8B, 0x05, 0x72, 0xB4, 0xFF, 0xFF, 0x48, 0x8B, 0x08, 0x48, 0x89, 0x4C, 0x24, 0x20, 0x45, 0x8B, + 0xCC, 0x45, 0x33, 0xC0, 0x33, 0xD2, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0xFF, 0x15, 0xE7, 0xB4, 0xFF, + 0xFF, 0x8B, 0xD8, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0xFF, 0x15, 0xC2, 0xB4, 0xFF, 0xFF, 0x85, 0xDB, + 0x78, 0x1B, 0x40, 0x84, 0xF6, 0x74, 0x0E, 0x48, 0x8B, 0x4C, 0x24, 0x48, 0x48, 0x89, 0x0F, 0xEB, + 0x02, 0x8B, 0xD8, 0xEB, 0x08, 0x48, 0x8B, 0x44, 0x24, 0x48, 0x48, 0x89, 0x07, 0x8B, 0xC3, 0x4C, + 0x8D, 0x5C, 0x24, 0x70, 0x49, 0x8B, 0x5B, 0x10, 0x49, 0x8B, 0x73, 0x18, 0x49, 0x8B, 0x7B, 0x20, + 0x49, 0x8B, 0xE3, 0x41, 0x5C, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, + 0x08, 0x48, 0x89, 0x74, 0x24, 0x10, 0x48, 0x89, 0x7C, 0x24, 0x18, 0x41, 0x54, 0x48, 0x83, 0xEC, + 0x50, 0x45, 0x8A, 0xE1, 0x49, 0x8B, 0xF8, 0x8B, 0xF2, 0x48, 0x8B, 0xD9, 0x45, 0x84, 0xC9, 0x74, + 0x18, 0xBA, 0x08, 0x00, 0x00, 0x00, 0x44, 0x8B, 0xC2, 0x48, 0x8B, 0xCF, 0xFF, 0x15, 0x6E, 0xB3, + 0xFF, 0xFF, 0xEB, 0x05, 0xE9, 0xA0, 0x00, 0x00, 0x00, 0x48, 0x83, 0x64, 0x24, 0x28, 0x00, 0x48, + 0x8D, 0x44, 0x24, 0x40, 0x48, 0x89, 0x44, 0x24, 0x20, 0x45, 0x8A, 0xCC, 0x4C, 0x8B, 0x05, 0xB5, + 0xB3, 0xFF, 0xFF, 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0xF7, 0xB3, 0xFF, + 0xFF, 0x85, 0xC0, 0x78, 0x74, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0xFF, 0x15, 0x50, 0xB4, 0xFF, 0xFF, + 0x48, 0x8B, 0xD8, 0x48, 0x8D, 0x44, 0x24, 0x48, 0x48, 0x89, 0x44, 0x24, 0x30, 0xC6, 0x44, 0x24, + 0x28, 0x00, 0x48, 0x8B, 0x0D, 0x3F, 0xB4, 0xFF, 0xFF, 0x48, 0x8B, 0x11, 0x48, 0x89, 0x54, 0x24, + 0x20, 0x44, 0x8B, 0xCE, 0x45, 0x33, 0xC0, 0x33, 0xD2, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0xF6, 0xB3, + 0xFF, 0xFF, 0x8B, 0xF0, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0x4B, 0xB4, 0xFF, 0xFF, 0x48, 0x8B, 0x4C, + 0x24, 0x40, 0xFF, 0x15, 0xC8, 0xB3, 0xFF, 0xFF, 0x85, 0xF6, 0x78, 0x1B, 0x45, 0x84, 0xE4, 0x74, + 0x0E, 0x48, 0x8B, 0x44, 0x24, 0x48, 0x48, 0x89, 0x07, 0xEB, 0x02, 0x8B, 0xF0, 0xEB, 0x08, 0x48, + 0x8B, 0x44, 0x24, 0x48, 0x48, 0x89, 0x07, 0x8B, 0xC6, 0x48, 0x8B, 0x5C, 0x24, 0x60, 0x48, 0x8B, + 0x74, 0x24, 0x68, 0x48, 0x8B, 0x7C, 0x24, 0x70, 0x48, 0x83, 0xC4, 0x50, 0x41, 0x5C, 0xC3, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x58, 0x08, 0x48, + 0x89, 0x70, 0x10, 0x48, 0x89, 0x78, 0x18, 0x41, 0x54, 0x48, 0x83, 0xEC, 0x50, 0x41, 0x8A, 0xF1, + 0x49, 0x8B, 0xF8, 0x44, 0x8B, 0xE2, 0x48, 0x8B, 0xD9, 0x48, 0x83, 0x60, 0xE8, 0x00, 0x45, 0x84, + 0xC9, 0x74, 0x18, 0xBA, 0x08, 0x00, 0x00, 0x00, 0x44, 0x8B, 0xC2, 0x48, 0x8B, 0xCF, 0xFF, 0x15, + 0x6C, 0xB2, 0xFF, 0xFF, 0xEB, 0x05, 0xE9, 0xA0, 0x00, 0x00, 0x00, 0x48, 0x83, 0x64, 0x24, 0x28, + 0x00, 0x48, 0x8D, 0x44, 0x24, 0x48, 0x48, 0x89, 0x44, 0x24, 0x20, 0x44, 0x8A, 0xCE, 0x4C, 0x8B, + 0x05, 0xB3, 0xB2, 0xFF, 0xFF, 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0xF5, + 0xB2, 0xFF, 0xFF, 0x85, 0xC0, 0x78, 0x74, 0x48, 0x8B, 0x4C, 0x24, 0x48, 0xFF, 0x15, 0x6E, 0xB3, + 0xFF, 0xFF, 0x48, 0x85, 0xC0, 0x74, 0x33, 0x48, 0x8D, 0x4C, 0x24, 0x40, 0x48, 0x89, 0x4C, 0x24, + 0x30, 0xC6, 0x44, 0x24, 0x28, 0x00, 0x48, 0x8B, 0x0D, 0x2B, 0xB3, 0xFF, 0xFF, 0x48, 0x8B, 0x11, + 0x48, 0x89, 0x54, 0x24, 0x20, 0x45, 0x8B, 0xCC, 0x45, 0x33, 0xC0, 0x33, 0xD2, 0x48, 0x8B, 0xC8, + 0xFF, 0x15, 0xF2, 0xB2, 0xFF, 0xFF, 0x8B, 0xD8, 0xEB, 0x05, 0xBB, 0x25, 0x02, 0x00, 0xC0, 0x48, + 0x8B, 0x4C, 0x24, 0x48, 0xFF, 0x15, 0xC6, 0xB2, 0xFF, 0xFF, 0x85, 0xDB, 0x78, 0x1B, 0x40, 0x84, + 0xF6, 0x74, 0x0E, 0x48, 0x8B, 0x44, 0x24, 0x40, 0x48, 0x89, 0x07, 0xEB, 0x02, 0x8B, 0xD8, 0xEB, + 0x08, 0x48, 0x8B, 0x44, 0x24, 0x40, 0x48, 0x89, 0x07, 0x8B, 0xC3, 0x48, 0x8B, 0x5C, 0x24, 0x60, + 0x48, 0x8B, 0x74, 0x24, 0x68, 0x48, 0x8B, 0x7C, 0x24, 0x70, 0x48, 0x83, 0xC4, 0x50, 0x41, 0x5C, + 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x4C, 0x8B, 0xDC, 0x49, 0x89, 0x5B, 0x08, 0x49, + 0x89, 0x73, 0x10, 0x57, 0x48, 0x83, 0xEC, 0x50, 0x49, 0x83, 0x63, 0xD0, 0x00, 0x45, 0x8A, 0xC8, + 0x4C, 0x8B, 0x05, 0xF1, 0xB1, 0xFF, 0xFF, 0x4D, 0x8B, 0x00, 0x49, 0x8D, 0x43, 0x20, 0x8B, 0xF2, + 0x33, 0xD2, 0x49, 0x89, 0x43, 0xC8, 0xFF, 0x15, 0x2C, 0xB2, 0xFF, 0xFF, 0x85, 0xC0, 0x0F, 0x88, + 0xAF, 0x00, 0x00, 0x00, 0xFF, 0x15, 0x16, 0xB2, 0xFF, 0xFF, 0x48, 0x8B, 0x5C, 0x24, 0x78, 0x48, + 0x3B, 0xD8, 0x0F, 0x84, 0x8B, 0x00, 0x00, 0x00, 0x83, 0x3D, 0x65, 0xC4, 0xFF, 0xFF, 0x00, 0x75, + 0x26, 0x48, 0x8D, 0x0D, 0xE8, 0xC2, 0xFF, 0xFF, 0xE8, 0xCF, 0x9C, 0xFF, 0xFF, 0x48, 0x85, 0xC0, + 0x74, 0x10, 0x8B, 0xD6, 0x48, 0x8B, 0xCB, 0xFF, 0xD0, 0x8B, 0xF8, 0x3D, 0xBB, 0x00, 0x00, 0xC0, + 0x75, 0x5A, 0x48, 0x8B, 0x5C, 0x24, 0x78, 0x48, 0x8D, 0x44, 0x24, 0x40, 0x41, 0xB9, 0x01, 0x00, + 0x00, 0x00, 0x45, 0x33, 0xC0, 0x48, 0x89, 0x44, 0x24, 0x30, 0x48, 0x8B, 0x05, 0x77, 0xB1, 0xFF, + 0xFF, 0xC6, 0x44, 0x24, 0x28, 0x00, 0x48, 0x8B, 0x08, 0xBA, 0x00, 0x02, 0x00, 0x00, 0x48, 0x89, + 0x4C, 0x24, 0x20, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0xEC, 0xB1, 0xFF, 0xFF, 0x8B, 0xF8, 0x85, 0xC0, + 0x78, 0x1A, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0x8B, 0xD6, 0xFF, 0x15, 0x31, 0xB2, 0xFF, 0xFF, 0x48, + 0x8B, 0x4C, 0x24, 0x40, 0x8B, 0xF8, 0xFF, 0x15, 0xEC, 0xB0, 0xFF, 0xFF, 0x48, 0x8B, 0x5C, 0x24, + 0x78, 0xEB, 0x05, 0xBF, 0xDB, 0x00, 0x00, 0xC0, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0x9F, 0xB1, 0xFF, + 0xFF, 0x8B, 0xC7, 0x48, 0x8B, 0x5C, 0x24, 0x60, 0x48, 0x8B, 0x74, 0x24, 0x68, 0x48, 0x83, 0xC4, + 0x50, 0x5F, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, + 0x08, 0x48, 0x89, 0x74, 0x24, 0x10, 0x48, 0x89, 0x7C, 0x24, 0x18, 0x41, 0x54, 0x41, 0x55, 0x41, + 0x56, 0x48, 0x81, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x45, 0x8B, 0xE9, 0x4D, 0x8B, 0xF0, 0x8B, 0xF2, + 0x48, 0x8B, 0xD9, 0x80, 0xBC, 0x24, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x74, 0x47, 0x83, 0xFA, 0x01, + 0x74, 0x0A, 0xBF, 0x04, 0x00, 0x00, 0x00, 0x44, 0x8B, 0xC7, 0xEB, 0x09, 0xBF, 0x04, 0x00, 0x00, + 0x00, 0x44, 0x8D, 0x47, 0xFD, 0x49, 0x8B, 0xD5, 0x49, 0x8B, 0xCE, 0xFF, 0x15, 0x4F, 0xB0, 0xFF, + 0xFF, 0x4C, 0x8B, 0xA4, 0x24, 0xD0, 0x00, 0x00, 0x00, 0x4D, 0x85, 0xE4, 0x74, 0x0F, 0x44, 0x8B, + 0xC7, 0x48, 0x8B, 0xD7, 0x49, 0x8B, 0xCC, 0xFF, 0x15, 0x33, 0xB0, 0xFF, 0xFF, 0xEB, 0x12, 0xE9, + 0x03, 0x02, 0x00, 0x00, 0xBF, 0x04, 0x00, 0x00, 0x00, 0x4C, 0x8B, 0xA4, 0x24, 0xD0, 0x00, 0x00, + 0x00, 0x48, 0x83, 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x48, 0x48, 0x89, 0x44, 0x24, + 0x20, 0x44, 0x8A, 0x8C, 0x24, 0xD8, 0x00, 0x00, 0x00, 0x4C, 0x8B, 0x05, 0x68, 0xB0, 0xFF, 0xFF, + 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0xAA, 0xB0, 0xFF, 0xFF, 0x8B, 0xD8, + 0x89, 0x44, 0x24, 0x40, 0x85, 0xC0, 0x0F, 0x88, 0xBB, 0x01, 0x00, 0x00, 0x83, 0xEE, 0x01, 0x0F, + 0x84, 0x37, 0x01, 0x00, 0x00, 0x83, 0xEE, 0x01, 0x0F, 0x84, 0xBE, 0x00, 0x00, 0x00, 0x83, 0xFE, + 0x01, 0x74, 0x10, 0xBB, 0x03, 0x00, 0x00, 0xC0, 0x89, 0x5C, 0x24, 0x40, 0x33, 0xFF, 0xE9, 0x68, + 0x01, 0x00, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x50, 0x48, 0x89, 0x44, 0x24, 0x30, 0xC6, 0x44, 0x24, + 0x28, 0x00, 0x48, 0x8B, 0x05, 0x0F, 0xB0, 0xFF, 0xFF, 0x48, 0x8B, 0x08, 0x48, 0x89, 0x4C, 0x24, + 0x20, 0x41, 0xB9, 0x00, 0x04, 0x00, 0x00, 0x45, 0x33, 0xC0, 0xBA, 0x00, 0x02, 0x00, 0x00, 0x48, + 0x8B, 0x4C, 0x24, 0x48, 0xFF, 0x15, 0x7E, 0xB0, 0xFF, 0xFF, 0x8B, 0xD8, 0x89, 0x44, 0x24, 0x40, + 0x85, 0xC0, 0x0F, 0x88, 0x23, 0x01, 0x00, 0x00, 0x48, 0x83, 0x64, 0x24, 0x20, 0x00, 0x44, 0x8B, + 0xCF, 0x4C, 0x8D, 0x44, 0x24, 0x44, 0xBA, 0x21, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, 0x50, + 0xFF, 0x15, 0x32, 0xB0, 0xFF, 0xFF, 0x8B, 0xD8, 0x89, 0x44, 0x24, 0x40, 0x85, 0xC0, 0x78, 0x2C, + 0x44, 0x3B, 0xEF, 0x75, 0x1E, 0x8B, 0x44, 0x24, 0x44, 0x41, 0x89, 0x06, 0xEB, 0x13, 0x8B, 0xD8, + 0x89, 0x44, 0x24, 0x40, 0xBF, 0x04, 0x00, 0x00, 0x00, 0x4C, 0x8B, 0xA4, 0x24, 0xD0, 0x00, 0x00, + 0x00, 0xEB, 0x09, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0x89, 0x5C, 0x24, 0x40, 0x48, 0x8B, 0x4C, 0x24, + 0x50, 0xFF, 0x15, 0x31, 0xAF, 0xFF, 0xFF, 0xE9, 0xBF, 0x00, 0x00, 0x00, 0x48, 0x8D, 0x54, 0x24, + 0x58, 0x48, 0x8B, 0x4C, 0x24, 0x48, 0xFF, 0x15, 0x04, 0xB0, 0xFF, 0xFF, 0x48, 0x83, 0x64, 0x24, + 0x20, 0x00, 0x44, 0x8B, 0xCF, 0x4C, 0x8D, 0x44, 0x24, 0x44, 0xBA, 0x22, 0x00, 0x00, 0x00, 0x48, + 0x83, 0xC9, 0xFF, 0xFF, 0x15, 0xBF, 0xAF, 0xFF, 0xFF, 0x8B, 0xD8, 0x89, 0x44, 0x24, 0x40, 0x48, + 0x8D, 0x4C, 0x24, 0x58, 0xFF, 0x15, 0x5E, 0xAF, 0xFF, 0xFF, 0x85, 0xDB, 0x78, 0x7D, 0x44, 0x3B, + 0xEF, 0x75, 0x1E, 0x8B, 0x44, 0x24, 0x44, 0x41, 0x89, 0x06, 0xEB, 0x13, 0x8B, 0xD8, 0x89, 0x44, + 0x24, 0x40, 0xBF, 0x04, 0x00, 0x00, 0x00, 0x4C, 0x8B, 0xA4, 0x24, 0xD0, 0x00, 0x00, 0x00, 0xEB, + 0x5A, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0x89, 0x5C, 0x24, 0x40, 0xEB, 0x4F, 0x32, 0xC9, 0x48, 0x8B, + 0x05, 0xD3, 0xBF, 0xFF, 0xFF, 0x48, 0x85, 0xC0, 0x74, 0x0B, 0x48, 0x8B, 0x4C, 0x24, 0x48, 0xFF, + 0xD0, 0x8A, 0xC8, 0xEB, 0x09, 0xBB, 0xBB, 0x00, 0x00, 0xC0, 0x89, 0x5C, 0x24, 0x40, 0x85, 0xDB, + 0x78, 0x24, 0x41, 0x83, 0xFD, 0x01, 0x75, 0x15, 0x41, 0x88, 0x0E, 0xEB, 0x0E, 0x8B, 0xD8, 0x89, + 0x44, 0x24, 0x40, 0x4C, 0x8B, 0xA4, 0x24, 0xD0, 0x00, 0x00, 0x00, 0xEB, 0x09, 0xBB, 0x04, 0x00, + 0x00, 0xC0, 0x89, 0x5C, 0x24, 0x40, 0xBF, 0x01, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, 0x48, + 0xFF, 0x15, 0x2A, 0xAF, 0xFF, 0xFF, 0x4D, 0x85, 0xE4, 0x74, 0x1A, 0x80, 0xBC, 0x24, 0xD8, 0x00, + 0x00, 0x00, 0x00, 0x74, 0x0C, 0x41, 0x89, 0x3C, 0x24, 0xEB, 0x04, 0x8B, 0x5C, 0x24, 0x40, 0xEB, + 0x04, 0x41, 0x89, 0x3C, 0x24, 0x8B, 0xC3, 0x4C, 0x8D, 0x9C, 0x24, 0x90, 0x00, 0x00, 0x00, 0x49, + 0x8B, 0x5B, 0x20, 0x49, 0x8B, 0x73, 0x28, 0x49, 0x8B, 0x7B, 0x30, 0x49, 0x8B, 0xE3, 0x41, 0x5E, + 0x41, 0x5D, 0x41, 0x5C, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x8B, 0xC4, 0x48, + 0x89, 0x58, 0x08, 0x48, 0x89, 0x70, 0x10, 0x48, 0x89, 0x78, 0x18, 0x4C, 0x89, 0x60, 0x20, 0x41, + 0x55, 0x48, 0x81, 0xEC, 0x80, 0x00, 0x00, 0x00, 0x41, 0x8B, 0xF1, 0x4D, 0x8B, 0xE0, 0x8B, 0xFA, + 0x4C, 0x8B, 0xE9, 0x8A, 0x9C, 0x24, 0xB0, 0x00, 0x00, 0x00, 0x84, 0xDB, 0x74, 0x19, 0x48, 0x8B, + 0xD6, 0x41, 0xB8, 0x04, 0x00, 0x00, 0x00, 0x49, 0x8B, 0xCC, 0xFF, 0x15, 0x08, 0xAE, 0xFF, 0xFF, + 0xEB, 0x05, 0xE9, 0x5B, 0x01, 0x00, 0x00, 0x48, 0x83, 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, + 0x24, 0x40, 0x48, 0x89, 0x44, 0x24, 0x20, 0x44, 0x8A, 0xCB, 0x4C, 0x8B, 0x05, 0x07, 0xAE, 0xFF, + 0xFF, 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x49, 0x8B, 0xCD, 0xFF, 0x15, 0x49, 0xAE, 0xFF, 0xFF, 0x8B, + 0xD8, 0x85, 0xC0, 0x0F, 0x88, 0x29, 0x01, 0x00, 0x00, 0x83, 0xEF, 0x02, 0x0F, 0x84, 0x9C, 0x00, + 0x00, 0x00, 0x83, 0xFF, 0x01, 0x74, 0x0A, 0xBB, 0x03, 0x00, 0x00, 0xC0, 0xE9, 0x04, 0x01, 0x00, + 0x00, 0x83, 0xFE, 0x04, 0x75, 0x11, 0x41, 0x8B, 0x04, 0x24, 0x89, 0x84, 0x24, 0xB0, 0x00, 0x00, + 0x00, 0xEB, 0x02, 0x8B, 0xD8, 0xEB, 0x05, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0x85, 0xDB, 0x0F, 0x88, + 0xE1, 0x00, 0x00, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x48, 0x48, 0x89, 0x44, 0x24, 0x30, 0xC6, 0x44, + 0x24, 0x28, 0x00, 0x48, 0x8B, 0x05, 0x9E, 0xAD, 0xFF, 0xFF, 0x48, 0x8B, 0x08, 0x48, 0x89, 0x4C, + 0x24, 0x20, 0xBA, 0x00, 0x02, 0x00, 0x00, 0x44, 0x8B, 0xCA, 0x45, 0x33, 0xC0, 0x48, 0x8B, 0x4C, + 0x24, 0x40, 0xFF, 0x15, 0x10, 0xAE, 0xFF, 0xFF, 0x8B, 0xD8, 0x85, 0xC0, 0x0F, 0x88, 0xA3, 0x00, + 0x00, 0x00, 0x41, 0xB9, 0x04, 0x00, 0x00, 0x00, 0x4C, 0x8D, 0x84, 0x24, 0xB0, 0x00, 0x00, 0x00, + 0x41, 0x8D, 0x51, 0x1D, 0x48, 0x8B, 0x4C, 0x24, 0x48, 0xFF, 0x15, 0x29, 0xAE, 0xFF, 0xFF, 0x8B, + 0xD8, 0x48, 0x8B, 0x4C, 0x24, 0x48, 0xFF, 0x15, 0xFC, 0xAC, 0xFF, 0xFF, 0xEB, 0x77, 0x83, 0xFE, + 0x04, 0x75, 0x11, 0x41, 0x8B, 0x04, 0x24, 0x89, 0x84, 0x24, 0xB0, 0x00, 0x00, 0x00, 0xEB, 0x02, + 0x8B, 0xD8, 0xEB, 0x05, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0x85, 0xDB, 0x78, 0x58, 0x48, 0x8B, 0x4C, + 0x24, 0x40, 0xE8, 0xDD, 0x99, 0xFF, 0xFF, 0x84, 0xC0, 0x74, 0x45, 0x48, 0x8D, 0x54, 0x24, 0x50, + 0x48, 0x8B, 0x4C, 0x24, 0x40, 0xFF, 0x15, 0xA5, 0xAD, 0xFF, 0xFF, 0x41, 0xB9, 0x04, 0x00, 0x00, + 0x00, 0x4C, 0x8D, 0x84, 0x24, 0xB0, 0x00, 0x00, 0x00, 0x41, 0x8D, 0x51, 0x1E, 0x48, 0x83, 0xC9, + 0xFF, 0xFF, 0x15, 0xC1, 0xAD, 0xFF, 0xFF, 0x8B, 0xD8, 0x48, 0x8D, 0x4C, 0x24, 0x50, 0xFF, 0x15, + 0x04, 0xAD, 0xFF, 0xFF, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0xE8, 0xE2, 0x99, 0xFF, 0xFF, 0xEB, 0x05, + 0xBB, 0x0A, 0x01, 0x00, 0xC0, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0xFF, 0x15, 0x40, 0xAD, 0xFF, 0xFF, + 0x8B, 0xC3, 0x4C, 0x8D, 0x9C, 0x24, 0x80, 0x00, 0x00, 0x00, 0x49, 0x8B, 0x5B, 0x10, 0x49, 0x8B, + 0x73, 0x18, 0x49, 0x8B, 0x7B, 0x20, 0x4D, 0x8B, 0x63, 0x28, 0x49, 0x8B, 0xE3, 0x41, 0x5D, 0xC3, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x58, 0x08, 0x48, + 0x89, 0x70, 0x10, 0x48, 0x89, 0x78, 0x18, 0x4C, 0x89, 0x60, 0x20, 0x41, 0x55, 0x41, 0x56, 0x41, + 0x57, 0x48, 0x83, 0xEC, 0x40, 0x45, 0x8B, 0xE9, 0x49, 0x8B, 0xF0, 0x44, 0x8B, 0xE2, 0x4C, 0x8B, + 0xF1, 0x8A, 0x9C, 0x24, 0x88, 0x00, 0x00, 0x00, 0x45, 0x33, 0xFF, 0x41, 0x3A, 0xDF, 0x74, 0x35, + 0x49, 0x8B, 0xD5, 0x45, 0x8D, 0x47, 0x01, 0x48, 0x8B, 0xCE, 0xFF, 0x15, 0xF0, 0xAB, 0xFF, 0xFF, + 0x48, 0x8B, 0xBC, 0x24, 0x80, 0x00, 0x00, 0x00, 0x49, 0x3B, 0xFF, 0x74, 0x11, 0x41, 0x8D, 0x57, + 0x04, 0x45, 0x8D, 0x47, 0x01, 0x48, 0x8B, 0xCF, 0xFF, 0x15, 0xD2, 0xAB, 0xFF, 0xFF, 0xEB, 0x0D, + 0xE9, 0x71, 0x01, 0x00, 0x00, 0x48, 0x8B, 0xBC, 0x24, 0x80, 0x00, 0x00, 0x00, 0x4C, 0x89, 0x7C, + 0x24, 0x28, 0x48, 0x8D, 0x44, 0x24, 0x38, 0x48, 0x89, 0x44, 0x24, 0x20, 0x44, 0x8A, 0xCB, 0x4C, + 0x8B, 0x05, 0x52, 0xAC, 0xFF, 0xFF, 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x49, 0x8B, 0xCE, 0xFF, 0x15, + 0x54, 0xAC, 0xFF, 0xFF, 0x8B, 0xD8, 0x41, 0x3B, 0xC7, 0x0F, 0x8C, 0x37, 0x01, 0x00, 0x00, 0x45, + 0x3B, 0xE7, 0x0F, 0x84, 0xE9, 0x00, 0x00, 0x00, 0x41, 0x83, 0xEC, 0x01, 0x0F, 0x84, 0x9C, 0x00, + 0x00, 0x00, 0x41, 0x83, 0xFC, 0x01, 0x74, 0x0E, 0xBB, 0x03, 0x00, 0x00, 0xC0, 0x89, 0x5C, 0x24, + 0x30, 0xE9, 0xFF, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x44, 0x24, 0x38, 0x4C, 0x39, 0x78, 0x30, 0x74, + 0x4D, 0x49, 0x3B, 0xF7, 0x74, 0x27, 0x48, 0x8B, 0x50, 0x30, 0x48, 0x83, 0xC2, 0x18, 0x0F, 0xB7, + 0x0A, 0x48, 0x83, 0xC1, 0x10, 0x49, 0x3B, 0xCD, 0x77, 0x0A, 0x48, 0x8B, 0xCE, 0xE8, 0x0A, 0x01, + 0x00, 0x00, 0xEB, 0x09, 0xBB, 0x23, 0x00, 0x00, 0xC0, 0x89, 0x5C, 0x24, 0x30, 0x49, 0x3B, 0xFF, + 0x0F, 0x84, 0xBF, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x44, 0x24, 0x38, 0x48, 0x8B, 0x48, 0x30, 0x0F, + 0xB7, 0x41, 0x18, 0x48, 0x83, 0xC0, 0x10, 0x89, 0x07, 0xE9, 0xA7, 0x00, 0x00, 0x00, 0x49, 0x3B, + 0xF7, 0x74, 0x1E, 0x41, 0x83, 0xFD, 0x10, 0x72, 0x0F, 0x66, 0x44, 0x89, 0x3E, 0x66, 0x44, 0x89, + 0x7E, 0x02, 0x4C, 0x89, 0x7E, 0x08, 0xEB, 0x09, 0xBB, 0x23, 0x00, 0x00, 0xC0, 0x89, 0x5C, 0x24, + 0x30, 0x49, 0x3B, 0xFF, 0x74, 0x7F, 0xC7, 0x07, 0x10, 0x00, 0x00, 0x00, 0xEB, 0x77, 0x49, 0x3B, + 0xF7, 0x74, 0x28, 0x48, 0x8B, 0x54, 0x24, 0x38, 0x48, 0x83, 0xC2, 0x38, 0x0F, 0xB7, 0x0A, 0x48, + 0x83, 0xC1, 0x10, 0x49, 0x3B, 0xCD, 0x77, 0x0A, 0x48, 0x8B, 0xCE, 0xE8, 0x8C, 0x00, 0x00, 0x00, + 0xEB, 0x09, 0xBB, 0x23, 0x00, 0x00, 0xC0, 0x89, 0x5C, 0x24, 0x30, 0x49, 0x3B, 0xFF, 0x74, 0x45, + 0x48, 0x8B, 0x44, 0x24, 0x38, 0x0F, 0xB7, 0x48, 0x38, 0x48, 0x83, 0xC1, 0x10, 0x89, 0x0F, 0xEB, + 0x34, 0x41, 0x83, 0xFD, 0x18, 0x75, 0x1A, 0x48, 0x8B, 0x4C, 0x24, 0x38, 0x8B, 0x41, 0x10, 0x89, + 0x06, 0x48, 0x8B, 0x41, 0x18, 0x48, 0x89, 0x46, 0x08, 0x8B, 0x41, 0x20, 0x89, 0x46, 0x10, 0xEB, + 0x09, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0x89, 0x5C, 0x24, 0x30, 0x49, 0x3B, 0xFF, 0x74, 0x06, 0xC7, + 0x07, 0x18, 0x00, 0x00, 0x00, 0xEB, 0x02, 0x8B, 0xD8, 0x48, 0x8B, 0x4C, 0x24, 0x38, 0xFF, 0x15, + 0x3C, 0xAB, 0xFF, 0xFF, 0x8B, 0xC3, 0x48, 0x8B, 0x5C, 0x24, 0x60, 0x48, 0x8B, 0x74, 0x24, 0x68, + 0x48, 0x8B, 0x7C, 0x24, 0x70, 0x4C, 0x8B, 0x64, 0x24, 0x78, 0x48, 0x83, 0xC4, 0x40, 0x41, 0x5F, + 0x41, 0x5E, 0x41, 0x5D, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x83, 0xEC, 0x28, + 0x33, 0xC0, 0x4C, 0x8B, 0xC1, 0x48, 0x3B, 0xD0, 0x74, 0x20, 0x0F, 0xB7, 0x02, 0x66, 0x89, 0x01, + 0x66, 0x89, 0x41, 0x02, 0x48, 0x83, 0xC1, 0x10, 0x49, 0x89, 0x48, 0x08, 0x48, 0x8B, 0x52, 0x08, + 0x4C, 0x8B, 0xC0, 0xE8, 0xF8, 0x98, 0xFF, 0xFF, 0xEB, 0x0B, 0x66, 0x89, 0x01, 0x66, 0x89, 0x41, + 0x02, 0x48, 0x89, 0x41, 0x08, 0x48, 0x83, 0xC4, 0x28, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x74, 0x24, 0x10, 0x48, 0x89, 0x7C, 0x24, 0x18, 0x41, + 0x54, 0x48, 0x83, 0xEC, 0x60, 0x41, 0x8A, 0xF1, 0x49, 0x8B, 0xD8, 0x44, 0x8B, 0xE2, 0x48, 0x8B, + 0xF9, 0x45, 0x84, 0xC9, 0x74, 0x31, 0xBA, 0x08, 0x00, 0x00, 0x00, 0x44, 0x8B, 0xC2, 0xFF, 0x15, + 0xBC, 0xA9, 0xFF, 0xFF, 0xBA, 0x10, 0x00, 0x00, 0x00, 0x44, 0x8D, 0x42, 0xF4, 0x48, 0x8B, 0xCB, + 0xFF, 0x15, 0xF2, 0xA9, 0xFF, 0xFF, 0xF3, 0x0F, 0x6F, 0x2B, 0xF3, 0x0F, 0x7F, 0x6C, 0x24, 0x50, + 0xEB, 0x10, 0xE9, 0x9A, 0x00, 0x00, 0x00, 0xF3, 0x41, 0x0F, 0x6F, 0x00, 0xF3, 0x0F, 0x7F, 0x44, + 0x24, 0x50, 0x48, 0x83, 0x7C, 0x24, 0x50, 0x00, 0x74, 0x14, 0x4C, 0x8D, 0x44, 0x24, 0x40, 0x33, + 0xD2, 0x48, 0x8D, 0x4C, 0x24, 0x50, 0xFF, 0x15, 0xBC, 0xAA, 0xFF, 0xFF, 0xEB, 0x10, 0x48, 0x8D, + 0x54, 0x24, 0x40, 0x48, 0x8B, 0x4C, 0x24, 0x58, 0xFF, 0x15, 0x2A, 0xAB, 0xFF, 0xFF, 0x85, 0xC0, + 0x78, 0x5F, 0x48, 0x8D, 0x44, 0x24, 0x48, 0x48, 0x89, 0x44, 0x24, 0x30, 0xC6, 0x44, 0x24, 0x28, + 0x00, 0x48, 0x8B, 0x05, 0xF8, 0xAA, 0xFF, 0xFF, 0x48, 0x8B, 0x08, 0x48, 0x89, 0x4C, 0x24, 0x20, + 0x45, 0x8B, 0xCC, 0x45, 0x33, 0xC0, 0x33, 0xD2, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0xFF, 0x15, 0x25, + 0xAA, 0xFF, 0xFF, 0x8B, 0xD8, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0xFF, 0x15, 0x00, 0xAA, 0xFF, 0xFF, + 0x85, 0xDB, 0x78, 0x1B, 0x40, 0x84, 0xF6, 0x74, 0x0E, 0x48, 0x8B, 0x4C, 0x24, 0x48, 0x48, 0x89, + 0x0F, 0xEB, 0x02, 0x8B, 0xD8, 0xEB, 0x08, 0x48, 0x8B, 0x44, 0x24, 0x48, 0x48, 0x89, 0x07, 0x8B, + 0xC3, 0x4C, 0x8D, 0x5C, 0x24, 0x60, 0x49, 0x8B, 0x5B, 0x10, 0x49, 0x8B, 0x73, 0x18, 0x49, 0x8B, + 0x7B, 0x20, 0x49, 0x8B, 0xE3, 0x41, 0x5C, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x74, 0x24, 0x10, 0x48, 0x89, 0x7C, 0x24, 0x18, 0x41, + 0x54, 0x48, 0x83, 0xEC, 0x50, 0x41, 0x8A, 0xF1, 0x49, 0x8B, 0xD8, 0x44, 0x8B, 0xE2, 0x48, 0x8B, + 0xF9, 0x45, 0x84, 0xC9, 0x74, 0x18, 0xBA, 0x08, 0x00, 0x00, 0x00, 0x44, 0x8B, 0xC2, 0x48, 0x8B, + 0xCB, 0xFF, 0x15, 0xA9, 0xA8, 0xFF, 0xFF, 0xEB, 0x05, 0xE9, 0x94, 0x00, 0x00, 0x00, 0x48, 0x83, + 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x40, 0x48, 0x89, 0x44, 0x24, 0x20, 0x44, 0x8A, + 0xCE, 0x4C, 0x8B, 0x05, 0x38, 0xAA, 0xFF, 0xFF, 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0xCF, + 0xFF, 0x15, 0x32, 0xA9, 0xFF, 0xFF, 0x85, 0xC0, 0x78, 0x68, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0xFF, + 0x15, 0xCB, 0xA9, 0xFF, 0xFF, 0x48, 0x8D, 0x4C, 0x24, 0x48, 0x48, 0x89, 0x4C, 0x24, 0x30, 0xC6, + 0x44, 0x24, 0x28, 0x00, 0x48, 0x8B, 0x0D, 0xBD, 0xA8, 0xFF, 0xFF, 0x48, 0x8B, 0x11, 0x48, 0x89, + 0x54, 0x24, 0x20, 0x45, 0x8B, 0xCC, 0x45, 0x33, 0xC0, 0x33, 0xD2, 0x48, 0x8B, 0xC8, 0xFF, 0x15, + 0x34, 0xA9, 0xFF, 0xFF, 0x8B, 0xF8, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0xFF, 0x15, 0x0F, 0xA9, 0xFF, + 0xFF, 0x85, 0xFF, 0x78, 0x1B, 0x40, 0x84, 0xF6, 0x74, 0x0E, 0x48, 0x8B, 0x4C, 0x24, 0x48, 0x48, + 0x89, 0x0B, 0xEB, 0x02, 0x8B, 0xF8, 0xEB, 0x08, 0x48, 0x8B, 0x44, 0x24, 0x48, 0x48, 0x89, 0x03, + 0x8B, 0xC7, 0x48, 0x8B, 0x5C, 0x24, 0x60, 0x48, 0x8B, 0x74, 0x24, 0x68, 0x48, 0x8B, 0x7C, 0x24, + 0x70, 0x48, 0x83, 0xC4, 0x50, 0x41, 0x5C, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x48, 0x89, 0x5C, 0x24, 0x08, 0x57, 0x48, 0x83, 0xEC, 0x20, 0x83, 0x3D, 0xF3, 0xBA, 0xFF, 0xFF, + 0x00, 0x8B, 0xFA, 0x48, 0x8B, 0xD9, 0x74, 0x07, 0xB8, 0xBB, 0x00, 0x00, 0xC0, 0xEB, 0x5A, 0x48, + 0x8D, 0x0D, 0x2A, 0xB9, 0xFF, 0xFF, 0xE8, 0x51, 0x93, 0xFF, 0xFF, 0x4C, 0x8B, 0xD8, 0x48, 0x85, + 0xC0, 0x74, 0xE5, 0x8B, 0x05, 0x87, 0xB9, 0xFF, 0xFF, 0x83, 0xF8, 0x33, 0x75, 0x0A, 0x8B, 0xD7, + 0x48, 0x8B, 0xCB, 0x41, 0xFF, 0xD3, 0xEB, 0x31, 0x83, 0xF8, 0x34, 0x74, 0x14, 0x83, 0xF8, 0x3C, + 0x74, 0x0F, 0x83, 0xF8, 0x3D, 0x74, 0x0A, 0x83, 0xF8, 0x3E, 0x74, 0x05, 0x83, 0xF8, 0x3F, 0x75, + 0xB7, 0x65, 0x48, 0x8B, 0x04, 0x25, 0x88, 0x01, 0x00, 0x00, 0x8B, 0xD7, 0x48, 0x8B, 0xCB, 0x48, + 0x3B, 0xD8, 0x41, 0x0F, 0x94, 0xC0, 0x41, 0xFF, 0xD3, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x48, 0x83, + 0xC4, 0x20, 0x5F, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x8B, 0xC4, 0x53, + 0x48, 0x81, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x48, 0x83, 0x64, 0x24, 0x28, 0x00, 0x45, 0x8A, 0xC8, + 0x4C, 0x8B, 0x05, 0xF9, 0xA8, 0xFF, 0xFF, 0x4D, 0x8B, 0x00, 0x48, 0x8D, 0x40, 0x20, 0x8B, 0xDA, + 0x33, 0xD2, 0x48, 0x89, 0x44, 0x24, 0x20, 0xFF, 0x15, 0xEB, 0xA7, 0xFF, 0xFF, 0x85, 0xC0, 0x0F, + 0x88, 0xBE, 0x00, 0x00, 0x00, 0x65, 0x48, 0x8B, 0x04, 0x25, 0x88, 0x01, 0x00, 0x00, 0x48, 0x39, + 0x84, 0x24, 0xE8, 0x00, 0x00, 0x00, 0x0F, 0x84, 0x92, 0x00, 0x00, 0x00, 0x48, 0x8D, 0x8C, 0x24, + 0x98, 0x00, 0x00, 0x00, 0x45, 0x33, 0xC0, 0x33, 0xD2, 0x89, 0x9C, 0x24, 0xB0, 0x00, 0x00, 0x00, + 0xFF, 0x15, 0x82, 0xA8, 0xFF, 0xFF, 0x48, 0x83, 0x64, 0x24, 0x38, 0x00, 0x48, 0x8B, 0x94, 0x24, + 0xE8, 0x00, 0x00, 0x00, 0xC6, 0x44, 0x24, 0x30, 0x00, 0x48, 0x83, 0x64, 0x24, 0x28, 0x00, 0x48, + 0x83, 0x64, 0x24, 0x20, 0x00, 0x4C, 0x8D, 0x0D, 0x78, 0x00, 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, + 0x40, 0x45, 0x33, 0xC0, 0xFF, 0x15, 0x36, 0xA8, 0xFF, 0xFF, 0x48, 0x8D, 0x54, 0x24, 0x40, 0x48, + 0x8D, 0x4C, 0x24, 0x40, 0x41, 0xB9, 0x02, 0x00, 0x00, 0x00, 0x45, 0x33, 0xC0, 0xFF, 0x15, 0x2D, + 0xA8, 0xFF, 0xFF, 0x84, 0xC0, 0x74, 0x20, 0x48, 0x83, 0x64, 0x24, 0x20, 0x00, 0x48, 0x8D, 0x8C, + 0x24, 0x98, 0x00, 0x00, 0x00, 0x45, 0x33, 0xC9, 0x45, 0x33, 0xC0, 0x33, 0xD2, 0xFF, 0x15, 0x35, + 0xA8, 0xFF, 0xFF, 0x8B, 0xD8, 0xEB, 0x0C, 0xBB, 0x01, 0x00, 0x00, 0xC0, 0xEB, 0x05, 0xBB, 0xDB, + 0x00, 0x00, 0xC0, 0x48, 0x8B, 0x8C, 0x24, 0xE8, 0x00, 0x00, 0x00, 0xFF, 0x15, 0x4F, 0xA7, 0xFF, + 0xFF, 0x8B, 0xC3, 0x48, 0x81, 0xC4, 0xC0, 0x00, 0x00, 0x00, 0x5B, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x40, 0x53, 0x48, 0x83, 0xEC, 0x20, 0x49, 0x8B, 0x09, 0x45, 0x33, 0xC0, + 0x33, 0xD2, 0x8B, 0x59, 0x70, 0x48, 0x83, 0xC1, 0x58, 0xFF, 0x15, 0xB9, 0xA7, 0xFF, 0xFF, 0x65, + 0x48, 0x8B, 0x0C, 0x25, 0x88, 0x01, 0x00, 0x00, 0x8B, 0xD3, 0x48, 0x83, 0xC4, 0x20, 0x5B, 0xE9, + 0x3C, 0xFE, 0xFF, 0xFF, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x8B, 0xC4, 0x48, + 0x89, 0x58, 0x18, 0x4C, 0x89, 0x48, 0x20, 0x89, 0x50, 0x10, 0x48, 0x89, 0x48, 0x08, 0x56, 0x57, + 0x41, 0x54, 0x41, 0x55, 0x41, 0x57, 0x48, 0x81, 0xEC, 0xF0, 0x00, 0x00, 0x00, 0x45, 0x8B, 0xF8, + 0x48, 0x8B, 0xD9, 0x45, 0x33, 0xE4, 0x41, 0x83, 0xF8, 0x40, 0x76, 0x0A, 0xB8, 0xF1, 0x00, 0x00, + 0xC0, 0xE9, 0x7C, 0x02, 0x00, 0x00, 0x45, 0x8B, 0xE8, 0x41, 0xC1, 0xE5, 0x03, 0x44, 0x38, 0xA4, + 0x24, 0x50, 0x01, 0x00, 0x00, 0x74, 0x65, 0x41, 0x8B, 0xD5, 0x41, 0xB8, 0x08, 0x00, 0x00, 0x00, + 0x49, 0x8B, 0xC9, 0xFF, 0x15, 0xC7, 0xA5, 0xFF, 0xFF, 0x48, 0x8B, 0xB4, 0x24, 0x40, 0x01, 0x00, + 0x00, 0x48, 0x85, 0xF6, 0x74, 0x16, 0xBB, 0x04, 0x00, 0x00, 0x00, 0x44, 0x8B, 0xC3, 0x48, 0x8B, + 0xD3, 0x48, 0x8B, 0xCE, 0xFF, 0x15, 0xA6, 0xA5, 0xFF, 0xFF, 0xEB, 0x05, 0xBB, 0x04, 0x00, 0x00, + 0x00, 0x48, 0x8B, 0xBC, 0x24, 0x48, 0x01, 0x00, 0x00, 0x48, 0x85, 0xFF, 0x74, 0x0F, 0x44, 0x8B, + 0xC3, 0x48, 0x8B, 0xD3, 0x48, 0x8B, 0xCF, 0xFF, 0x15, 0x83, 0xA5, 0xFF, 0xFF, 0x48, 0x8B, 0x9C, + 0x24, 0x20, 0x01, 0x00, 0x00, 0xEB, 0x15, 0xE9, 0x06, 0x02, 0x00, 0x00, 0x48, 0x8B, 0xBC, 0x24, + 0x48, 0x01, 0x00, 0x00, 0x48, 0x8B, 0xB4, 0x24, 0x40, 0x01, 0x00, 0x00, 0x45, 0x85, 0xED, 0x75, + 0x39, 0x44, 0x38, 0xAC, 0x24, 0x50, 0x01, 0x00, 0x00, 0x74, 0x17, 0x48, 0x85, 0xF6, 0x74, 0x03, + 0x44, 0x21, 0x2E, 0x48, 0x85, 0xFF, 0x74, 0x03, 0x83, 0x27, 0x00, 0xEB, 0x03, 0x44, 0x8B, 0xE0, + 0xEB, 0x10, 0x48, 0x85, 0xF6, 0x74, 0x03, 0x83, 0x26, 0x00, 0x48, 0x85, 0xFF, 0x74, 0x03, 0x83, + 0x27, 0x00, 0x41, 0x8B, 0xC4, 0xE9, 0xB8, 0x01, 0x00, 0x00, 0x41, 0x8B, 0xD5, 0x33, 0xC9, 0x41, + 0xB8, 0x4B, 0x70, 0x68, 0x62, 0xFF, 0x15, 0xF5, 0xA4, 0xFF, 0xFF, 0x4C, 0x8B, 0xE8, 0x48, 0x89, + 0x44, 0x24, 0x40, 0x48, 0x85, 0xC0, 0x75, 0x0A, 0xB8, 0x9A, 0x00, 0x00, 0xC0, 0xE9, 0x90, 0x01, + 0x00, 0x00, 0x8B, 0x84, 0x24, 0x28, 0x01, 0x00, 0x00, 0x89, 0x84, 0x24, 0xD8, 0x00, 0x00, 0x00, + 0x44, 0x89, 0xBC, 0x24, 0xDC, 0x00, 0x00, 0x00, 0x4C, 0x89, 0xAC, 0x24, 0xE0, 0x00, 0x00, 0x00, + 0x65, 0x48, 0x8B, 0x04, 0x25, 0x88, 0x01, 0x00, 0x00, 0x48, 0x3B, 0xD8, 0x75, 0x49, 0x48, 0x8D, + 0x44, 0x24, 0x60, 0x48, 0x89, 0x44, 0x24, 0x48, 0xB8, 0x01, 0x00, 0x00, 0x00, 0x88, 0x44, 0x24, + 0x60, 0x44, 0x0F, 0x20, 0xC3, 0x44, 0x0F, 0x22, 0xC0, 0x48, 0x8D, 0x44, 0x24, 0x50, 0x48, 0x89, + 0x44, 0x24, 0x20, 0x4C, 0x8D, 0x4C, 0x24, 0x48, 0x45, 0x33, 0xC0, 0x33, 0xD2, 0x48, 0x8D, 0x4C, + 0x24, 0x68, 0xE8, 0x49, 0x01, 0x00, 0x00, 0x44, 0x0F, 0xB6, 0xDB, 0x45, 0x0F, 0x22, 0xC3, 0x45, + 0x33, 0xFF, 0xE9, 0x89, 0x00, 0x00, 0x00, 0x45, 0x33, 0xFF, 0x44, 0x88, 0x7C, 0x24, 0x60, 0x45, + 0x33, 0xC0, 0x33, 0xD2, 0x48, 0x8D, 0x8C, 0x24, 0xC0, 0x00, 0x00, 0x00, 0xFF, 0x15, 0xF6, 0xA5, + 0xFF, 0xFF, 0x4C, 0x89, 0x7C, 0x24, 0x38, 0x44, 0x88, 0x7C, 0x24, 0x30, 0x4C, 0x89, 0x7C, 0x24, + 0x28, 0x4C, 0x89, 0x7C, 0x24, 0x20, 0x4C, 0x8D, 0x0D, 0x03, 0x01, 0x00, 0x00, 0x45, 0x33, 0xC0, + 0x48, 0x8B, 0xD3, 0x48, 0x8D, 0x4C, 0x24, 0x68, 0xFF, 0x15, 0xB2, 0xA5, 0xFF, 0xFF, 0x45, 0x8D, + 0x4F, 0x02, 0x45, 0x33, 0xC0, 0x48, 0x8D, 0x54, 0x24, 0x60, 0x48, 0x8D, 0x4C, 0x24, 0x68, 0xFF, + 0x15, 0xAB, 0xA5, 0xFF, 0xFF, 0x41, 0x3A, 0xC7, 0x74, 0x20, 0x4C, 0x89, 0x7C, 0x24, 0x20, 0x45, + 0x33, 0xC9, 0x45, 0x33, 0xC0, 0x33, 0xD2, 0x48, 0x8D, 0x8C, 0x24, 0xC0, 0x00, 0x00, 0x00, 0xFF, + 0x15, 0xB3, 0xA5, 0xFF, 0xFF, 0x44, 0x8B, 0xE0, 0xEB, 0x06, 0x41, 0xBC, 0x01, 0x00, 0x00, 0xC0, + 0x45, 0x3B, 0xE7, 0x7C, 0x7C, 0x44, 0x38, 0xBC, 0x24, 0x50, 0x01, 0x00, 0x00, 0x74, 0x3F, 0x8B, + 0x9C, 0x24, 0xE8, 0x00, 0x00, 0x00, 0x4C, 0x8B, 0xC3, 0x49, 0xC1, 0xE0, 0x03, 0x49, 0x8B, 0xD5, + 0x48, 0x8B, 0x8C, 0x24, 0x38, 0x01, 0x00, 0x00, 0xE8, 0xC3, 0x92, 0xFF, 0xFF, 0x49, 0x3B, 0xF7, + 0x74, 0x02, 0x89, 0x1E, 0x49, 0x3B, 0xFF, 0x74, 0x09, 0x8B, 0x84, 0x24, 0xEC, 0x00, 0x00, 0x00, + 0x89, 0x07, 0xEB, 0x08, 0x44, 0x8B, 0xE0, 0x4C, 0x8B, 0x6C, 0x24, 0x40, 0xEB, 0x33, 0x8B, 0x9C, + 0x24, 0xE8, 0x00, 0x00, 0x00, 0x4C, 0x8B, 0xC3, 0x49, 0xC1, 0xE0, 0x03, 0x49, 0x8B, 0xD5, 0x48, + 0x8B, 0x8C, 0x24, 0x38, 0x01, 0x00, 0x00, 0xE8, 0x84, 0x92, 0xFF, 0xFF, 0x49, 0x3B, 0xF7, 0x74, + 0x02, 0x89, 0x1E, 0x49, 0x3B, 0xFF, 0x74, 0x09, 0x8B, 0x84, 0x24, 0xEC, 0x00, 0x00, 0x00, 0x89, + 0x07, 0xBA, 0x4B, 0x70, 0x68, 0x62, 0x49, 0x8B, 0xCD, 0xFF, 0x15, 0x59, 0xA3, 0xFF, 0xFF, 0x41, + 0x8B, 0xC4, 0x48, 0x8B, 0x9C, 0x24, 0x30, 0x01, 0x00, 0x00, 0x48, 0x81, 0xC4, 0xF0, 0x00, 0x00, + 0x00, 0x41, 0x5F, 0x41, 0x5D, 0x41, 0x5C, 0x5F, 0x5E, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x40, 0x53, 0x48, 0x83, 0xEC, 0x30, 0x49, 0x8B, 0x19, 0x45, 0x33, 0xC0, 0x4C, 0x8B, 0x8B, 0x80, + 0x00, 0x00, 0x00, 0x8B, 0x53, 0x7C, 0x8B, 0x4B, 0x78, 0x48, 0x8D, 0x83, 0x8C, 0x00, 0x00, 0x00, + 0x48, 0x89, 0x44, 0x24, 0x20, 0xE8, 0xCA, 0x90, 0xFF, 0xFF, 0x80, 0x3B, 0x00, 0x89, 0x83, 0x88, + 0x00, 0x00, 0x00, 0x75, 0x0F, 0x48, 0x8D, 0x4B, 0x60, 0x45, 0x33, 0xC0, 0x33, 0xD2, 0xFF, 0x15, + 0x84, 0xA4, 0xFF, 0xFF, 0x48, 0x83, 0xC4, 0x30, 0x5B, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x58, 0x08, 0x48, 0x89, 0x70, 0x10, 0x48, 0x89, 0x78, 0x18, 0x4C, + 0x89, 0x60, 0x20, 0x41, 0x55, 0x41, 0x56, 0x41, 0x57, 0x48, 0x83, 0xEC, 0x60, 0x45, 0x8B, 0xE9, + 0x4D, 0x8B, 0xF8, 0x44, 0x8B, 0xE2, 0x48, 0x8B, 0xD9, 0x44, 0x8A, 0xB4, 0x24, 0xA8, 0x00, 0x00, + 0x00, 0x45, 0x84, 0xF6, 0x74, 0x37, 0x49, 0x8B, 0xD5, 0xBF, 0x04, 0x00, 0x00, 0x00, 0x44, 0x8B, + 0xC7, 0x49, 0x8B, 0xCF, 0xFF, 0x15, 0xB6, 0xA2, 0xFF, 0xFF, 0x48, 0x8B, 0xB4, 0x24, 0xA0, 0x00, + 0x00, 0x00, 0x48, 0x85, 0xF6, 0x74, 0x0F, 0x44, 0x8B, 0xC7, 0x48, 0x8B, 0xD7, 0x48, 0x8B, 0xCE, + 0xFF, 0x15, 0x9A, 0xA2, 0xFF, 0xFF, 0xEB, 0x12, 0xE9, 0x70, 0x01, 0x00, 0x00, 0xBF, 0x04, 0x00, + 0x00, 0x00, 0x48, 0x8B, 0xB4, 0x24, 0xA0, 0x00, 0x00, 0x00, 0x48, 0x83, 0x64, 0x24, 0x28, 0x00, + 0x48, 0x8D, 0x44, 0x24, 0x48, 0x48, 0x89, 0x44, 0x24, 0x20, 0x45, 0x8A, 0xCE, 0x4C, 0x8B, 0x05, + 0x1C, 0xA4, 0xFF, 0xFF, 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0x16, 0xA3, + 0xFF, 0xFF, 0x8B, 0xD8, 0x89, 0x44, 0x24, 0x40, 0x85, 0xC0, 0x0F, 0x88, 0x2D, 0x01, 0x00, 0x00, + 0x41, 0x83, 0xEC, 0x01, 0x0F, 0x84, 0xC4, 0x00, 0x00, 0x00, 0x41, 0x83, 0xFC, 0x02, 0x74, 0x10, + 0xBB, 0x03, 0x00, 0x00, 0xC0, 0x89, 0x5C, 0x24, 0x40, 0x33, 0xFF, 0xE9, 0xEA, 0x00, 0x00, 0x00, + 0x48, 0x8D, 0x44, 0x24, 0x50, 0x48, 0x89, 0x44, 0x24, 0x30, 0xC6, 0x44, 0x24, 0x28, 0x00, 0x48, + 0x8B, 0x05, 0xCA, 0xA3, 0xFF, 0xFF, 0x48, 0x8B, 0x08, 0x48, 0x89, 0x4C, 0x24, 0x20, 0x41, 0xB9, + 0x40, 0x00, 0x00, 0x00, 0x45, 0x33, 0xC0, 0xBA, 0x00, 0x02, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, + 0x48, 0xFF, 0x15, 0xF1, 0xA2, 0xFF, 0xFF, 0x8B, 0xD8, 0x89, 0x44, 0x24, 0x40, 0x85, 0xC0, 0x0F, + 0x88, 0xA5, 0x00, 0x00, 0x00, 0x48, 0x83, 0x64, 0x24, 0x20, 0x00, 0x44, 0x8B, 0xCF, 0x4C, 0x8D, + 0x44, 0x24, 0x44, 0xBA, 0x16, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, 0x50, 0xFF, 0x15, 0xBD, + 0xA2, 0xFF, 0xFF, 0x8B, 0xD8, 0x89, 0x44, 0x24, 0x40, 0x85, 0xC0, 0x78, 0x34, 0x44, 0x3B, 0xEF, + 0x75, 0x26, 0x8B, 0x44, 0x24, 0x44, 0x41, 0x89, 0x07, 0xEB, 0x1B, 0x8B, 0xD8, 0x89, 0x44, 0x24, + 0x40, 0xBF, 0x04, 0x00, 0x00, 0x00, 0x44, 0x8A, 0xB4, 0x24, 0xA8, 0x00, 0x00, 0x00, 0x48, 0x8B, + 0xB4, 0x24, 0xA0, 0x00, 0x00, 0x00, 0xEB, 0x09, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0x89, 0x5C, 0x24, + 0x40, 0x48, 0x8B, 0x4C, 0x24, 0x50, 0xFF, 0x15, 0x9C, 0xA1, 0xFF, 0xFF, 0xEB, 0x3C, 0x48, 0x8B, + 0x4C, 0x24, 0x48, 0xFF, 0x15, 0x0F, 0xA3, 0xFF, 0xFF, 0x41, 0x83, 0xFD, 0x08, 0x75, 0x1D, 0x49, + 0x89, 0x07, 0xEB, 0x16, 0x8B, 0xD8, 0x89, 0x44, 0x24, 0x40, 0x44, 0x8A, 0xB4, 0x24, 0xA8, 0x00, + 0x00, 0x00, 0x48, 0x8B, 0xB4, 0x24, 0xA0, 0x00, 0x00, 0x00, 0xEB, 0x09, 0xBB, 0x04, 0x00, 0x00, + 0xC0, 0x89, 0x5C, 0x24, 0x40, 0xBF, 0x08, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, 0x48, 0xFF, + 0x15, 0x1B, 0xA2, 0xFF, 0xFF, 0x48, 0x85, 0xF6, 0x74, 0x11, 0x45, 0x84, 0xF6, 0x74, 0x0A, 0x89, + 0x3E, 0xEB, 0x04, 0x8B, 0x5C, 0x24, 0x40, 0xEB, 0x02, 0x89, 0x3E, 0x8B, 0xC3, 0x4C, 0x8D, 0x5C, + 0x24, 0x60, 0x49, 0x8B, 0x5B, 0x20, 0x49, 0x8B, 0x73, 0x28, 0x49, 0x8B, 0x7B, 0x30, 0x4D, 0x8B, + 0x63, 0x38, 0x49, 0x8B, 0xE3, 0x41, 0x5F, 0x41, 0x5E, 0x41, 0x5D, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x58, 0x08, 0x48, 0x89, 0x70, 0x10, 0x48, + 0x89, 0x78, 0x18, 0x4C, 0x89, 0x60, 0x20, 0x41, 0x55, 0x48, 0x83, 0xEC, 0x60, 0x41, 0x8B, 0xF1, + 0x4D, 0x8B, 0xE0, 0x8B, 0xFA, 0x48, 0x8B, 0xD9, 0x44, 0x8A, 0xAC, 0x24, 0x90, 0x00, 0x00, 0x00, + 0x45, 0x84, 0xED, 0x74, 0x19, 0x48, 0x8B, 0xD6, 0x41, 0xB8, 0x04, 0x00, 0x00, 0x00, 0x49, 0x8B, + 0xCC, 0xFF, 0x15, 0x01, 0xA1, 0xFF, 0xFF, 0xEB, 0x05, 0xE9, 0xB2, 0x01, 0x00, 0x00, 0x48, 0x83, + 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x40, 0x48, 0x89, 0x44, 0x24, 0x20, 0x45, 0x8A, + 0xCD, 0x4C, 0x8B, 0x05, 0x48, 0xA2, 0xFF, 0xFF, 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0xCB, + 0xFF, 0x15, 0x42, 0xA1, 0xFF, 0xFF, 0x8B, 0xD8, 0x85, 0xC0, 0x0F, 0x88, 0x80, 0x01, 0x00, 0x00, + 0x83, 0xEF, 0x02, 0x0F, 0x84, 0xA2, 0x00, 0x00, 0x00, 0x83, 0xFF, 0x01, 0x74, 0x0A, 0xBB, 0x03, + 0x00, 0x00, 0xC0, 0xE9, 0x5B, 0x01, 0x00, 0x00, 0x83, 0xFE, 0x04, 0x75, 0x11, 0x41, 0x8B, 0x04, + 0x24, 0x89, 0x84, 0x24, 0x90, 0x00, 0x00, 0x00, 0xEB, 0x02, 0x8B, 0xD8, 0xEB, 0x05, 0xBB, 0x04, + 0x00, 0x00, 0xC0, 0x85, 0xDB, 0x0F, 0x88, 0x38, 0x01, 0x00, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x48, + 0x48, 0x89, 0x44, 0x24, 0x30, 0xC6, 0x44, 0x24, 0x28, 0x00, 0x48, 0x8B, 0x05, 0xDF, 0xA1, 0xFF, + 0xFF, 0x48, 0x8B, 0x08, 0x48, 0x89, 0x4C, 0x24, 0x20, 0x41, 0xB9, 0x20, 0x00, 0x00, 0x00, 0x45, + 0x33, 0xC0, 0xBA, 0x00, 0x02, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0xFF, 0x15, 0x06, 0xA1, + 0xFF, 0xFF, 0x8B, 0xD8, 0x85, 0xC0, 0x0F, 0x88, 0xF7, 0x00, 0x00, 0x00, 0x41, 0xB9, 0x04, 0x00, + 0x00, 0x00, 0x4C, 0x8D, 0x84, 0x24, 0x90, 0x00, 0x00, 0x00, 0x41, 0x8D, 0x51, 0x12, 0x48, 0x8B, + 0x4C, 0x24, 0x48, 0xFF, 0x15, 0x87, 0xA1, 0xFF, 0xFF, 0x8B, 0xD8, 0x48, 0x8B, 0x4C, 0x24, 0x48, + 0xFF, 0x15, 0xF2, 0x9F, 0xFF, 0xFF, 0xE9, 0xC8, 0x00, 0x00, 0x00, 0x33, 0xC9, 0x48, 0x89, 0x4C, + 0x24, 0x50, 0x83, 0xFE, 0x08, 0x75, 0x1C, 0x49, 0x8B, 0x0C, 0x24, 0x48, 0x89, 0x4C, 0x24, 0x50, + 0xEB, 0x0F, 0x8B, 0xD8, 0x44, 0x8A, 0xAC, 0x24, 0x90, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, + 0x50, 0xEB, 0x05, 0xBB, 0x04, 0x00, 0x00, 0xC0, 0x85, 0xDB, 0x0F, 0x88, 0x93, 0x00, 0x00, 0x00, + 0x48, 0x83, 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x58, 0x48, 0x89, 0x44, 0x24, 0x20, + 0x45, 0x8A, 0xCD, 0x4C, 0x8B, 0x05, 0xAE, 0xA0, 0xFF, 0xFF, 0x4D, 0x8B, 0x00, 0xBA, 0x04, 0x00, + 0x00, 0x00, 0xFF, 0x15, 0x30, 0xA0, 0xFF, 0xFF, 0x8B, 0xD8, 0x85, 0xC0, 0x78, 0x65, 0x48, 0x8D, + 0x44, 0x24, 0x48, 0x48, 0x89, 0x44, 0x24, 0x30, 0xC6, 0x44, 0x24, 0x28, 0x00, 0x48, 0x8B, 0x05, + 0x84, 0xA0, 0xFF, 0xFF, 0x48, 0x8B, 0x08, 0x48, 0x89, 0x4C, 0x24, 0x20, 0x41, 0xB9, 0x04, 0x00, + 0x00, 0x00, 0x45, 0x33, 0xC0, 0xBA, 0x00, 0x02, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, 0x58, 0xFF, + 0x15, 0x33, 0xA0, 0xFF, 0xFF, 0x8B, 0xD8, 0x85, 0xC0, 0x78, 0x1D, 0x48, 0x8B, 0x54, 0x24, 0x48, + 0x48, 0x8B, 0x4C, 0x24, 0x40, 0xFF, 0x15, 0xDD, 0xA0, 0xFF, 0xFF, 0x8B, 0xD8, 0x48, 0x8B, 0x4C, + 0x24, 0x48, 0xFF, 0x15, 0x30, 0x9F, 0xFF, 0xFF, 0x48, 0x8B, 0x4C, 0x24, 0x58, 0xFF, 0x15, 0xED, + 0x9F, 0xFF, 0xFF, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0xFF, 0x15, 0xE2, 0x9F, 0xFF, 0xFF, 0x8B, 0xC3, + 0x4C, 0x8D, 0x5C, 0x24, 0x60, 0x49, 0x8B, 0x5B, 0x10, 0x49, 0x8B, 0x73, 0x18, 0x49, 0x8B, 0x7B, + 0x20, 0x4D, 0x8B, 0x63, 0x28, 0x49, 0x8B, 0xE3, 0x41, 0x5D, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x40, 0x53, 0x56, 0x57, 0x41, 0x55, 0x41, 0x56, 0x41, 0x57, 0x48, 0x81, + 0xEC, 0x98, 0x03, 0x00, 0x00, 0x48, 0x8B, 0x05, 0xA4, 0xAF, 0xFF, 0xFF, 0x48, 0x33, 0xC4, 0x48, + 0x89, 0x84, 0x24, 0x80, 0x03, 0x00, 0x00, 0x4C, 0x89, 0x8C, 0x24, 0x90, 0x00, 0x00, 0x00, 0x4C, + 0x89, 0x44, 0x24, 0x68, 0x48, 0x89, 0x94, 0x24, 0x88, 0x00, 0x00, 0x00, 0x48, 0x89, 0x8C, 0x24, + 0x80, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x84, 0x24, 0x00, 0x04, 0x00, 0x00, 0x48, 0x89, 0x44, 0x24, + 0x78, 0x48, 0x89, 0x44, 0x24, 0x60, 0x48, 0x8D, 0x84, 0x24, 0xD0, 0x00, 0x00, 0x00, 0x48, 0x89, + 0x44, 0x24, 0x50, 0x33, 0xDB, 0x88, 0x5C, 0x24, 0x30, 0x88, 0x5C, 0x24, 0x32, 0x4C, 0x8B, 0xEA, + 0x48, 0x89, 0x54, 0x24, 0x58, 0x4D, 0x8B, 0xF9, 0x48, 0x8D, 0xB4, 0x24, 0x80, 0x01, 0x00, 0x00, + 0x48, 0x89, 0x74, 0x24, 0x38, 0xBF, 0x00, 0xC0, 0x00, 0x00, 0x48, 0x8B, 0x84, 0x24, 0xF0, 0x03, + 0x00, 0x00, 0x48, 0x3B, 0xC7, 0x48, 0x0F, 0x42, 0xF8, 0x4C, 0x8B, 0xF0, 0x48, 0x89, 0x44, 0x24, + 0x48, 0x4C, 0x3B, 0xF3, 0x0F, 0x84, 0x49, 0x03, 0x00, 0x00, 0x49, 0x3B, 0xFE, 0x49, 0x0F, 0x47, + 0xFE, 0x48, 0x81, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x76, 0x0A, 0xC6, 0x44, 0x24, 0x31, 0x01, 0xE9, + 0x9B, 0x00, 0x00, 0x00, 0x88, 0x5C, 0x24, 0x31, 0x48, 0x81, 0xFF, 0x00, 0x02, 0x00, 0x00, 0x77, + 0x2A, 0x48, 0x8D, 0x84, 0x24, 0x80, 0x01, 0x00, 0x00, 0x48, 0x3B, 0xF0, 0x74, 0x0E, 0xBA, 0x4B, + 0x70, 0x68, 0x43, 0x48, 0x8B, 0xCE, 0xFF, 0x15, 0xDC, 0x9D, 0xFF, 0xFF, 0x48, 0x8D, 0xB4, 0x24, + 0x80, 0x01, 0x00, 0x00, 0x48, 0x89, 0x74, 0x24, 0x38, 0xEB, 0x64, 0x48, 0x8D, 0x84, 0x24, 0x80, + 0x01, 0x00, 0x00, 0x48, 0x3B, 0xF0, 0x75, 0x57, 0x41, 0xB8, 0x4B, 0x70, 0x68, 0x43, 0x48, 0x8B, + 0xD7, 0x33, 0xC9, 0xFF, 0x15, 0xA7, 0x9D, 0xFF, 0xFF, 0x48, 0x8B, 0xF0, 0x48, 0x89, 0x44, 0x24, + 0x38, 0x48, 0x3B, 0xC3, 0x75, 0x39, 0x48, 0xD1, 0xEF, 0x48, 0x81, 0xFF, 0x00, 0x02, 0x00, 0x00, + 0x76, 0x20, 0x41, 0xB8, 0x4B, 0x70, 0x68, 0x43, 0x48, 0x8B, 0xD7, 0x33, 0xC9, 0xFF, 0x15, 0x7D, + 0x9D, 0xFF, 0xFF, 0x48, 0x8B, 0xF0, 0x48, 0x89, 0x44, 0x24, 0x38, 0x48, 0x3B, 0xC3, 0x74, 0xD6, + 0xEB, 0x0D, 0x48, 0x8D, 0xB4, 0x24, 0x80, 0x01, 0x00, 0x00, 0x48, 0x89, 0x74, 0x24, 0x38, 0x48, + 0x89, 0x5C, 0x24, 0x40, 0x88, 0x5C, 0x24, 0x33, 0x88, 0x5C, 0x24, 0x34, 0x48, 0x8D, 0x94, 0x24, + 0x98, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x8C, 0x24, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x15, 0x5E, 0x9E, + 0xFF, 0xFF, 0x90, 0x4C, 0x3B, 0xAC, 0x24, 0x88, 0x00, 0x00, 0x00, 0x75, 0x29, 0x38, 0x9C, 0x24, + 0xF8, 0x03, 0x00, 0x00, 0x74, 0x20, 0xC6, 0x44, 0x24, 0x30, 0x01, 0x41, 0xB8, 0x01, 0x00, 0x00, + 0x00, 0x48, 0x8B, 0x94, 0x24, 0xF0, 0x03, 0x00, 0x00, 0x49, 0x8B, 0xCD, 0xFF, 0x15, 0x76, 0x9D, + 0xFF, 0xFF, 0x88, 0x5C, 0x24, 0x30, 0x38, 0x5C, 0x24, 0x31, 0x0F, 0x84, 0xB1, 0x00, 0x00, 0x00, + 0x4C, 0x8D, 0x8C, 0x24, 0xD0, 0x00, 0x00, 0x00, 0x49, 0x89, 0x19, 0x41, 0x8B, 0xCD, 0x41, 0xB8, + 0xFF, 0x0F, 0x00, 0x00, 0x41, 0x23, 0xC8, 0x8B, 0xC7, 0x41, 0x23, 0xC0, 0x8D, 0x94, 0x01, 0xFF, + 0x0F, 0x00, 0x00, 0xC1, 0xEA, 0x0C, 0x48, 0x8B, 0xC7, 0x48, 0xC1, 0xE8, 0x0C, 0x03, 0xC2, 0x48, + 0x8D, 0x04, 0xC5, 0x30, 0x00, 0x00, 0x00, 0x66, 0x41, 0x89, 0x41, 0x08, 0x66, 0x41, 0x89, 0x59, + 0x0A, 0x49, 0x8B, 0xC5, 0x48, 0x25, 0x00, 0xF0, 0xFF, 0xFF, 0x49, 0x89, 0x41, 0x20, 0x49, 0x8B, + 0xC5, 0x49, 0x23, 0xC0, 0x41, 0x89, 0x41, 0x2C, 0x41, 0x89, 0x79, 0x28, 0x45, 0x33, 0xC0, 0x8A, + 0x94, 0x24, 0xF8, 0x03, 0x00, 0x00, 0x49, 0x8B, 0xC9, 0xFF, 0x15, 0xA1, 0x9E, 0xFF, 0xFF, 0xC6, + 0x44, 0x24, 0x33, 0x01, 0xC7, 0x44, 0x24, 0x28, 0x20, 0x00, 0x00, 0x00, 0x89, 0x5C, 0x24, 0x20, + 0x45, 0x33, 0xC9, 0x33, 0xD2, 0x45, 0x8D, 0x41, 0x01, 0x48, 0x8D, 0x8C, 0x24, 0xD0, 0x00, 0x00, + 0x00, 0xFF, 0x15, 0x71, 0x9E, 0xFF, 0xFF, 0x48, 0x89, 0x44, 0x24, 0x40, 0x48, 0x3B, 0xC3, 0x75, + 0x1E, 0xC6, 0x44, 0x24, 0x32, 0x01, 0xB9, 0x9A, 0x00, 0x00, 0xC0, 0xFF, 0x15, 0x47, 0x9E, 0xFF, + 0xFF, 0x4C, 0x8B, 0xC7, 0x49, 0x8B, 0xD5, 0x48, 0x8B, 0xCE, 0xE8, 0x51, 0x8B, 0xFF, 0xFF, 0x48, + 0x8D, 0x8C, 0x24, 0x98, 0x00, 0x00, 0x00, 0xFF, 0x15, 0xDB, 0x9C, 0xFF, 0xFF, 0x48, 0x8D, 0x94, + 0x24, 0x98, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, 0x68, 0xFF, 0x15, 0x40, 0x9D, 0xFF, 0xFF, + 0x4C, 0x3B, 0xBC, 0x24, 0x90, 0x00, 0x00, 0x00, 0x75, 0x29, 0x38, 0x9C, 0x24, 0xF8, 0x03, 0x00, + 0x00, 0x74, 0x20, 0xC6, 0x44, 0x24, 0x30, 0x01, 0x41, 0xB8, 0x01, 0x00, 0x00, 0x00, 0x48, 0x8B, + 0x94, 0x24, 0xF0, 0x03, 0x00, 0x00, 0x49, 0x8B, 0xCF, 0xFF, 0x15, 0x11, 0x9C, 0xFF, 0xFF, 0x88, + 0x5C, 0x24, 0x30, 0xC6, 0x44, 0x24, 0x34, 0x01, 0x38, 0x5C, 0x24, 0x31, 0x74, 0x12, 0x4C, 0x8B, + 0xC7, 0x48, 0x8B, 0x54, 0x24, 0x40, 0x49, 0x8B, 0xCF, 0xE8, 0xE2, 0x8A, 0xFF, 0xFF, 0xEB, 0x0F, + 0x4C, 0x8B, 0xC7, 0x48, 0x8B, 0xD6, 0x49, 0x8B, 0xCF, 0xE8, 0xD2, 0x8A, 0xFF, 0xFF, 0x90, 0x48, + 0x8D, 0x8C, 0x24, 0x98, 0x00, 0x00, 0x00, 0xFF, 0x15, 0x5B, 0x9C, 0xFF, 0xFF, 0x38, 0x5C, 0x24, + 0x31, 0x74, 0x21, 0x48, 0x8D, 0x94, 0x24, 0xD0, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, 0x40, + 0xFF, 0x15, 0x8A, 0x9D, 0xFF, 0xFF, 0x48, 0x8D, 0x8C, 0x24, 0xD0, 0x00, 0x00, 0x00, 0xFF, 0x15, + 0xA4, 0x9D, 0xFF, 0xFF, 0x4C, 0x2B, 0xF7, 0x4C, 0x89, 0x74, 0x24, 0x48, 0x4C, 0x03, 0xEF, 0x4C, + 0x89, 0x6C, 0x24, 0x58, 0x4C, 0x03, 0xFF, 0xE9, 0x55, 0xFD, 0xFF, 0xFF, 0x8B, 0xF0, 0x48, 0x8D, + 0x8C, 0x24, 0x98, 0x00, 0x00, 0x00, 0xFF, 0x15, 0x0C, 0x9C, 0xFF, 0xFF, 0x48, 0x8B, 0x4C, 0x24, + 0x40, 0x33, 0xDB, 0x48, 0x3B, 0xCB, 0x74, 0x10, 0x48, 0x8B, 0x7C, 0x24, 0x50, 0x48, 0x8B, 0xD7, + 0xFF, 0x15, 0x3A, 0x9D, 0xFF, 0xFF, 0xEB, 0x05, 0x48, 0x8B, 0x7C, 0x24, 0x50, 0x38, 0x5C, 0x24, + 0x33, 0x74, 0x09, 0x48, 0x8B, 0xCF, 0xFF, 0x15, 0x4C, 0x9D, 0xFF, 0xFF, 0x48, 0x8D, 0x84, 0x24, + 0x80, 0x01, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, 0x38, 0x48, 0x3B, 0xC8, 0x74, 0x0B, 0xBA, 0x4B, + 0x70, 0x68, 0x43, 0xFF, 0x15, 0x1F, 0x9B, 0xFF, 0xFF, 0x38, 0x5C, 0x24, 0x30, 0x75, 0x40, 0x38, + 0x5C, 0x24, 0x32, 0x75, 0x3A, 0x38, 0x5C, 0x24, 0x34, 0x74, 0x18, 0x38, 0x5C, 0x24, 0x35, 0x74, + 0x12, 0x8B, 0x4C, 0x24, 0x70, 0x2B, 0x4C, 0x24, 0x58, 0x48, 0x8B, 0x44, 0x24, 0x60, 0x48, 0x89, + 0x08, 0xEB, 0x15, 0x48, 0x8B, 0x8C, 0x24, 0xF0, 0x03, 0x00, 0x00, 0x48, 0x2B, 0x4C, 0x24, 0x48, + 0x48, 0x8B, 0x44, 0x24, 0x60, 0x48, 0x89, 0x08, 0xB8, 0x0D, 0x00, 0x00, 0x80, 0xEB, 0x31, 0x8B, + 0xC6, 0xEB, 0x2D, 0x48, 0x8D, 0x84, 0x24, 0x80, 0x01, 0x00, 0x00, 0x48, 0x3B, 0xF0, 0x74, 0x0E, + 0xBA, 0x4B, 0x70, 0x68, 0x43, 0x48, 0x8B, 0xCE, 0xFF, 0x15, 0xBA, 0x9A, 0xFF, 0xFF, 0x48, 0x8B, + 0x84, 0x24, 0xF0, 0x03, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, 0x78, 0x48, 0x89, 0x01, 0x33, 0xC0, + 0x48, 0x8B, 0x8C, 0x24, 0x80, 0x03, 0x00, 0x00, 0x48, 0x33, 0xCC, 0xE8, 0x30, 0x89, 0xFF, 0xFF, + 0x48, 0x81, 0xC4, 0x98, 0x03, 0x00, 0x00, 0x41, 0x5F, 0x41, 0x5E, 0x41, 0x5D, 0x5F, 0x5E, 0x5B, + 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x74, + 0x24, 0x10, 0x48, 0x89, 0x7C, 0x24, 0x18, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x48, 0x83, 0xEC, + 0x50, 0x49, 0x8B, 0xF1, 0x4D, 0x8B, 0xF0, 0x4C, 0x8B, 0xEA, 0x48, 0x8B, 0xF9, 0x44, 0x8A, 0xA4, + 0x24, 0x98, 0x00, 0x00, 0x00, 0x45, 0x84, 0xE4, 0x74, 0x52, 0x4E, 0x8D, 0x14, 0x0A, 0x4C, 0x3B, + 0xD2, 0x72, 0x3F, 0x4F, 0x8D, 0x1C, 0x08, 0x4D, 0x3B, 0xD8, 0x72, 0x36, 0x48, 0x8B, 0x05, 0x2D, + 0x9C, 0xFF, 0xFF, 0x4C, 0x3B, 0x10, 0x77, 0x2A, 0x4C, 0x3B, 0x18, 0x77, 0x25, 0x48, 0x8B, 0x9C, + 0x24, 0x90, 0x00, 0x00, 0x00, 0x48, 0x85, 0xDB, 0x74, 0x2A, 0xBA, 0x08, 0x00, 0x00, 0x00, 0x44, + 0x8B, 0xC2, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0x25, 0x9A, 0xFF, 0xFF, 0xEB, 0x17, 0xE9, 0xC8, 0x00, + 0x00, 0x00, 0xB8, 0x05, 0x00, 0x00, 0xC0, 0xE9, 0xBE, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x9C, 0x24, + 0x90, 0x00, 0x00, 0x00, 0x48, 0x85, 0xF6, 0x0F, 0x84, 0x84, 0x00, 0x00, 0x00, 0x48, 0x83, 0x64, + 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x40, 0x48, 0x89, 0x44, 0x24, 0x20, 0x45, 0x8A, 0xCC, + 0x4C, 0x8B, 0x05, 0x51, 0x9A, 0xFF, 0xFF, 0x4D, 0x8B, 0x00, 0x33, 0xD2, 0x48, 0x8B, 0xCF, 0xFF, + 0x15, 0x93, 0x9A, 0xFF, 0xFF, 0x8B, 0xF8, 0x89, 0x84, 0x24, 0x98, 0x00, 0x00, 0x00, 0x85, 0xC0, + 0x78, 0x48, 0xFF, 0x15, 0x78, 0x9A, 0xFF, 0xFF, 0x4C, 0x8B, 0xC0, 0x48, 0x8D, 0x44, 0x24, 0x48, + 0x48, 0x89, 0x44, 0x24, 0x30, 0x44, 0x88, 0x64, 0x24, 0x28, 0x48, 0x89, 0x74, 0x24, 0x20, 0x4D, + 0x8B, 0xCE, 0x49, 0x8B, 0xD5, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0xE8, 0xC5, 0xFA, 0xFF, 0xFF, 0x8B, + 0xF8, 0x89, 0x84, 0x24, 0x98, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, 0x40, 0xFF, 0x15, 0x6D, + 0x9A, 0xFF, 0xFF, 0x4C, 0x8B, 0x5C, 0x24, 0x48, 0xEB, 0x13, 0x4C, 0x8B, 0x5C, 0x24, 0x48, 0xEB, + 0x0C, 0x45, 0x33, 0xDB, 0x33, 0xFF, 0x89, 0xBC, 0x24, 0x98, 0x00, 0x00, 0x00, 0x48, 0x85, 0xDB, + 0x74, 0x16, 0x45, 0x84, 0xE4, 0x74, 0x0E, 0x4C, 0x89, 0x1B, 0xEB, 0x07, 0x8B, 0xBC, 0x24, 0x98, + 0x00, 0x00, 0x00, 0xEB, 0x03, 0x4C, 0x89, 0x1B, 0x8B, 0xC7, 0x4C, 0x8D, 0x5C, 0x24, 0x50, 0x49, + 0x8B, 0x5B, 0x20, 0x49, 0x8B, 0x73, 0x28, 0x49, 0x8B, 0x7B, 0x30, 0x49, 0x8B, 0xE3, 0x41, 0x5E, + 0x41, 0x5D, 0x41, 0x5C, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, + 0x08, 0x48, 0x89, 0x74, 0x24, 0x10, 0x48, 0x89, 0x7C, 0x24, 0x18, 0x41, 0x54, 0x41, 0x55, 0x41, + 0x56, 0x48, 0x83, 0xEC, 0x50, 0x49, 0x8B, 0xF1, 0x4D, 0x8B, 0xF0, 0x4C, 0x8B, 0xEA, 0x48, 0x8B, + 0xF9, 0x44, 0x8A, 0xA4, 0x24, 0x98, 0x00, 0x00, 0x00, 0x45, 0x84, 0xE4, 0x74, 0x52, 0x4E, 0x8D, + 0x14, 0x0A, 0x4C, 0x3B, 0xD2, 0x72, 0x3F, 0x4F, 0x8D, 0x1C, 0x08, 0x4D, 0x3B, 0xD8, 0x72, 0x36, + 0x48, 0x8B, 0x05, 0xC9, 0x9A, 0xFF, 0xFF, 0x4C, 0x3B, 0x10, 0x77, 0x2A, 0x4C, 0x3B, 0x18, 0x77, + 0x25, 0x48, 0x8B, 0x9C, 0x24, 0x90, 0x00, 0x00, 0x00, 0x48, 0x85, 0xDB, 0x74, 0x2A, 0xBA, 0x08, + 0x00, 0x00, 0x00, 0x44, 0x8B, 0xC2, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0xC1, 0x98, 0xFF, 0xFF, 0xEB, + 0x17, 0xE9, 0xC8, 0x00, 0x00, 0x00, 0xB8, 0x05, 0x00, 0x00, 0xC0, 0xE9, 0xBE, 0x00, 0x00, 0x00, + 0x48, 0x8B, 0x9C, 0x24, 0x90, 0x00, 0x00, 0x00, 0x48, 0x85, 0xF6, 0x0F, 0x84, 0x84, 0x00, 0x00, + 0x00, 0x48, 0x83, 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x40, 0x48, 0x89, 0x44, 0x24, + 0x20, 0x45, 0x8A, 0xCC, 0x4C, 0x8B, 0x05, 0xED, 0x98, 0xFF, 0xFF, 0x4D, 0x8B, 0x00, 0x33, 0xD2, + 0x48, 0x8B, 0xCF, 0xFF, 0x15, 0x2F, 0x99, 0xFF, 0xFF, 0x8B, 0xF8, 0x89, 0x84, 0x24, 0x98, 0x00, + 0x00, 0x00, 0x85, 0xC0, 0x78, 0x48, 0xFF, 0x15, 0x14, 0x99, 0xFF, 0xFF, 0x48, 0x8B, 0xC8, 0x48, + 0x8D, 0x44, 0x24, 0x48, 0x48, 0x89, 0x44, 0x24, 0x30, 0x44, 0x88, 0x64, 0x24, 0x28, 0x48, 0x89, + 0x74, 0x24, 0x20, 0x4D, 0x8B, 0xCD, 0x4C, 0x8B, 0x44, 0x24, 0x40, 0x49, 0x8B, 0xD6, 0xE8, 0x61, + 0xF9, 0xFF, 0xFF, 0x8B, 0xF8, 0x89, 0x84, 0x24, 0x98, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x4C, 0x24, + 0x40, 0xFF, 0x15, 0x09, 0x99, 0xFF, 0xFF, 0x4C, 0x8B, 0x5C, 0x24, 0x48, 0xEB, 0x13, 0x4C, 0x8B, + 0x5C, 0x24, 0x48, 0xEB, 0x0C, 0x45, 0x33, 0xDB, 0x33, 0xFF, 0x89, 0xBC, 0x24, 0x98, 0x00, 0x00, + 0x00, 0x48, 0x85, 0xDB, 0x74, 0x16, 0x45, 0x84, 0xE4, 0x74, 0x0E, 0x4C, 0x89, 0x1B, 0xEB, 0x07, + 0x8B, 0xBC, 0x24, 0x98, 0x00, 0x00, 0x00, 0xEB, 0x03, 0x4C, 0x89, 0x1B, 0x8B, 0xC7, 0x4C, 0x8D, + 0x5C, 0x24, 0x50, 0x49, 0x8B, 0x5B, 0x20, 0x49, 0x8B, 0x73, 0x28, 0x49, 0x8B, 0x7B, 0x30, 0x49, + 0x8B, 0xE3, 0x41, 0x5E, 0x41, 0x5D, 0x41, 0x5C, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x58, 0x08, 0x48, 0x89, 0x70, 0x10, 0x48, 0x89, 0x78, 0x18, 0x4C, + 0x89, 0x60, 0x20, 0x41, 0x55, 0x41, 0x56, 0x41, 0x57, 0x48, 0x83, 0xEC, 0x60, 0x49, 0x8B, 0xF9, + 0x4D, 0x8B, 0xF0, 0x4C, 0x8B, 0xE2, 0x48, 0x8B, 0xD9, 0x44, 0x8A, 0xBC, 0x24, 0xA8, 0x00, 0x00, + 0x00, 0x45, 0x84, 0xFF, 0x74, 0x4C, 0x4A, 0x8D, 0x04, 0x0A, 0x48, 0x3B, 0xC2, 0x72, 0x39, 0x4D, + 0x03, 0xC8, 0x4D, 0x3B, 0xC8, 0x72, 0x31, 0x48, 0x8B, 0x05, 0x62, 0x99, 0xFF, 0xFF, 0x4C, 0x3B, + 0x08, 0x77, 0x25, 0x48, 0x8B, 0xB4, 0x24, 0xA0, 0x00, 0x00, 0x00, 0x48, 0x85, 0xF6, 0x74, 0x2A, + 0xBA, 0x08, 0x00, 0x00, 0x00, 0x44, 0x8B, 0xC2, 0x48, 0x8B, 0xCE, 0xFF, 0x15, 0x5F, 0x97, 0xFF, + 0xFF, 0xEB, 0x17, 0xE9, 0x38, 0x01, 0x00, 0x00, 0xB8, 0x05, 0x00, 0x00, 0xC0, 0xE9, 0x2E, 0x01, + 0x00, 0x00, 0x48, 0x8B, 0xB4, 0x24, 0xA0, 0x00, 0x00, 0x00, 0x48, 0x85, 0xFF, 0x0F, 0x84, 0xF5, + 0x00, 0x00, 0x00, 0x49, 0x8D, 0x0C, 0x3C, 0x48, 0x8B, 0x05, 0x12, 0x99, 0xFF, 0xFF, 0x48, 0x3B, + 0x08, 0x76, 0x61, 0x49, 0x8B, 0xDC, 0x48, 0xC7, 0xC0, 0x00, 0xF0, 0xFF, 0xFF, 0x48, 0x23, 0xD8, + 0x4C, 0x8D, 0x69, 0xFF, 0x4C, 0x23, 0xE8, 0x49, 0x3B, 0xDD, 0x77, 0x26, 0x48, 0x8B, 0xCB, 0xFF, + 0x15, 0x0B, 0x99, 0xFF, 0xFF, 0x84, 0xC0, 0x75, 0x0B, 0xB9, 0x05, 0x00, 0x00, 0xC0, 0xFF, 0x15, + 0xD4, 0x98, 0xFF, 0xFF, 0x48, 0x81, 0xC3, 0x00, 0x10, 0x00, 0x00, 0x48, 0x89, 0x5C, 0x24, 0x50, + 0xEB, 0xD5, 0x4C, 0x8B, 0xC7, 0x49, 0x8B, 0xD4, 0x49, 0x8B, 0xCE, 0xE8, 0xD0, 0x85, 0xFF, 0xFF, + 0x90, 0x33, 0xDB, 0x89, 0x9C, 0x24, 0xA8, 0x00, 0x00, 0x00, 0xE9, 0x94, 0x00, 0x00, 0x00, 0xE9, + 0xAC, 0x00, 0x00, 0x00, 0x48, 0x83, 0x64, 0x24, 0x28, 0x00, 0x48, 0x8D, 0x44, 0x24, 0x40, 0x48, + 0x89, 0x44, 0x24, 0x20, 0x45, 0x8A, 0xCF, 0x4C, 0x8B, 0x05, 0x1A, 0x97, 0xFF, 0xFF, 0x4D, 0x8B, + 0x00, 0x33, 0xD2, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0x5C, 0x97, 0xFF, 0xFF, 0x8B, 0xD8, 0x89, 0x84, + 0x24, 0xA8, 0x00, 0x00, 0x00, 0x85, 0xC0, 0x78, 0x48, 0xFF, 0x15, 0x41, 0x97, 0xFF, 0xFF, 0x4C, + 0x8B, 0xC0, 0x48, 0x8D, 0x44, 0x24, 0x48, 0x48, 0x89, 0x44, 0x24, 0x30, 0x44, 0x88, 0x7C, 0x24, + 0x28, 0x48, 0x89, 0x7C, 0x24, 0x20, 0x4D, 0x8B, 0xCE, 0x49, 0x8B, 0xD4, 0x48, 0x8B, 0x4C, 0x24, + 0x40, 0xE8, 0x8E, 0xF7, 0xFF, 0xFF, 0x8B, 0xD8, 0x89, 0x84, 0x24, 0xA8, 0x00, 0x00, 0x00, 0x48, + 0x8B, 0x4C, 0x24, 0x40, 0xFF, 0x15, 0x36, 0x97, 0xFF, 0xFF, 0x48, 0x8B, 0x7C, 0x24, 0x48, 0xEB, + 0x12, 0x48, 0x8B, 0x7C, 0x24, 0x48, 0xEB, 0x0B, 0x33, 0xFF, 0x33, 0xDB, 0x89, 0x9C, 0x24, 0xA8, + 0x00, 0x00, 0x00, 0x48, 0x85, 0xF6, 0x74, 0x16, 0x45, 0x84, 0xFF, 0x74, 0x0E, 0x48, 0x89, 0x3E, + 0xEB, 0x07, 0x8B, 0x9C, 0x24, 0xA8, 0x00, 0x00, 0x00, 0xEB, 0x03, 0x48, 0x89, 0x3E, 0x8B, 0xC3, + 0x4C, 0x8D, 0x5C, 0x24, 0x60, 0x49, 0x8B, 0x5B, 0x20, 0x49, 0x8B, 0x73, 0x28, 0x49, 0x8B, 0x7B, + 0x30, 0x4D, 0x8B, 0x63, 0x38, 0x49, 0x8B, 0xE3, 0x41, 0x5F, 0x41, 0x5E, 0x41, 0x5D, 0xC3, 0xCC, + 0x5C, 0x00, 0x44, 0x00, 0x65, 0x00, 0x76, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x5C, 0x00, + 0x4B, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, + 0x48, 0x00, 0x61, 0x00, 0x63, 0x00, 0x6B, 0x00, 0x65, 0x00, 0x72, 0x00, 0x32, 0x00, 0x00, 0x00, + 0x5C, 0x00, 0x50, 0x00, 0x61, 0x00, 0x72, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x74, 0x00, + 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x53, 0x00, 0x65, 0x00, 0x63, 0x00, 0x75, 0x00, 0x72, 0x00, 0x69, 0x00, 0x74, 0x00, 0x79, 0x00, + 0x4C, 0x00, 0x65, 0x00, 0x76, 0x00, 0x65, 0x00, 0x6C, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, + 0x44, 0x00, 0x69, 0x00, 0x73, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x44, 0x00, + 0x79, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x63, 0x00, 0x50, 0x00, 0x72, 0x00, + 0x6F, 0x00, 0x63, 0x00, 0x65, 0x00, 0x64, 0x00, 0x75, 0x00, 0x72, 0x00, 0x65, 0x00, 0x53, 0x00, + 0x63, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x44, 0x00, 0x79, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x63, 0x00, 0x43, 0x00, + 0x6F, 0x00, 0x6E, 0x00, 0x66, 0x00, 0x69, 0x00, 0x67, 0x00, 0x75, 0x00, 0x72, 0x00, 0x61, 0x00, + 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x45, 0x00, 0x78, 0x00, 0x66, 0x00, 0x55, 0x00, 0x6E, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x6F, 0x00, + 0x63, 0x00, 0x6B, 0x00, 0x50, 0x00, 0x75, 0x00, 0x73, 0x00, 0x68, 0x00, 0x4C, 0x00, 0x6F, 0x00, + 0x63, 0x00, 0x6B, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x4F, 0x00, 0x62, 0x00, 0x47, 0x00, 0x65, 0x00, 0x74, 0x00, 0x4F, 0x00, 0x62, 0x00, 0x6A, 0x00, + 0x65, 0x00, 0x63, 0x00, 0x74, 0x00, 0x54, 0x00, 0x79, 0x00, 0x70, 0x00, 0x65, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x73, 0x00, 0x41, 0x00, 0x63, 0x00, 0x71, 0x00, 0x75, 0x00, 0x69, 0x00, 0x72, 0x00, + 0x65, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, + 0x45, 0x00, 0x78, 0x00, 0x69, 0x00, 0x74, 0x00, 0x53, 0x00, 0x79, 0x00, 0x6E, 0x00, 0x63, 0x00, + 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x7A, 0x00, 0x61, 0x00, 0x74, 0x00, + 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x50, 0x00, 0x73, 0x00, 0x49, 0x00, 0x73, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x74, 0x00, + 0x65, 0x00, 0x63, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, + 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x50, 0x00, 0x73, 0x00, 0x52, 0x00, 0x65, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x61, 0x00, 0x73, 0x00, + 0x65, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, + 0x45, 0x00, 0x78, 0x00, 0x69, 0x00, 0x74, 0x00, 0x53, 0x00, 0x79, 0x00, 0x6E, 0x00, 0x63, 0x00, + 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x7A, 0x00, 0x61, 0x00, 0x74, 0x00, + 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x50, 0x00, 0x73, 0x00, 0x52, 0x00, 0x65, 0x00, 0x73, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x65, 0x00, + 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x73, 0x00, 0x53, 0x00, 0x75, 0x00, 0x73, 0x00, 0x70, 0x00, 0x65, 0x00, 0x6E, 0x00, + 0x64, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, + 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0x45, 0x00, 0x74, 0x00, 0x77, 0x00, 0x52, 0x00, 0x65, 0x00, 0x67, 0x00, 0x69, 0x00, 0x73, 0x00, + 0x74, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x40, 0x55, 0x48, 0x83, 0xEC, 0x30, 0x48, 0x8B, 0xEA, 0x4C, + 0x8D, 0x45, 0x70, 0x48, 0x8D, 0x55, 0x35, 0xE8, 0xB0, 0x81, 0xFF, 0xFF, 0x48, 0x83, 0xC4, 0x30, + 0x5D, 0xC3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x05, 0xF1, 0xA0, 0xFF, 0xFF, 0x48, + 0xBA, 0x32, 0xA2, 0xDF, 0x2D, 0x99, 0x2B, 0x00, 0x00, 0x48, 0x85, 0xC0, 0x74, 0x05, 0x48, 0x3B, + 0xC2, 0x75, 0x2F, 0x48, 0x8D, 0x0D, 0xD6, 0xA0, 0xFF, 0xFF, 0x48, 0xB8, 0x20, 0x03, 0x00, 0x00, + 0x80, 0xF7, 0xFF, 0xFF, 0x48, 0x8B, 0x00, 0x48, 0x33, 0xC1, 0x48, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x48, 0x23, 0xC1, 0x48, 0x0F, 0x44, 0xC2, 0x48, 0x89, 0x05, 0xAE, 0xA0, + 0xFF, 0xFF, 0x48, 0xF7, 0xD0, 0x48, 0x89, 0x05, 0xAC, 0xA0, 0xFF, 0xFF, 0xC3, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x83, 0xEC, 0x28, 0x4C, 0x8B, 0xC2, 0x4C, 0x8B, 0xC9, 0xE8, 0x95, + 0xFF, 0xFF, 0xFF, 0x49, 0x8B, 0xD0, 0x49, 0x8B, 0xC9, 0x48, 0x83, 0xC4, 0x28, 0xE9, 0x86, 0xBF, + 0xFF, 0xFF, 0xCC, 0xCC, 0xB0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xF4, 0xA8, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xF0, 0xA2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1C, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x46, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x72, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x8E, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xBC, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xE2, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x22, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4E, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x74, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xA6, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBA, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xCE, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE2, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xF8, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2A, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x54, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x88, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xBE, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xF2, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x28, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xB8, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xE8, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1A, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x42, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x62, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x8A, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xBA, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xEC, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1A, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4C, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x72, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xAA, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xD0, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE4, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0xA9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x73, 0x00, 0x45, 0x78, 0x41, 0x6C, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x65, 0x50, 0x6F, 0x6F, 0x6C, + 0x57, 0x69, 0x74, 0x68, 0x54, 0x61, 0x67, 0x00, 0x8B, 0x00, 0x45, 0x78, 0x46, 0x72, 0x65, 0x65, + 0x50, 0x6F, 0x6F, 0x6C, 0x57, 0x69, 0x74, 0x68, 0x54, 0x61, 0x67, 0x00, 0xBA, 0x05, 0x52, 0x74, + 0x6C, 0x49, 0x6E, 0x69, 0x74, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0x53, 0x74, 0x72, 0x69, + 0x6E, 0x67, 0x00, 0x00, 0xE3, 0x01, 0x49, 0x6F, 0x44, 0x65, 0x6C, 0x65, 0x74, 0x65, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x00, 0x00, 0xB6, 0x04, 0x50, 0x72, 0x6F, 0x62, 0x65, 0x46, 0x6F, 0x72, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x00, 0x82, 0x07, 0x5A, 0x77, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x79, 0x73, 0x74, 0x65, 0x6D, 0x49, 0x6E, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x69, 0x6F, 0x6E, + 0x00, 0x00, 0x83, 0x07, 0x5A, 0x77, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6C, 0x75, 0x65, + 0x4B, 0x65, 0x79, 0x00, 0x12, 0x07, 0x5A, 0x77, 0x43, 0x6C, 0x6F, 0x73, 0x65, 0x00, 0xA3, 0x02, + 0x49, 0x6F, 0x66, 0x43, 0x6F, 0x6D, 0x70, 0x6C, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x00, 0x00, 0xC5, 0x04, 0x50, 0x73, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, + 0x6E, 0x74, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x00, 0xCE, 0x01, 0x49, 0x6F, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x00, 0x00, 0xA0, 0x06, + 0x53, 0x65, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6C, 0x65, 0x67, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6B, + 0x00, 0x00, 0x4E, 0x07, 0x5A, 0x77, 0x4F, 0x70, 0x65, 0x6E, 0x4B, 0x65, 0x79, 0x00, 0xB5, 0x04, + 0x50, 0x72, 0x6F, 0x62, 0x65, 0x46, 0x6F, 0x72, 0x52, 0x65, 0x61, 0x64, 0x00, 0x00, 0xAE, 0x05, + 0x52, 0x74, 0x6C, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x00, 0x3F, 0x05, + 0x52, 0x74, 0x6C, 0x43, 0x6F, 0x6D, 0x70, 0x61, 0x72, 0x65, 0x4D, 0x65, 0x6D, 0x6F, 0x72, 0x79, + 0x00, 0x00, 0xBF, 0x03, 0x4D, 0x6D, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x52, + 0x6F, 0x75, 0x74, 0x69, 0x6E, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x00, 0xFF, 0x04, + 0x50, 0x73, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x00, 0x76, 0x04, + 0x4F, 0x62, 0x4F, 0x70, 0x65, 0x6E, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x42, 0x79, 0x4E, 0x61, + 0x6D, 0x65, 0x00, 0x00, 0x7C, 0x07, 0x5A, 0x77, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4F, 0x62, 0x6A, + 0x65, 0x63, 0x74, 0x00, 0x7A, 0x05, 0x52, 0x74, 0x6C, 0x45, 0x71, 0x75, 0x61, 0x6C, 0x55, 0x6E, + 0x69, 0x63, 0x6F, 0x64, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x81, 0x03, 0x4B, 0x65, + 0x55, 0x6E, 0x73, 0x74, 0x61, 0x63, 0x6B, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x50, 0x72, 0x6F, + 0x63, 0x65, 0x73, 0x73, 0x00, 0x00, 0x83, 0x00, 0x45, 0x78, 0x45, 0x6E, 0x75, 0x6D, 0x48, 0x61, + 0x6E, 0x64, 0x6C, 0x65, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x7A, 0x04, 0x4F, 0x62, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x4E, 0x61, 0x6D, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0xF2, 0x01, + 0x49, 0x6F, 0x46, 0x69, 0x6C, 0x65, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x00, 0x00, 0xEC, 0x01, 0x49, 0x6F, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4F, 0x62, 0x6A, 0x65, + 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x00, 0x00, 0x04, 0x02, 0x49, 0x6F, 0x47, 0x65, 0x74, 0x43, + 0x75, 0x72, 0x72, 0x65, 0x6E, 0x74, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x00, 0x7C, 0x04, + 0x4F, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6E, 0x63, 0x65, 0x4F, 0x62, 0x6A, 0x65, 0x63, + 0x74, 0x42, 0x79, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x00, 0x65, 0x04, 0x4F, 0x62, 0x43, 0x6C, + 0x6F, 0x73, 0x65, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x00, 0xF2, 0x04, 0x50, 0x73, 0x49, 0x6E, + 0x69, 0x74, 0x69, 0x61, 0x6C, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x50, 0x72, 0x6F, 0x63, 0x65, + 0x73, 0x73, 0x00, 0x00, 0x84, 0x04, 0x4F, 0x62, 0x53, 0x65, 0x74, 0x48, 0x61, 0x6E, 0x64, 0x6C, + 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x00, 0x73, 0x07, 0x5A, 0x77, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6E, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x69, 0x6F, 0x6E, + 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x00, 0x88, 0x04, 0x4F, 0x62, 0x66, 0x44, 0x65, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6E, 0x63, 0x65, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x00, 0x00, + 0x72, 0x00, 0x45, 0x78, 0x41, 0x6C, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x65, 0x50, 0x6F, 0x6F, 0x6C, + 0x57, 0x69, 0x74, 0x68, 0x51, 0x75, 0x6F, 0x74, 0x61, 0x54, 0x61, 0x67, 0x00, 0x00, 0x75, 0x07, + 0x5A, 0x77, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6E, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x69, + 0x6F, 0x6E, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x00, 0x00, 0x77, 0x04, 0x4F, 0x62, 0x4F, 0x70, + 0x65, 0x6E, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x42, 0x79, 0x50, 0x6F, 0x69, 0x6E, 0x74, 0x65, + 0x72, 0x00, 0x77, 0x03, 0x4B, 0x65, 0x53, 0x74, 0x61, 0x63, 0x6B, 0x41, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x00, 0x00, 0x64, 0x00, 0x45, 0x78, 0x41, 0x63, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x52, 0x75, 0x6E, 0x64, 0x6F, 0x77, 0x6E, 0x50, 0x72, 0x6F, 0x74, + 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0xFC, 0x04, 0x50, 0x73, 0x4C, 0x6F, 0x6F, 0x6B, + 0x75, 0x70, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6F, 0x63, 0x65, + 0x73, 0x73, 0x49, 0x64, 0x00, 0x00, 0xFA, 0x04, 0x50, 0x73, 0x4A, 0x6F, 0x62, 0x54, 0x79, 0x70, + 0x65, 0x00, 0x02, 0x05, 0x50, 0x73, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6E, 0x63, 0x65, 0x50, + 0x72, 0x69, 0x6D, 0x61, 0x72, 0x79, 0x54, 0x6F, 0x6B, 0x65, 0x6E, 0x00, 0xB9, 0x06, 0x53, 0x65, + 0x54, 0x6F, 0x6B, 0x65, 0x6E, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x00, + 0xBE, 0x00, 0x45, 0x78, 0x52, 0x65, 0x6C, 0x65, 0x61, 0x73, 0x65, 0x52, 0x75, 0x6E, 0x64, 0x6F, + 0x77, 0x6E, 0x50, 0x72, 0x6F, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0xA3, 0x07, + 0x5A, 0x77, 0x53, 0x65, 0x74, 0x49, 0x6E, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x69, 0x6F, 0x6E, + 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x00, 0xDE, 0x04, 0x50, 0x73, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x4A, 0x6F, 0x62, 0x00, 0xFD, 0x04, 0x50, 0x73, 0x4C, 0x6F, + 0x6F, 0x6B, 0x75, 0x70, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, 0x61, + 0x64, 0x42, 0x79, 0x43, 0x69, 0x64, 0x00, 0x00, 0xB1, 0x07, 0x5A, 0x77, 0x54, 0x65, 0x72, 0x6D, + 0x69, 0x6E, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x00, 0x00, 0xBF, 0x04, + 0x50, 0x73, 0x44, 0x65, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6E, 0x63, 0x65, 0x50, 0x72, 0x69, + 0x6D, 0x61, 0x72, 0x79, 0x54, 0x6F, 0x6B, 0x65, 0x6E, 0x00, 0x7D, 0x02, 0x49, 0x6F, 0x54, 0x68, + 0x72, 0x65, 0x61, 0x64, 0x54, 0x6F, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x00, 0x69, 0x06, + 0x52, 0x74, 0x6C, 0x57, 0x61, 0x6C, 0x6B, 0x46, 0x72, 0x61, 0x6D, 0x65, 0x43, 0x68, 0x61, 0x69, + 0x6E, 0x00, 0xF1, 0x02, 0x4B, 0x65, 0x49, 0x6E, 0x69, 0x74, 0x69, 0x61, 0x6C, 0x69, 0x7A, 0x65, + 0x41, 0x70, 0x63, 0x00, 0x65, 0x03, 0x4B, 0x65, 0x53, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6E, 0x74, + 0x00, 0x00, 0x05, 0x03, 0x4B, 0x65, 0x49, 0x6E, 0x73, 0x65, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, + 0x65, 0x41, 0x70, 0x63, 0x00, 0x00, 0xF7, 0x02, 0x4B, 0x65, 0x49, 0x6E, 0x69, 0x74, 0x69, 0x61, + 0x6C, 0x69, 0x7A, 0x65, 0x45, 0x76, 0x65, 0x6E, 0x74, 0x00, 0x0E, 0x05, 0x50, 0x73, 0x53, 0x65, + 0x74, 0x43, 0x6F, 0x6E, 0x74, 0x65, 0x78, 0x74, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x00, 0x00, + 0xEF, 0x04, 0x50, 0x73, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x57, 0x69, 0x6E, + 0x33, 0x32, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x00, 0x00, 0xA5, 0x07, 0x5A, 0x77, 0x53, 0x65, + 0x74, 0x49, 0x6E, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x54, 0x68, 0x72, 0x65, + 0x61, 0x64, 0x00, 0x00, 0x87, 0x03, 0x4B, 0x65, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6F, 0x72, 0x53, + 0x69, 0x6E, 0x67, 0x6C, 0x65, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x00, 0x1F, 0x05, 0x50, 0x73, + 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, 0x00, 0x00, 0xB8, 0x04, 0x50, 0x73, + 0x41, 0x73, 0x73, 0x69, 0x67, 0x6E, 0x49, 0x6D, 0x70, 0x65, 0x72, 0x73, 0x6F, 0x6E, 0x61, 0x74, + 0x69, 0x6F, 0x6E, 0x54, 0x6F, 0x6B, 0x65, 0x6E, 0x00, 0x00, 0xC3, 0x04, 0x50, 0x73, 0x47, 0x65, + 0x74, 0x43, 0x6F, 0x6E, 0x74, 0x65, 0x78, 0x74, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x00, 0x00, + 0xFE, 0x04, 0x50, 0x73, 0x4C, 0x6F, 0x6F, 0x6B, 0x75, 0x70, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, + 0x42, 0x79, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x49, 0x64, 0x00, 0x00, 0xEE, 0x03, 0x4D, 0x6D, + 0x55, 0x6E, 0x6D, 0x61, 0x70, 0x4C, 0x6F, 0x63, 0x6B, 0x65, 0x64, 0x50, 0x61, 0x67, 0x65, 0x73, + 0x00, 0x00, 0xAF, 0x00, 0x45, 0x78, 0x52, 0x61, 0x69, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x00, 0xC2, 0x03, 0x4D, 0x6D, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x00, 0x00, 0xD0, 0x03, 0x4D, 0x6D, 0x4D, 0x61, + 0x70, 0x4C, 0x6F, 0x63, 0x6B, 0x65, 0x64, 0x50, 0x61, 0x67, 0x65, 0x73, 0x53, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x00, 0x00, 0xDC, 0x03, 0x4D, 0x6D, 0x50, 0x72, + 0x6F, 0x62, 0x65, 0x41, 0x6E, 0x64, 0x4C, 0x6F, 0x63, 0x6B, 0x50, 0x61, 0x67, 0x65, 0x73, 0x00, + 0xEC, 0x03, 0x4D, 0x6D, 0x55, 0x6E, 0x6C, 0x6F, 0x63, 0x6B, 0x50, 0x61, 0x67, 0x65, 0x73, 0x00, + 0xC3, 0x03, 0x4D, 0x6D, 0x49, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x56, 0x61, 0x6C, + 0x69, 0x64, 0x00, 0x00, 0xC8, 0x02, 0x4B, 0x65, 0x42, 0x75, 0x67, 0x43, 0x68, 0x65, 0x63, 0x6B, + 0x45, 0x78, 0x00, 0x00, 0x6E, 0x74, 0x6F, 0x73, 0x6B, 0x72, 0x6E, 0x6C, 0x2E, 0x65, 0x78, 0x65, + 0x00, 0x00, 0xBD, 0x07, 0x5F, 0x5F, 0x43, 0x5F, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x5F, 0x68, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x09, 0x04, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x60, 0xB0, 0x00, 0x00, 0x98, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x98, 0x02, 0x34, 0x00, 0x00, 0x00, 0x56, 0x00, 0x53, 0x00, 0x5F, 0x00, 0x56, 0x00, 0x45, 0x00, + 0x52, 0x00, 0x53, 0x00, 0x49, 0x00, 0x4F, 0x00, 0x4E, 0x00, 0x5F, 0x00, 0x49, 0x00, 0x4E, 0x00, + 0x46, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x04, 0xEF, 0xFE, 0x00, 0x00, 0x01, 0x00, + 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x01, 0x00, 0x00, + 0x01, 0x00, 0x53, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x46, 0x00, + 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x66, 0x00, 0x6F, 0x00, 0x00, 0x00, + 0xD4, 0x01, 0x00, 0x00, 0x01, 0x00, 0x30, 0x00, 0x34, 0x00, 0x30, 0x00, 0x39, 0x00, 0x30, 0x00, + 0x34, 0x00, 0x45, 0x00, 0x34, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x05, 0x00, 0x01, 0x00, 0x43, 0x00, + 0x6F, 0x00, 0x6D, 0x00, 0x70, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x79, 0x00, 0x4E, 0x00, 0x61, 0x00, + 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x6A, 0x00, 0x33, 0x00, 0x32, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x0F, 0x00, 0x01, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, + 0x65, 0x00, 0x44, 0x00, 0x65, 0x00, 0x73, 0x00, 0x63, 0x00, 0x72, 0x00, 0x69, 0x00, 0x70, 0x00, + 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x50, 0x00, + 0x72, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, 0x48, 0x00, 0x61, 0x00, + 0x63, 0x00, 0x6B, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x04, 0x00, + 0x01, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, + 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x2E, 0x00, + 0x38, 0x00, 0x00, 0x00, 0x64, 0x00, 0x20, 0x00, 0x01, 0x00, 0x4C, 0x00, 0x65, 0x00, 0x67, 0x00, + 0x61, 0x00, 0x6C, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, + 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, + 0x6E, 0x00, 0x73, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x75, 0x00, 0x6E, 0x00, 0x64, 0x00, + 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x47, 0x00, + 0x4E, 0x00, 0x55, 0x00, 0x20, 0x00, 0x47, 0x00, 0x50, 0x00, 0x4C, 0x00, 0x2C, 0x00, 0x20, 0x00, + 0x76, 0x00, 0x33, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x13, 0x00, 0x01, 0x00, 0x4F, 0x00, + 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x46, 0x00, + 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, + 0x6B, 0x00, 0x70, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, + 0x68, 0x00, 0x61, 0x00, 0x63, 0x00, 0x6B, 0x00, 0x65, 0x00, 0x72, 0x00, 0x2E, 0x00, 0x73, 0x00, + 0x79, 0x00, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x01, 0x00, 0x50, 0x00, + 0x72, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, 0x4E, 0x00, 0x61, 0x00, + 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, + 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, 0x48, 0x00, 0x61, 0x00, 0x63, 0x00, 0x6B, 0x00, + 0x65, 0x00, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x04, 0x00, 0x01, 0x00, 0x50, 0x00, + 0x72, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, 0x56, 0x00, 0x65, 0x00, + 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x32, 0x00, 0x2E, 0x00, + 0x38, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x56, 0x00, 0x61, 0x00, 0x72, 0x00, + 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x66, 0x00, 0x6F, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x04, 0x00, 0x00, 0x00, 0x54, 0x00, 0x72, 0x00, 0x61, 0x00, + 0x6E, 0x00, 0x73, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x09, 0x04, 0xE4, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x98, 0x24, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x30, 0x82, 0x24, 0x8B, 0x06, 0x09, 0x2A, 0x86, + 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x02, 0xA0, 0x82, 0x24, 0x7C, 0x30, 0x82, 0x24, 0x78, 0x02, + 0x01, 0x01, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x30, + 0x4C, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x04, 0xA0, 0x3E, 0x30, + 0x3C, 0x30, 0x17, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x0F, 0x30, + 0x09, 0x03, 0x01, 0x00, 0xA0, 0x04, 0xA2, 0x02, 0x80, 0x00, 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, + 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x04, 0x14, 0x61, 0xB5, 0x5B, 0xB7, 0xC1, 0x11, 0xF9, + 0x3B, 0xD3, 0xEA, 0x9A, 0xC7, 0x15, 0x91, 0xE1, 0xA6, 0xB8, 0x9F, 0xEE, 0xE1, 0xA0, 0x82, 0x1F, + 0xDE, 0x30, 0x82, 0x05, 0x3B, 0x30, 0x82, 0x03, 0x23, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x0A, + 0x61, 0x20, 0x4D, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, + 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x7F, 0x31, 0x0B, 0x30, 0x09, 0x06, + 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, + 0x08, 0x13, 0x0A, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6E, 0x67, 0x74, 0x6F, 0x6E, 0x31, 0x10, 0x30, + 0x0E, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 0x64, 0x6D, 0x6F, 0x6E, 0x64, 0x31, + 0x1E, 0x30, 0x1C, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x15, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, + 0x6F, 0x66, 0x74, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, + 0x29, 0x30, 0x27, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x20, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, + 0x6F, 0x66, 0x74, 0x20, 0x43, 0x6F, 0x64, 0x65, 0x20, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x52, 0x6F, 0x6F, 0x74, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x31, + 0x30, 0x34, 0x31, 0x35, 0x31, 0x39, 0x34, 0x35, 0x33, 0x33, 0x5A, 0x17, 0x0D, 0x32, 0x31, 0x30, + 0x34, 0x31, 0x35, 0x31, 0x39, 0x35, 0x35, 0x33, 0x33, 0x5A, 0x30, 0x6C, 0x31, 0x0B, 0x30, 0x09, + 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, + 0x04, 0x0A, 0x13, 0x0C, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6E, 0x63, + 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x10, 0x77, 0x77, 0x77, 0x2E, 0x64, + 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x2B, 0x30, 0x29, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x48, + 0x69, 0x67, 0x68, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6E, 0x63, 0x65, 0x20, 0x45, 0x56, + 0x20, 0x52, 0x6F, 0x6F, 0x74, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0D, 0x06, 0x09, + 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, + 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xC6, 0xCC, 0xE5, 0x73, 0xE6, 0xFB, 0xD4, + 0xBB, 0xE5, 0x2D, 0x2D, 0x32, 0xA6, 0xDF, 0xE5, 0x81, 0x3F, 0xC9, 0xCD, 0x25, 0x49, 0xB6, 0x71, + 0x2A, 0xC3, 0xD5, 0x94, 0x34, 0x67, 0xA2, 0x0A, 0x1C, 0xB0, 0x5F, 0x69, 0xA6, 0x40, 0xB1, 0xC4, + 0xB7, 0xB2, 0x8F, 0xD0, 0x98, 0xA4, 0xA9, 0x41, 0x59, 0x3A, 0xD3, 0xDC, 0x94, 0xD6, 0x3C, 0xDB, + 0x74, 0x38, 0xA4, 0x4A, 0xCC, 0x4D, 0x25, 0x82, 0xF7, 0x4A, 0xA5, 0x53, 0x12, 0x38, 0xEE, 0xF3, + 0x49, 0x6D, 0x71, 0x91, 0x7E, 0x63, 0xB6, 0xAB, 0xA6, 0x5F, 0xC3, 0xA4, 0x84, 0xF8, 0x4F, 0x62, + 0x51, 0xBE, 0xF8, 0xC5, 0xEC, 0xDB, 0x38, 0x92, 0xE3, 0x06, 0xE5, 0x08, 0x91, 0x0C, 0xC4, 0x28, + 0x41, 0x55, 0xFB, 0xCB, 0x5A, 0x89, 0x15, 0x7E, 0x71, 0xE8, 0x35, 0xBF, 0x4D, 0x72, 0x09, 0x3D, + 0xBE, 0x3A, 0x38, 0x50, 0x5B, 0x77, 0x31, 0x1B, 0x8D, 0xB3, 0xC7, 0x24, 0x45, 0x9A, 0xA7, 0xAC, + 0x6D, 0x00, 0x14, 0x5A, 0x04, 0xB7, 0xBA, 0x13, 0xEB, 0x51, 0x0A, 0x98, 0x41, 0x41, 0x22, 0x4E, + 0x65, 0x61, 0x87, 0x81, 0x41, 0x50, 0xA6, 0x79, 0x5C, 0x89, 0xDE, 0x19, 0x4A, 0x57, 0xD5, 0x2E, + 0xE6, 0x5D, 0x1C, 0x53, 0x2C, 0x7E, 0x98, 0xCD, 0x1A, 0x06, 0x16, 0xA4, 0x68, 0x73, 0xD0, 0x34, + 0x04, 0x13, 0x5C, 0xA1, 0x71, 0xD3, 0x5A, 0x7C, 0x55, 0xDB, 0x5E, 0x64, 0xE1, 0x37, 0x87, 0x30, + 0x56, 0x04, 0xE5, 0x11, 0xB4, 0x29, 0x80, 0x12, 0xF1, 0x79, 0x39, 0x88, 0xA2, 0x02, 0x11, 0x7C, + 0x27, 0x66, 0xB7, 0x88, 0xB7, 0x78, 0xF2, 0xCA, 0x0A, 0xA8, 0x38, 0xAB, 0x0A, 0x64, 0xC2, 0xBF, + 0x66, 0x5D, 0x95, 0x84, 0xC1, 0xA1, 0x25, 0x1E, 0x87, 0x5D, 0x1A, 0x50, 0x0B, 0x20, 0x12, 0xCC, + 0x41, 0xBB, 0x6E, 0x0B, 0x51, 0x38, 0xB8, 0x4B, 0xCB, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x81, + 0xCB, 0x30, 0x81, 0xC8, 0x30, 0x11, 0x06, 0x03, 0x55, 0x1D, 0x20, 0x04, 0x0A, 0x30, 0x08, 0x30, + 0x06, 0x06, 0x04, 0x55, 0x1D, 0x20, 0x00, 0x30, 0x0B, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x04, 0x04, + 0x03, 0x02, 0x01, 0x86, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, 0x04, 0x05, + 0x30, 0x03, 0x01, 0x01, 0xFF, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, + 0xB1, 0x3E, 0xC3, 0x69, 0x03, 0xF8, 0xBF, 0x47, 0x01, 0xD4, 0x98, 0x26, 0x1A, 0x08, 0x02, 0xEF, + 0x63, 0x64, 0x2B, 0xC3, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, + 0x14, 0x62, 0xFB, 0x0A, 0x21, 0x5B, 0x7F, 0x43, 0x6E, 0x11, 0xDA, 0x09, 0x54, 0x50, 0x6B, 0xF5, + 0xD2, 0x96, 0x71, 0xF1, 0x9E, 0x30, 0x55, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, 0x4E, 0x30, 0x4C, + 0x30, 0x4A, 0xA0, 0x48, 0xA0, 0x46, 0x86, 0x44, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, + 0x72, 0x6C, 0x2E, 0x6D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2E, 0x63, 0x6F, 0x6D, + 0x2F, 0x70, 0x6B, 0x69, 0x2F, 0x63, 0x72, 0x6C, 0x2F, 0x70, 0x72, 0x6F, 0x64, 0x75, 0x63, 0x74, + 0x73, 0x2F, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x43, 0x6F, 0x64, 0x65, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x52, 0x6F, 0x6F, 0x74, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x0D, 0x06, 0x09, + 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, + 0x20, 0x8C, 0xC1, 0x59, 0xED, 0x6F, 0x9C, 0x6B, 0x2D, 0xC1, 0x4A, 0x3E, 0x75, 0x1D, 0x45, 0x4C, + 0x41, 0x50, 0x1C, 0xBD, 0x80, 0xEA, 0xD9, 0xB0, 0x92, 0x8B, 0x06, 0x2A, 0x13, 0x3F, 0x53, 0x16, + 0x9E, 0x56, 0x39, 0x6A, 0x8A, 0x63, 0xB6, 0x78, 0x24, 0x79, 0xF5, 0x7D, 0xB8, 0xB9, 0x47, 0xA1, + 0x0A, 0x96, 0xC2, 0xF6, 0xCB, 0xBD, 0xA2, 0x66, 0x9F, 0x06, 0xE1, 0xAC, 0xD2, 0x79, 0x09, 0x0E, + 0xFD, 0x3C, 0xDC, 0xAC, 0x02, 0x0C, 0x70, 0xAF, 0x3F, 0x1B, 0xEC, 0x78, 0x7E, 0xD4, 0xEB, 0x4B, + 0x05, 0x60, 0x26, 0xD9, 0x73, 0x61, 0x91, 0x21, 0xED, 0xB0, 0x68, 0x63, 0xE0, 0x97, 0x12, 0xAB, + 0x6F, 0xA0, 0x12, 0xED, 0xD9, 0x9F, 0xD2, 0xDA, 0x27, 0x3C, 0xB3, 0xE4, 0x56, 0xF9, 0xD1, 0xD4, + 0x81, 0x0F, 0x71, 0xBD, 0x42, 0x7C, 0xA6, 0x89, 0xDC, 0xCD, 0xD5, 0xBD, 0x95, 0xA2, 0xAB, 0xF1, + 0x93, 0x11, 0x7D, 0xE8, 0xAC, 0x31, 0x29, 0xA8, 0x5D, 0x66, 0x70, 0x41, 0x9D, 0xFC, 0x75, 0xC9, + 0xD5, 0xB3, 0x1A, 0x39, 0x2A, 0xD0, 0x85, 0x05, 0x50, 0x8B, 0xAC, 0x91, 0xCA, 0xC4, 0x93, 0xCB, + 0x71, 0xA5, 0x9D, 0xA4, 0x94, 0x6F, 0x58, 0x0C, 0xFA, 0x6E, 0x20, 0xC4, 0x08, 0x31, 0xB5, 0x85, + 0x9D, 0x7E, 0x81, 0xF9, 0xD2, 0x3D, 0xCA, 0x5B, 0x18, 0x85, 0x6C, 0x0A, 0x86, 0xEC, 0x22, 0x09, + 0x1B, 0xA5, 0x74, 0x34, 0x4F, 0x7F, 0x28, 0xBC, 0x95, 0x4A, 0xAB, 0x1D, 0xB6, 0x98, 0xB0, 0x5D, + 0x09, 0xA4, 0x77, 0x76, 0x7E, 0xEF, 0xA7, 0x8E, 0x5D, 0x84, 0xF6, 0x18, 0x24, 0xCB, 0xD1, 0x6D, + 0xA6, 0xC3, 0xA1, 0x9C, 0xC2, 0x10, 0x75, 0x80, 0xFF, 0x9D, 0x32, 0xFD, 0xE6, 0xCF, 0x43, 0x3A, + 0x82, 0xF7, 0xCE, 0x8F, 0xE1, 0x72, 0x2A, 0x9B, 0x62, 0xB7, 0x5F, 0xED, 0x95, 0x1A, 0x39, 0x5C, + 0x2F, 0x94, 0x6D, 0x48, 0xB7, 0x01, 0x5F, 0x33, 0x2F, 0xBB, 0xDC, 0x2D, 0x73, 0x34, 0x89, 0x04, + 0x42, 0x0A, 0x1C, 0x8B, 0x79, 0xF9, 0xA3, 0xFA, 0x17, 0xEF, 0xFA, 0xA1, 0x1A, 0x10, 0xDF, 0xE0, + 0xB2, 0xC1, 0x95, 0xEB, 0x5C, 0x0C, 0x05, 0x97, 0x3B, 0x35, 0x3E, 0x18, 0x88, 0x4D, 0xDB, 0x6C, + 0xBF, 0x24, 0x89, 0x8D, 0xC8, 0xBD, 0xD8, 0x9F, 0x7B, 0x39, 0x3A, 0x24, 0xA0, 0xD5, 0xDF, 0xD1, + 0xF3, 0x4A, 0x1A, 0x97, 0xF6, 0xA6, 0x6F, 0x7A, 0x1F, 0xB0, 0x90, 0xA9, 0xB3, 0xAC, 0x01, 0x39, + 0x91, 0xD3, 0x61, 0xB7, 0x64, 0xF1, 0x3E, 0x57, 0x38, 0x03, 0xAF, 0xCE, 0x7A, 0xD2, 0xB5, 0x90, + 0xF5, 0xAE, 0xDC, 0x39, 0x99, 0xD5, 0xB6, 0x3C, 0x97, 0xED, 0xA6, 0xCB, 0x16, 0xC7, 0x7D, 0x6B, + 0x2A, 0x4C, 0x90, 0x94, 0xE6, 0x4C, 0x54, 0xFD, 0x1E, 0xCD, 0x20, 0xEC, 0xCE, 0x68, 0x9C, 0x87, + 0x58, 0xE9, 0x61, 0x60, 0xBE, 0xEB, 0x0E, 0xC9, 0xD5, 0x19, 0x7D, 0x9F, 0xE9, 0x78, 0xBD, 0x0E, + 0xAC, 0x21, 0x75, 0x07, 0x8F, 0xA9, 0x6E, 0xE0, 0x8C, 0x6A, 0x2A, 0x6B, 0x9C, 0xE3, 0xE7, 0x65, + 0xBC, 0xBC, 0x2D, 0x3C, 0x6D, 0xDC, 0x04, 0xDC, 0x67, 0x45, 0x36, 0x32, 0xAF, 0x04, 0x81, 0xBC, + 0xA8, 0x00, 0x6E, 0x61, 0x4C, 0x95, 0xC5, 0x5C, 0xD4, 0x8E, 0x8E, 0x9F, 0x2F, 0xC1, 0x32, 0x74, + 0xBD, 0xBD, 0x11, 0x65, 0x03, 0x07, 0xCD, 0xEF, 0xB7, 0x5E, 0x02, 0x57, 0xDA, 0x86, 0xD4, 0x1A, + 0x28, 0x34, 0xAF, 0x88, 0x49, 0xB2, 0xCF, 0xA5, 0xDD, 0x82, 0x56, 0x6F, 0x68, 0xAA, 0x14, 0xE2, + 0x59, 0x54, 0xFE, 0xFF, 0xEA, 0xEE, 0xEF, 0xEA, 0x92, 0x70, 0x22, 0x60, 0x81, 0xE3, 0x25, 0x23, + 0xC0, 0x9F, 0xCC, 0x0F, 0x49, 0xB2, 0x35, 0xAA, 0x58, 0xC3, 0x3A, 0xC3, 0xD9, 0x16, 0x94, 0x10, + 0x30, 0x82, 0x06, 0x6A, 0x30, 0x82, 0x05, 0x52, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x03, + 0x01, 0x9A, 0x02, 0x3A, 0xFF, 0x58, 0xB1, 0x6B, 0xD6, 0xD5, 0xEA, 0xE6, 0x17, 0xF0, 0x66, 0x30, + 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x62, + 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, + 0x13, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0C, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, + 0x20, 0x49, 0x6E, 0x63, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x10, 0x77, + 0x77, 0x77, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, + 0x21, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x18, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, + 0x72, 0x74, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, 0x20, 0x49, 0x44, 0x20, 0x43, 0x41, + 0x2D, 0x31, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x34, 0x31, 0x30, 0x32, 0x32, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x5A, 0x17, 0x0D, 0x32, 0x34, 0x31, 0x30, 0x32, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x5A, 0x30, 0x47, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x11, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x08, 0x44, 0x69, 0x67, 0x69, + 0x43, 0x65, 0x72, 0x74, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1C, 0x44, + 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x73, 0x74, 0x61, 0x6D, + 0x70, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6F, 0x6E, 0x64, 0x65, 0x72, 0x30, 0x82, 0x01, 0x22, 0x30, + 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, + 0x01, 0x0F, 0x00, 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xA3, 0x64, 0x5D, 0xFC, + 0x7C, 0xB3, 0xE0, 0x82, 0x35, 0xE0, 0xE0, 0xF6, 0xC6, 0x2A, 0xE6, 0x49, 0x75, 0x3B, 0xCC, 0x6E, + 0xE0, 0x53, 0xA9, 0x9F, 0x1F, 0x64, 0x59, 0xE6, 0x7C, 0x6B, 0x7F, 0x6B, 0x8C, 0x9D, 0x55, 0xF8, + 0x92, 0xE3, 0x9E, 0xD5, 0x5A, 0x63, 0x5B, 0x02, 0x49, 0x50, 0xD9, 0x83, 0xCE, 0x6F, 0x66, 0xEE, + 0xDD, 0xCB, 0x85, 0xE9, 0x5F, 0xA5, 0xF9, 0xD4, 0x87, 0x74, 0x88, 0x44, 0x3B, 0x19, 0xC9, 0xE5, + 0xF5, 0x91, 0x9F, 0xC6, 0x14, 0x39, 0xAC, 0x24, 0xEA, 0xA8, 0x4B, 0x2C, 0x91, 0x89, 0xCC, 0x5E, + 0x28, 0xF4, 0x64, 0xB6, 0x50, 0xB7, 0xF5, 0x12, 0xB3, 0x73, 0x96, 0x0A, 0x67, 0xA3, 0xBE, 0x61, + 0x9F, 0xAE, 0xF3, 0xFD, 0x12, 0x78, 0x75, 0x0E, 0xA6, 0x5B, 0x14, 0xFD, 0x45, 0x23, 0x8E, 0x86, + 0x44, 0x55, 0x7D, 0x18, 0x86, 0x05, 0x8C, 0x55, 0x87, 0x79, 0x48, 0x46, 0xF7, 0xCA, 0x0E, 0x8D, + 0xA7, 0xDE, 0x4E, 0x5F, 0xE2, 0xA8, 0xB6, 0x2D, 0x59, 0x02, 0x61, 0x88, 0x61, 0x72, 0x18, 0x68, + 0xB9, 0xB8, 0x7C, 0xEE, 0xE6, 0xE7, 0x34, 0x2F, 0x31, 0x77, 0x81, 0x30, 0x1F, 0xBB, 0x36, 0x01, + 0x8D, 0xEF, 0x27, 0xE3, 0xF7, 0x9A, 0xF0, 0x4C, 0x31, 0x64, 0x8D, 0xE3, 0xEB, 0xFA, 0x19, 0x87, + 0xA8, 0x7E, 0xCF, 0xEC, 0x8C, 0x0C, 0x36, 0x5B, 0x7A, 0xC1, 0x7A, 0xB8, 0x78, 0xC7, 0xC9, 0x06, + 0x2E, 0x46, 0x10, 0xC8, 0x8D, 0xE8, 0x04, 0x60, 0xDB, 0xBC, 0x73, 0x74, 0xFA, 0x4E, 0xD8, 0xFE, + 0xAA, 0x40, 0xF1, 0xB2, 0xCE, 0x70, 0x46, 0x83, 0xE9, 0xDA, 0x40, 0xA1, 0x59, 0x3A, 0xD9, 0x15, + 0x09, 0x57, 0x99, 0x56, 0x30, 0x93, 0xF3, 0xC9, 0x61, 0xCC, 0xD0, 0x08, 0xCC, 0x6B, 0xEC, 0x62, + 0x42, 0x91, 0xAC, 0x02, 0xC0, 0xEF, 0xA4, 0xF0, 0x89, 0x11, 0x8F, 0x77, 0x02, 0x03, 0x01, 0x00, + 0x01, 0xA3, 0x82, 0x03, 0x35, 0x30, 0x82, 0x03, 0x31, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, + 0x01, 0x01, 0xFF, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x0C, 0x06, 0x03, 0x55, 0x1D, 0x13, + 0x01, 0x01, 0xFF, 0x04, 0x02, 0x30, 0x00, 0x30, 0x16, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x01, 0x01, + 0xFF, 0x04, 0x0C, 0x30, 0x0A, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x08, 0x30, + 0x82, 0x01, 0xBF, 0x06, 0x03, 0x55, 0x1D, 0x20, 0x04, 0x82, 0x01, 0xB6, 0x30, 0x82, 0x01, 0xB2, + 0x30, 0x82, 0x01, 0xA1, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xFD, 0x6C, 0x07, 0x01, 0x30, + 0x82, 0x01, 0x92, 0x30, 0x28, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, + 0x1C, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x64, 0x69, 0x67, + 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x43, 0x50, 0x53, 0x30, 0x82, 0x01, + 0x64, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x02, 0x30, 0x82, 0x01, 0x56, 0x1E, + 0x82, 0x01, 0x52, 0x00, 0x41, 0x00, 0x6E, 0x00, 0x79, 0x00, 0x20, 0x00, 0x75, 0x00, 0x73, 0x00, + 0x65, 0x00, 0x20, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, + 0x73, 0x00, 0x20, 0x00, 0x43, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x69, 0x00, 0x66, 0x00, + 0x69, 0x00, 0x63, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6F, 0x00, + 0x6E, 0x00, 0x73, 0x00, 0x74, 0x00, 0x69, 0x00, 0x74, 0x00, 0x75, 0x00, 0x74, 0x00, 0x65, 0x00, + 0x73, 0x00, 0x20, 0x00, 0x61, 0x00, 0x63, 0x00, 0x63, 0x00, 0x65, 0x00, 0x70, 0x00, 0x74, 0x00, + 0x61, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x20, 0x00, + 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x44, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, + 0x43, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x20, 0x00, 0x43, 0x00, 0x50, 0x00, 0x2F, 0x00, + 0x43, 0x00, 0x50, 0x00, 0x53, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x20, 0x00, + 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x52, 0x00, 0x65, 0x00, 0x6C, 0x00, 0x79, 0x00, + 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x20, 0x00, 0x50, 0x00, 0x61, 0x00, 0x72, 0x00, 0x74, 0x00, + 0x79, 0x00, 0x20, 0x00, 0x41, 0x00, 0x67, 0x00, 0x72, 0x00, 0x65, 0x00, 0x65, 0x00, 0x6D, 0x00, + 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x20, 0x00, 0x77, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, + 0x68, 0x00, 0x20, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x74, 0x00, 0x20, 0x00, + 0x6C, 0x00, 0x69, 0x00, 0x61, 0x00, 0x62, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x74, 0x00, + 0x79, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x20, 0x00, 0x61, 0x00, 0x72, 0x00, + 0x65, 0x00, 0x20, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x70, 0x00, + 0x6F, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x68, 0x00, + 0x65, 0x00, 0x72, 0x00, 0x65, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, + 0x20, 0x00, 0x72, 0x00, 0x65, 0x00, 0x66, 0x00, 0x65, 0x00, 0x72, 0x00, 0x65, 0x00, 0x6E, 0x00, + 0x63, 0x00, 0x65, 0x00, 0x2E, 0x30, 0x0B, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xFD, 0x6C, + 0x03, 0x15, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x15, + 0x00, 0x12, 0x2B, 0x13, 0x98, 0xB2, 0x99, 0x07, 0xED, 0x1E, 0xDF, 0xA2, 0xBE, 0x57, 0x0D, 0x2B, + 0x67, 0x02, 0xCD, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x61, 0x5A, + 0x4D, 0x24, 0xB6, 0x49, 0x32, 0x9D, 0x4A, 0x2A, 0x79, 0x1A, 0x83, 0x4B, 0xF4, 0x1E, 0x89, 0xC1, + 0xCA, 0x7D, 0x30, 0x7D, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, 0x76, 0x30, 0x74, 0x30, 0x38, 0xA0, + 0x36, 0xA0, 0x34, 0x86, 0x32, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x33, + 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x44, 0x69, + 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x41, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, 0x49, 0x44, 0x43, + 0x41, 0x2D, 0x31, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x38, 0xA0, 0x36, 0xA0, 0x34, 0x86, 0x32, 0x68, + 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x34, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, + 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, + 0x41, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, 0x49, 0x44, 0x43, 0x41, 0x2D, 0x31, 0x2E, 0x63, 0x72, + 0x6C, 0x30, 0x77, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x6B, 0x30, + 0x69, 0x30, 0x24, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, + 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6F, 0x63, 0x73, 0x70, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, + 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x41, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x02, 0x86, 0x35, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x61, 0x63, 0x65, + 0x72, 0x74, 0x73, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, + 0x2F, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x41, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, + 0x49, 0x44, 0x43, 0x41, 0x2D, 0x31, 0x2E, 0x63, 0x72, 0x74, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, + 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x9D, 0x25, + 0x7E, 0x1B, 0x33, 0x4D, 0xB2, 0x26, 0x81, 0x5C, 0x9B, 0x86, 0xCE, 0x23, 0x20, 0x0F, 0x80, 0x87, + 0xE5, 0x88, 0xFF, 0xFF, 0xB1, 0xD4, 0x6A, 0x2C, 0x31, 0xED, 0x3A, 0x17, 0x19, 0x71, 0x17, 0xCD, + 0xA9, 0x1B, 0xBC, 0x5A, 0x16, 0x39, 0x00, 0x9D, 0xE3, 0x6C, 0x84, 0xE4, 0x5A, 0x40, 0xFB, 0xDE, + 0x06, 0x01, 0x8C, 0x37, 0xFA, 0x9B, 0xB1, 0x9D, 0x24, 0x7E, 0xFE, 0x20, 0xA4, 0x57, 0xAD, 0x5B, + 0xB7, 0x9A, 0xB0, 0x60, 0x26, 0xEA, 0x69, 0x57, 0x21, 0x5D, 0x34, 0x2F, 0x1F, 0x71, 0xB0, 0x83, + 0x94, 0x19, 0x05, 0x6B, 0x35, 0x90, 0x10, 0xA0, 0x7B, 0x97, 0xC7, 0xF6, 0x3F, 0xE7, 0xE2, 0x11, + 0x41, 0xA6, 0xBD, 0x62, 0xD9, 0xF0, 0x27, 0x3D, 0x38, 0x1D, 0x28, 0x6F, 0x3A, 0x52, 0x09, 0xF0, + 0xEC, 0x70, 0x62, 0xD3, 0x62, 0x4B, 0xB0, 0xE0, 0x73, 0xA6, 0x92, 0xC0, 0xD3, 0x8E, 0x31, 0xD8, + 0x2F, 0xE3, 0x6D, 0x17, 0x13, 0x06, 0xEE, 0xE4, 0x03, 0xB6, 0x14, 0xAB, 0xF3, 0x8F, 0x43, 0xA7, + 0x71, 0x9D, 0x21, 0xDD, 0x14, 0xCA, 0x15, 0x5D, 0x92, 0x41, 0xDA, 0xF9, 0x0F, 0x81, 0xD1, 0x99, + 0x74, 0x0D, 0x26, 0xC4, 0x0E, 0x7F, 0x1B, 0xB5, 0xF5, 0xA0, 0xF1, 0xC6, 0x77, 0x06, 0x28, 0x15, + 0xE9, 0xD8, 0x93, 0xE5, 0x55, 0x16, 0xF0, 0xBB, 0x0A, 0xAB, 0x1C, 0xDB, 0x5C, 0x48, 0x27, 0x66, + 0xC8, 0xA3, 0x8B, 0x0A, 0x1C, 0xE5, 0x95, 0xDA, 0xAE, 0xC4, 0x2E, 0x59, 0xA0, 0x61, 0xDD, 0xDA, + 0xF3, 0x6D, 0xA2, 0x61, 0xE9, 0x8A, 0x0B, 0x6D, 0xEC, 0x12, 0x18, 0xBD, 0xF7, 0x55, 0x54, 0x40, + 0x03, 0x92, 0x2B, 0x6B, 0xC2, 0x51, 0xC2, 0x0A, 0x48, 0xAF, 0xB0, 0xD4, 0x6E, 0xE0, 0xF4, 0x14, + 0x0A, 0x3A, 0x1B, 0xE3, 0x8F, 0x3D, 0xCA, 0xAF, 0x6A, 0x8D, 0x7B, 0xDC, 0xD8, 0x44, 0x30, 0x82, + 0x06, 0x96, 0x30, 0x82, 0x05, 0x7E, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x03, 0xE9, 0x01, + 0x7D, 0x54, 0xCD, 0x93, 0xF0, 0x94, 0xD0, 0xA2, 0xAB, 0x7F, 0xC0, 0xE3, 0xF5, 0x30, 0x0D, 0x06, + 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x73, 0x31, 0x0B, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, + 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0C, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, + 0x6E, 0x63, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x10, 0x77, 0x77, 0x77, + 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x32, 0x30, + 0x30, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x29, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, + 0x20, 0x48, 0x69, 0x67, 0x68, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6E, 0x63, 0x65, 0x20, + 0x43, 0x6F, 0x64, 0x65, 0x20, 0x53, 0x69, 0x67, 0x6E, 0x69, 0x6E, 0x67, 0x20, 0x43, 0x41, 0x2D, + 0x31, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x33, 0x31, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x5A, 0x17, 0x0D, 0x31, 0x35, 0x31, 0x31, 0x30, 0x34, 0x31, 0x32, 0x30, 0x30, 0x30, 0x30, + 0x5A, 0x30, 0x64, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x41, 0x55, + 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0F, 0x4E, 0x65, 0x77, 0x20, 0x53, + 0x6F, 0x75, 0x74, 0x68, 0x20, 0x57, 0x61, 0x6C, 0x65, 0x73, 0x31, 0x0F, 0x30, 0x0D, 0x06, 0x03, + 0x55, 0x04, 0x07, 0x13, 0x06, 0x53, 0x79, 0x64, 0x6E, 0x65, 0x79, 0x31, 0x14, 0x30, 0x12, 0x06, + 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0B, 0x57, 0x65, 0x6E, 0x20, 0x4A, 0x69, 0x61, 0x20, 0x4C, 0x69, + 0x75, 0x31, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0B, 0x57, 0x65, 0x6E, 0x20, + 0x4A, 0x69, 0x61, 0x20, 0x4C, 0x69, 0x75, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0D, 0x06, 0x09, 0x2A, + 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, 0x30, + 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xD3, 0x1D, 0xC2, 0xE0, 0x3F, 0x42, 0x5C, 0xAD, + 0x9E, 0x41, 0x16, 0x88, 0xEF, 0x79, 0x4A, 0x73, 0x7D, 0x58, 0x94, 0xFB, 0xF5, 0xD6, 0xC5, 0x8B, + 0xB9, 0x81, 0x57, 0x59, 0x82, 0xAF, 0x2C, 0x3E, 0x87, 0xDA, 0xCF, 0x25, 0xC6, 0x34, 0x23, 0x33, + 0x95, 0xF7, 0x10, 0xAE, 0x18, 0xF7, 0xA6, 0xFF, 0x51, 0x42, 0xFF, 0xDA, 0x14, 0xE6, 0x2F, 0x01, + 0xCB, 0x3A, 0xA4, 0xB5, 0x0D, 0xDA, 0xE0, 0x33, 0x09, 0xC6, 0x57, 0xF3, 0x62, 0xE3, 0x57, 0x98, + 0x72, 0xBF, 0x88, 0x05, 0x90, 0x31, 0x3F, 0x45, 0xBE, 0x7F, 0x0A, 0x82, 0x16, 0x1D, 0xB9, 0xC3, + 0xF7, 0x00, 0x40, 0xD4, 0x37, 0x9C, 0xFA, 0x94, 0xAA, 0xDB, 0x22, 0xBC, 0x61, 0xA8, 0x75, 0xB6, + 0xC7, 0x45, 0x49, 0x16, 0xE1, 0xDE, 0xBA, 0x51, 0x50, 0x00, 0xF6, 0x76, 0xA6, 0x43, 0x27, 0xB0, + 0x3C, 0xE4, 0xA2, 0x21, 0x64, 0x38, 0x48, 0xAC, 0x89, 0x83, 0xF5, 0x2B, 0xFD, 0x41, 0xBB, 0x5A, + 0x30, 0xD3, 0xBF, 0x35, 0xCB, 0x89, 0xEB, 0x9C, 0x10, 0xC6, 0x5D, 0xD5, 0xE3, 0x6B, 0x2D, 0xE7, + 0xFD, 0x6C, 0xF9, 0xDA, 0xB3, 0x17, 0xFF, 0xC3, 0x82, 0xDA, 0x24, 0x4E, 0x76, 0x6D, 0xA5, 0x28, + 0x33, 0x52, 0x78, 0x27, 0x40, 0xFB, 0xFB, 0xF8, 0x6D, 0x38, 0x97, 0x03, 0x81, 0x83, 0x52, 0xDC, + 0xEC, 0x87, 0xA2, 0xE0, 0xAB, 0x3F, 0x87, 0xA9, 0x67, 0x5C, 0x5A, 0xDC, 0x21, 0x6A, 0x5B, 0x09, + 0x26, 0x1E, 0x19, 0x1F, 0x09, 0xD3, 0x83, 0x0C, 0x11, 0xA7, 0xCA, 0x7E, 0xBD, 0x71, 0x44, 0xCC, + 0x9B, 0xB9, 0x55, 0x67, 0xEE, 0x29, 0xE2, 0xC2, 0x2C, 0x57, 0x6C, 0xDD, 0xB0, 0x96, 0xB3, 0x06, + 0x59, 0x99, 0x0B, 0x92, 0x03, 0x24, 0xAE, 0xA3, 0x35, 0x27, 0xAA, 0x4B, 0x3A, 0xB8, 0xEA, 0x94, + 0xFD, 0xC9, 0x1A, 0xA9, 0xB7, 0xB6, 0xCC, 0x6B, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x82, 0x03, + 0x33, 0x30, 0x82, 0x03, 0x2F, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0x97, 0x48, 0x03, 0xEB, 0x15, 0x08, 0x6B, 0xB9, 0xB2, 0x58, 0x23, 0xCC, 0x94, 0x2E, + 0xF1, 0xC6, 0x65, 0xD2, 0x64, 0x8E, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, + 0x14, 0xA8, 0xA3, 0x4D, 0x2A, 0x8E, 0xA5, 0x2E, 0x70, 0x45, 0xB6, 0xFA, 0x5B, 0xFA, 0xAD, 0x22, + 0x25, 0xED, 0xBA, 0x8B, 0x6C, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04, + 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x13, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04, 0x0C, 0x30, 0x0A, + 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x30, 0x69, 0x06, 0x03, 0x55, 0x1D, + 0x1F, 0x04, 0x62, 0x30, 0x60, 0x30, 0x2E, 0xA0, 0x2C, 0xA0, 0x2A, 0x86, 0x28, 0x68, 0x74, 0x74, + 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x33, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, + 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x68, 0x61, 0x2D, 0x63, 0x73, 0x2D, 0x32, 0x30, 0x31, 0x31, + 0x61, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x2E, 0xA0, 0x2C, 0xA0, 0x2A, 0x86, 0x28, 0x68, 0x74, 0x74, + 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x34, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, + 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x68, 0x61, 0x2D, 0x63, 0x73, 0x2D, 0x32, 0x30, 0x31, 0x31, + 0x61, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x82, 0x01, 0xC4, 0x06, 0x03, 0x55, 0x1D, 0x20, 0x04, 0x82, + 0x01, 0xBB, 0x30, 0x82, 0x01, 0xB7, 0x30, 0x82, 0x01, 0xB3, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, + 0x86, 0xFD, 0x6C, 0x03, 0x01, 0x30, 0x82, 0x01, 0xA4, 0x30, 0x3A, 0x06, 0x08, 0x2B, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x2E, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, + 0x77, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x73, + 0x73, 0x6C, 0x2D, 0x63, 0x70, 0x73, 0x2D, 0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, + 0x79, 0x2E, 0x68, 0x74, 0x6D, 0x30, 0x82, 0x01, 0x64, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x02, 0x30, 0x82, 0x01, 0x56, 0x1E, 0x82, 0x01, 0x52, 0x00, 0x41, 0x00, 0x6E, 0x00, + 0x79, 0x00, 0x20, 0x00, 0x75, 0x00, 0x73, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6F, 0x00, 0x66, 0x00, + 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x43, 0x00, 0x65, 0x00, + 0x72, 0x00, 0x74, 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, 0x00, 0x63, 0x00, 0x61, 0x00, 0x74, 0x00, + 0x65, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x73, 0x00, 0x74, 0x00, 0x69, 0x00, + 0x74, 0x00, 0x75, 0x00, 0x74, 0x00, 0x65, 0x00, 0x73, 0x00, 0x20, 0x00, 0x61, 0x00, 0x63, 0x00, + 0x63, 0x00, 0x65, 0x00, 0x70, 0x00, 0x74, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x65, 0x00, + 0x20, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, + 0x44, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, 0x43, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, + 0x20, 0x00, 0x43, 0x00, 0x50, 0x00, 0x2F, 0x00, 0x43, 0x00, 0x50, 0x00, 0x53, 0x00, 0x20, 0x00, + 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, + 0x52, 0x00, 0x65, 0x00, 0x6C, 0x00, 0x79, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x20, 0x00, + 0x50, 0x00, 0x61, 0x00, 0x72, 0x00, 0x74, 0x00, 0x79, 0x00, 0x20, 0x00, 0x41, 0x00, 0x67, 0x00, + 0x72, 0x00, 0x65, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x20, 0x00, + 0x77, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x68, 0x00, 0x20, 0x00, 0x6C, 0x00, 0x69, 0x00, + 0x6D, 0x00, 0x69, 0x00, 0x74, 0x00, 0x20, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x61, 0x00, 0x62, 0x00, + 0x69, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x74, 0x00, 0x79, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6E, 0x00, + 0x64, 0x00, 0x20, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x69, 0x00, 0x6E, 0x00, + 0x63, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x70, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, + 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x68, 0x00, 0x65, 0x00, 0x72, 0x00, 0x65, 0x00, 0x69, 0x00, + 0x6E, 0x00, 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, 0x00, 0x72, 0x00, 0x65, 0x00, 0x66, 0x00, + 0x65, 0x00, 0x72, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x65, 0x00, 0x2E, 0x30, 0x81, 0x86, + 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x7A, 0x30, 0x78, 0x30, 0x24, + 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, + 0x3A, 0x2F, 0x2F, 0x6F, 0x63, 0x73, 0x70, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, + 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x50, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, + 0x86, 0x44, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x61, 0x63, 0x65, 0x72, 0x74, 0x73, + 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x44, 0x69, + 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x48, 0x69, 0x67, 0x68, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, + 0x6E, 0x63, 0x65, 0x43, 0x6F, 0x64, 0x65, 0x53, 0x69, 0x67, 0x6E, 0x69, 0x6E, 0x67, 0x43, 0x41, + 0x2D, 0x31, 0x2E, 0x63, 0x72, 0x74, 0x30, 0x0C, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, + 0x04, 0x02, 0x30, 0x00, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, + 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xBB, 0xC0, 0x31, 0xB3, 0xDD, 0x6B, 0x1C, 0x6E, + 0xBE, 0xC7, 0x7B, 0x8D, 0xC1, 0xEC, 0xFA, 0x93, 0x81, 0x49, 0xC6, 0x4E, 0x0C, 0x95, 0x9E, 0x58, + 0x57, 0xDB, 0x5C, 0x28, 0xEF, 0x54, 0x9D, 0xDF, 0x0B, 0xE9, 0x20, 0xCC, 0xB7, 0xEC, 0x51, 0x5A, + 0xAE, 0xB1, 0x80, 0xA2, 0x8D, 0x64, 0xA1, 0xF4, 0x06, 0x5D, 0x38, 0xCB, 0x99, 0x7D, 0xB5, 0x92, + 0x95, 0xF1, 0x23, 0x85, 0x13, 0x92, 0x90, 0x3C, 0x67, 0x3E, 0xD6, 0xD1, 0xDB, 0x93, 0x0E, 0xC1, + 0x61, 0x8A, 0xDD, 0x99, 0x89, 0xF0, 0xF1, 0xFC, 0x8D, 0x06, 0xEC, 0x5A, 0x94, 0x52, 0x42, 0xCD, + 0x74, 0x32, 0xD6, 0x83, 0x8E, 0x33, 0xB4, 0xC3, 0xE4, 0x78, 0x4E, 0x75, 0x4B, 0x64, 0xDC, 0xE0, + 0x78, 0x68, 0x6A, 0xB2, 0xE6, 0x62, 0x68, 0x48, 0xFF, 0x7D, 0xCD, 0x6F, 0xB7, 0xEF, 0xEB, 0xFF, + 0xDF, 0xDA, 0xD1, 0xEE, 0xFC, 0x1E, 0x98, 0xF9, 0xC3, 0x38, 0xFF, 0x25, 0x65, 0xF0, 0x50, 0x39, + 0x17, 0x6B, 0x24, 0x14, 0x8A, 0x84, 0x16, 0x14, 0x63, 0x51, 0x57, 0xDA, 0x5F, 0x61, 0xA1, 0x7B, + 0xBD, 0x6D, 0x47, 0x98, 0x15, 0x71, 0x4E, 0x8D, 0x30, 0x67, 0xF0, 0x32, 0x0D, 0x5E, 0x8B, 0xFA, + 0xA6, 0xE3, 0x57, 0x31, 0x80, 0x49, 0x25, 0xDF, 0x9B, 0x85, 0xBA, 0x32, 0xC0, 0xD9, 0xF4, 0xCC, + 0xD4, 0x84, 0xD6, 0xD1, 0xB2, 0x79, 0xBA, 0xD0, 0xEF, 0x22, 0xB0, 0xDA, 0x37, 0x58, 0x26, 0xEA, + 0x2E, 0x11, 0x9D, 0x5C, 0x84, 0x8D, 0x9A, 0x92, 0x75, 0xB9, 0x3A, 0xBB, 0x08, 0x4C, 0x02, 0xAF, + 0x9F, 0x1B, 0x46, 0xC5, 0x35, 0x76, 0x52, 0xF1, 0x13, 0xF5, 0x56, 0xFD, 0xB9, 0xD1, 0x90, 0x02, + 0x23, 0x34, 0x15, 0x03, 0xF4, 0xE8, 0x9B, 0x98, 0xBA, 0xE1, 0x34, 0xF7, 0xCC, 0x9D, 0x64, 0x09, + 0xFC, 0xF7, 0x2D, 0x2C, 0x74, 0x6C, 0x71, 0x4A, 0x30, 0x82, 0x06, 0xC2, 0x30, 0x82, 0x05, 0xAA, + 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x02, 0xC4, 0xD1, 0xE5, 0x8A, 0x4A, 0x68, 0x0C, 0x56, + 0x8D, 0xA3, 0x04, 0x7E, 0x7E, 0x4D, 0x5F, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, + 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x6C, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, + 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0C, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6E, 0x63, 0x31, 0x19, 0x30, 0x17, + 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x10, 0x77, 0x77, 0x77, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, + 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x2B, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x22, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x48, 0x69, 0x67, 0x68, 0x20, + 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6E, 0x63, 0x65, 0x20, 0x45, 0x56, 0x20, 0x52, 0x6F, 0x6F, + 0x74, 0x20, 0x43, 0x41, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x31, 0x30, 0x32, 0x31, 0x31, 0x31, 0x32, + 0x30, 0x30, 0x30, 0x30, 0x5A, 0x17, 0x0D, 0x32, 0x36, 0x30, 0x32, 0x31, 0x30, 0x31, 0x32, 0x30, + 0x30, 0x30, 0x30, 0x5A, 0x30, 0x73, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, + 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0C, 0x44, 0x69, + 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6E, 0x63, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, + 0x55, 0x04, 0x0B, 0x13, 0x10, 0x77, 0x77, 0x77, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, + 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x32, 0x30, 0x30, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x29, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x48, 0x69, 0x67, 0x68, 0x20, 0x41, 0x73, + 0x73, 0x75, 0x72, 0x61, 0x6E, 0x63, 0x65, 0x20, 0x43, 0x6F, 0x64, 0x65, 0x20, 0x53, 0x69, 0x67, + 0x6E, 0x69, 0x6E, 0x67, 0x20, 0x43, 0x41, 0x2D, 0x31, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0D, 0x06, + 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, + 0x00, 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xC5, 0xF9, 0x23, 0xE6, 0x94, 0x27, + 0xC4, 0x80, 0x14, 0xA4, 0x80, 0x32, 0x5F, 0x40, 0xA3, 0x8D, 0x6F, 0x70, 0xC0, 0xE5, 0x36, 0x71, + 0x71, 0x3A, 0x75, 0xA4, 0xAA, 0x1A, 0x92, 0x94, 0x89, 0x5E, 0xAC, 0x23, 0x71, 0xCB, 0x4E, 0x67, + 0x7D, 0x41, 0x3F, 0xAA, 0xE3, 0x4B, 0xB7, 0x7B, 0xBE, 0x9D, 0xC1, 0xA8, 0x38, 0x8F, 0x69, 0x2F, + 0x3A, 0x24, 0xE9, 0x77, 0x59, 0x12, 0xC7, 0x66, 0x04, 0x43, 0xC2, 0x0D, 0x26, 0x82, 0x89, 0x40, + 0x19, 0xF2, 0x2C, 0xEA, 0xE7, 0x4C, 0xE7, 0x7C, 0x05, 0x1A, 0xB8, 0xFF, 0x88, 0x09, 0x4F, 0x26, + 0x37, 0xEF, 0x3A, 0xA4, 0xFA, 0x22, 0x6C, 0x88, 0xC9, 0x4A, 0x1B, 0x61, 0xF2, 0xAE, 0x10, 0x5E, + 0x6F, 0xBC, 0xD1, 0x79, 0x9B, 0x59, 0x18, 0x60, 0xE5, 0xEE, 0x29, 0xB5, 0x03, 0x2A, 0xA4, 0xCE, + 0xF1, 0x83, 0x19, 0x4F, 0x69, 0x05, 0x73, 0x28, 0x09, 0xFB, 0x22, 0x10, 0x93, 0x22, 0xA0, 0x90, + 0x19, 0x1A, 0x4C, 0x31, 0xF2, 0xD3, 0x2B, 0xD8, 0x84, 0x43, 0xAF, 0x3C, 0x63, 0xFF, 0x98, 0xDB, + 0x20, 0xD2, 0x09, 0x2B, 0x54, 0xC1, 0xEA, 0xFD, 0x6A, 0x83, 0xE7, 0x10, 0xA3, 0x12, 0x71, 0xF5, + 0xD6, 0xD7, 0xE1, 0x12, 0x7A, 0xD5, 0xE0, 0x56, 0x5A, 0xCE, 0xEA, 0x01, 0x5B, 0x68, 0x65, 0x5B, + 0xC1, 0x3F, 0x58, 0x52, 0x33, 0xA9, 0x35, 0x61, 0x4E, 0x22, 0xCB, 0x81, 0xCA, 0x36, 0xA3, 0x12, + 0xCB, 0x06, 0xD6, 0xCF, 0x1B, 0x4D, 0x18, 0x7E, 0xB9, 0x92, 0xB9, 0x12, 0xCF, 0x40, 0x26, 0xD8, + 0x9A, 0x36, 0x85, 0xB3, 0x15, 0xAA, 0x47, 0x93, 0x84, 0x6B, 0x07, 0xBB, 0xBC, 0xD5, 0xB3, 0xDE, + 0x25, 0x00, 0x11, 0x89, 0x00, 0x68, 0xC1, 0x29, 0x3C, 0xEA, 0x3E, 0x2D, 0xEE, 0x50, 0xAB, 0xD7, + 0x1C, 0x30, 0x06, 0x78, 0x3C, 0xA5, 0x10, 0x23, 0x67, 0x91, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, + 0x82, 0x03, 0x57, 0x30, 0x82, 0x03, 0x53, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, + 0xFF, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x13, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04, 0x0C, + 0x30, 0x0A, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x30, 0x82, 0x01, 0xC3, + 0x06, 0x03, 0x55, 0x1D, 0x20, 0x04, 0x82, 0x01, 0xBA, 0x30, 0x82, 0x01, 0xB6, 0x30, 0x82, 0x01, + 0xB2, 0x06, 0x08, 0x60, 0x86, 0x48, 0x01, 0x86, 0xFD, 0x6C, 0x03, 0x30, 0x82, 0x01, 0xA4, 0x30, + 0x3A, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x2E, 0x68, 0x74, 0x74, + 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, + 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x73, 0x73, 0x6C, 0x2D, 0x63, 0x70, 0x73, 0x2D, 0x72, 0x65, 0x70, + 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x2E, 0x68, 0x74, 0x6D, 0x30, 0x82, 0x01, 0x64, 0x06, + 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x02, 0x30, 0x82, 0x01, 0x56, 0x1E, 0x82, 0x01, + 0x52, 0x00, 0x41, 0x00, 0x6E, 0x00, 0x79, 0x00, 0x20, 0x00, 0x75, 0x00, 0x73, 0x00, 0x65, 0x00, + 0x20, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x73, 0x00, + 0x20, 0x00, 0x43, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, 0x00, + 0x63, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x6E, 0x00, + 0x73, 0x00, 0x74, 0x00, 0x69, 0x00, 0x74, 0x00, 0x75, 0x00, 0x74, 0x00, 0x65, 0x00, 0x73, 0x00, + 0x20, 0x00, 0x61, 0x00, 0x63, 0x00, 0x63, 0x00, 0x65, 0x00, 0x70, 0x00, 0x74, 0x00, 0x61, 0x00, + 0x6E, 0x00, 0x63, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, + 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x44, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, 0x43, 0x00, + 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x20, 0x00, 0x43, 0x00, 0x50, 0x00, 0x2F, 0x00, 0x43, 0x00, + 0x50, 0x00, 0x53, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x20, 0x00, 0x74, 0x00, + 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x52, 0x00, 0x65, 0x00, 0x6C, 0x00, 0x79, 0x00, 0x69, 0x00, + 0x6E, 0x00, 0x67, 0x00, 0x20, 0x00, 0x50, 0x00, 0x61, 0x00, 0x72, 0x00, 0x74, 0x00, 0x79, 0x00, + 0x20, 0x00, 0x41, 0x00, 0x67, 0x00, 0x72, 0x00, 0x65, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x65, 0x00, + 0x6E, 0x00, 0x74, 0x00, 0x20, 0x00, 0x77, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x68, 0x00, + 0x20, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x74, 0x00, 0x20, 0x00, 0x6C, 0x00, + 0x69, 0x00, 0x61, 0x00, 0x62, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x74, 0x00, 0x79, 0x00, + 0x20, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x20, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, + 0x20, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x70, 0x00, 0x6F, 0x00, + 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x68, 0x00, 0x65, 0x00, + 0x72, 0x00, 0x65, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, 0x00, + 0x72, 0x00, 0x65, 0x00, 0x66, 0x00, 0x65, 0x00, 0x72, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x63, 0x00, + 0x65, 0x00, 0x2E, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, 0x04, 0x08, 0x30, + 0x06, 0x01, 0x01, 0xFF, 0x02, 0x01, 0x00, 0x30, 0x7F, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x01, 0x01, 0x04, 0x73, 0x30, 0x71, 0x30, 0x24, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6F, 0x63, 0x73, 0x70, + 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x49, 0x06, + 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x3D, 0x68, 0x74, 0x74, 0x70, 0x3A, + 0x2F, 0x2F, 0x63, 0x61, 0x63, 0x65, 0x72, 0x74, 0x73, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, + 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x48, + 0x69, 0x67, 0x68, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6E, 0x63, 0x65, 0x45, 0x56, 0x52, 0x6F, + 0x6F, 0x74, 0x43, 0x41, 0x2E, 0x63, 0x72, 0x74, 0x30, 0x81, 0x8F, 0x06, 0x03, 0x55, 0x1D, 0x1F, + 0x04, 0x81, 0x87, 0x30, 0x81, 0x84, 0x30, 0x40, 0xA0, 0x3E, 0xA0, 0x3C, 0x86, 0x3A, 0x68, 0x74, + 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x33, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, + 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x48, + 0x69, 0x67, 0x68, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6E, 0x63, 0x65, 0x45, 0x56, 0x52, 0x6F, + 0x6F, 0x74, 0x43, 0x41, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x40, 0xA0, 0x3E, 0xA0, 0x3C, 0x86, 0x3A, + 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x34, 0x2E, 0x64, 0x69, 0x67, 0x69, + 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, + 0x74, 0x48, 0x69, 0x67, 0x68, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6E, 0x63, 0x65, 0x45, 0x56, + 0x52, 0x6F, 0x6F, 0x74, 0x43, 0x41, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, + 0x0E, 0x04, 0x16, 0x04, 0x14, 0x97, 0x48, 0x03, 0xEB, 0x15, 0x08, 0x6B, 0xB9, 0xB2, 0x58, 0x23, + 0xCC, 0x94, 0x2E, 0xF1, 0xC6, 0x65, 0xD2, 0x64, 0x8E, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, + 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xB1, 0x3E, 0xC3, 0x69, 0x03, 0xF8, 0xBF, 0x47, 0x01, 0xD4, + 0x98, 0x26, 0x1A, 0x08, 0x02, 0xEF, 0x63, 0x64, 0x2B, 0xC3, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, + 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x49, 0xEB, + 0x7C, 0x60, 0xBE, 0xAE, 0xEF, 0xC9, 0x7C, 0xB3, 0xC5, 0xBA, 0x4B, 0x64, 0xDF, 0x16, 0x69, 0xE2, + 0x86, 0xFA, 0x29, 0xD9, 0xDE, 0x98, 0x85, 0x7D, 0x40, 0x66, 0x26, 0x33, 0x2F, 0x44, 0x55, 0xAA, + 0xAA, 0x90, 0xE9, 0x35, 0x70, 0x0A, 0x34, 0xBE, 0xD3, 0xAE, 0x54, 0x2E, 0x8E, 0x65, 0x00, 0xD6, + 0x7A, 0x32, 0x20, 0x3E, 0x6C, 0x26, 0xB8, 0x98, 0xA9, 0x39, 0xB1, 0xBC, 0x95, 0xC7, 0xAA, 0xE9, + 0xF5, 0xEE, 0x46, 0x66, 0xC6, 0xB3, 0xE8, 0x12, 0xF8, 0xB3, 0x97, 0x9D, 0xFF, 0x74, 0x58, 0x82, + 0x34, 0x99, 0x75, 0x50, 0xAC, 0x44, 0x8F, 0xE8, 0x92, 0xCE, 0x7D, 0x8B, 0x0F, 0x31, 0x96, 0xC7, + 0xDC, 0xD3, 0x11, 0x30, 0x98, 0x74, 0x16, 0xC6, 0xE5, 0x6B, 0x45, 0x76, 0xA3, 0x94, 0x01, 0xCD, + 0x33, 0x00, 0x7A, 0x48, 0xF6, 0x6F, 0x86, 0x31, 0xC9, 0x56, 0x2B, 0x33, 0x22, 0xD5, 0xF8, 0x01, + 0xB6, 0x44, 0xCE, 0x8C, 0xB4, 0xCA, 0x88, 0xD2, 0xE4, 0x16, 0xE3, 0xE7, 0xF6, 0xE2, 0x3E, 0xE1, + 0x09, 0xC0, 0x9D, 0x79, 0x43, 0x43, 0x7F, 0x55, 0x5C, 0x05, 0xAD, 0x93, 0x10, 0xC6, 0x2C, 0x0D, + 0x6B, 0xC0, 0x9E, 0xEA, 0x78, 0xE5, 0xD2, 0x77, 0xD6, 0xB8, 0xDA, 0x9A, 0x98, 0x7F, 0xBA, 0x4C, + 0x92, 0x2B, 0x9D, 0xBD, 0xA4, 0x88, 0xB1, 0xDD, 0xAF, 0xC3, 0x4C, 0xD2, 0x97, 0x9B, 0x03, 0xC6, + 0xAE, 0x5F, 0x1B, 0x44, 0x0F, 0x33, 0x37, 0x15, 0xE3, 0xCB, 0xFF, 0x2F, 0x56, 0xD3, 0x16, 0xA4, + 0x5B, 0x55, 0x67, 0x9D, 0xA2, 0xCA, 0xDB, 0x34, 0x6C, 0x0C, 0x73, 0x4A, 0xB5, 0x7B, 0xA4, 0xB6, + 0xB3, 0xE9, 0x35, 0x02, 0x78, 0x70, 0xEC, 0x00, 0x7A, 0xCB, 0xFC, 0x4B, 0x4F, 0x22, 0x36, 0xBB, + 0x14, 0x84, 0xC9, 0x8F, 0x91, 0xDD, 0x0F, 0x3C, 0x75, 0x8C, 0xCA, 0x0B, 0x88, 0xE7, 0x30, 0x82, + 0x06, 0xCD, 0x30, 0x82, 0x05, 0xB5, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x06, 0xFD, 0xF9, + 0x03, 0x96, 0x03, 0xAD, 0xEA, 0x00, 0x0A, 0xEB, 0x3F, 0x27, 0xBB, 0xBA, 0x1B, 0x30, 0x0D, 0x06, + 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x65, 0x31, 0x0B, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, + 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0C, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, + 0x6E, 0x63, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x10, 0x77, 0x77, 0x77, + 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x24, 0x30, + 0x22, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1B, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, + 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, 0x20, 0x49, 0x44, 0x20, 0x52, 0x6F, 0x6F, 0x74, + 0x20, 0x43, 0x41, 0x30, 0x1E, 0x17, 0x0D, 0x30, 0x36, 0x31, 0x31, 0x31, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x5A, 0x17, 0x0D, 0x32, 0x31, 0x31, 0x31, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x5A, 0x30, 0x62, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0C, 0x44, 0x69, 0x67, + 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6E, 0x63, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, + 0x04, 0x0B, 0x13, 0x10, 0x77, 0x77, 0x77, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, + 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x21, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x18, 0x44, + 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, 0x20, + 0x49, 0x44, 0x20, 0x43, 0x41, 0x2D, 0x31, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0D, 0x06, 0x09, 0x2A, + 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, 0x30, + 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xE8, 0x82, 0x2D, 0x99, 0xF9, 0xCA, 0xC2, 0x42, + 0x95, 0xA5, 0x80, 0x73, 0x40, 0x70, 0xD2, 0x9E, 0x56, 0x54, 0x5C, 0xA9, 0xC4, 0xD2, 0x41, 0x06, + 0x8F, 0xC9, 0x33, 0xFC, 0x4D, 0x45, 0x91, 0x5C, 0x81, 0x9F, 0xED, 0x2C, 0x9C, 0xF8, 0x16, 0x59, + 0xDF, 0x9E, 0xB5, 0x24, 0x15, 0xC2, 0x98, 0xB9, 0xB4, 0x77, 0x49, 0xDC, 0x89, 0xC4, 0x0A, 0xDA, + 0xAF, 0xCB, 0x5E, 0x6B, 0xED, 0xAD, 0xB0, 0x71, 0x31, 0xEB, 0xCF, 0x3A, 0x40, 0x0C, 0x46, 0x4D, + 0x93, 0xEC, 0x8B, 0x7A, 0x36, 0x08, 0x03, 0xAB, 0x0C, 0x34, 0xFE, 0x18, 0x49, 0x82, 0xFE, 0xC7, + 0xC7, 0x31, 0x48, 0x80, 0x7C, 0x1E, 0xA2, 0x0F, 0x92, 0x0E, 0x50, 0xC9, 0xC6, 0x87, 0xEB, 0x36, + 0x3F, 0xD8, 0x30, 0xC3, 0xFF, 0xA6, 0xF7, 0xFB, 0xA2, 0xCD, 0x6F, 0x73, 0x23, 0xFE, 0xAC, 0x56, + 0x05, 0x90, 0xF0, 0x32, 0x21, 0x16, 0x89, 0xC6, 0x70, 0x88, 0xF9, 0x05, 0x97, 0x7D, 0xA3, 0xC7, + 0x43, 0xDD, 0x02, 0xE8, 0x3B, 0x3D, 0xED, 0xB1, 0x41, 0xA3, 0xED, 0x3F, 0xBE, 0xDB, 0x95, 0x48, + 0xC4, 0xEE, 0x1E, 0xB3, 0xF2, 0xBC, 0x0C, 0x2B, 0x99, 0xD0, 0xC6, 0x5D, 0x12, 0x42, 0x81, 0xE1, + 0x83, 0x6E, 0x82, 0x73, 0x3F, 0x26, 0x4B, 0x14, 0x90, 0xAE, 0x59, 0x66, 0x0A, 0xC4, 0x8D, 0xBE, + 0xD2, 0xCE, 0x06, 0xAE, 0xAD, 0x84, 0x6F, 0x48, 0x84, 0x9B, 0x4F, 0x40, 0xB9, 0xF1, 0x4C, 0xF2, + 0xAF, 0x98, 0xFB, 0xF6, 0xCE, 0x40, 0x5D, 0x5C, 0xF6, 0xA8, 0xF1, 0x2F, 0xAF, 0xEC, 0x89, 0x22, + 0xF2, 0x6B, 0x18, 0x65, 0xB1, 0xC1, 0x73, 0xAD, 0xD7, 0xF1, 0xD8, 0xCF, 0x1E, 0x0A, 0x74, 0x5C, + 0x42, 0xB8, 0x68, 0x7E, 0xB7, 0xD5, 0x77, 0x0A, 0x27, 0x56, 0x7C, 0x0F, 0x62, 0xA4, 0x3F, 0x32, + 0x14, 0x60, 0x95, 0xFD, 0x07, 0x04, 0xA2, 0x09, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x82, 0x03, + 0x7A, 0x30, 0x82, 0x03, 0x76, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04, + 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x3B, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04, 0x34, 0x30, 0x32, + 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x03, 0x02, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x06, 0x08, + 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x04, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x03, 0x08, 0x30, 0x82, 0x01, 0xD2, 0x06, 0x03, 0x55, 0x1D, 0x20, 0x04, 0x82, 0x01, 0xC9, 0x30, + 0x82, 0x01, 0xC5, 0x30, 0x82, 0x01, 0xB4, 0x06, 0x0A, 0x60, 0x86, 0x48, 0x01, 0x86, 0xFD, 0x6C, + 0x00, 0x01, 0x04, 0x30, 0x82, 0x01, 0xA4, 0x30, 0x3A, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x01, 0x16, 0x2E, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, + 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x73, 0x73, 0x6C, + 0x2D, 0x63, 0x70, 0x73, 0x2D, 0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x2E, + 0x68, 0x74, 0x6D, 0x30, 0x82, 0x01, 0x64, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, + 0x02, 0x30, 0x82, 0x01, 0x56, 0x1E, 0x82, 0x01, 0x52, 0x00, 0x41, 0x00, 0x6E, 0x00, 0x79, 0x00, + 0x20, 0x00, 0x75, 0x00, 0x73, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x20, 0x00, + 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x43, 0x00, 0x65, 0x00, 0x72, 0x00, + 0x74, 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, 0x00, 0x63, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, + 0x20, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x73, 0x00, 0x74, 0x00, 0x69, 0x00, 0x74, 0x00, + 0x75, 0x00, 0x74, 0x00, 0x65, 0x00, 0x73, 0x00, 0x20, 0x00, 0x61, 0x00, 0x63, 0x00, 0x63, 0x00, + 0x65, 0x00, 0x70, 0x00, 0x74, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x65, 0x00, 0x20, 0x00, + 0x6F, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x44, 0x00, + 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, 0x43, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x20, 0x00, + 0x43, 0x00, 0x50, 0x00, 0x2F, 0x00, 0x43, 0x00, 0x50, 0x00, 0x53, 0x00, 0x20, 0x00, 0x61, 0x00, + 0x6E, 0x00, 0x64, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x52, 0x00, + 0x65, 0x00, 0x6C, 0x00, 0x79, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x20, 0x00, 0x50, 0x00, + 0x61, 0x00, 0x72, 0x00, 0x74, 0x00, 0x79, 0x00, 0x20, 0x00, 0x41, 0x00, 0x67, 0x00, 0x72, 0x00, + 0x65, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x20, 0x00, 0x77, 0x00, + 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x68, 0x00, 0x20, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x6D, 0x00, + 0x69, 0x00, 0x74, 0x00, 0x20, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x61, 0x00, 0x62, 0x00, 0x69, 0x00, + 0x6C, 0x00, 0x69, 0x00, 0x74, 0x00, 0x79, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, + 0x20, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x63, 0x00, + 0x6F, 0x00, 0x72, 0x00, 0x70, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, + 0x64, 0x00, 0x20, 0x00, 0x68, 0x00, 0x65, 0x00, 0x72, 0x00, 0x65, 0x00, 0x69, 0x00, 0x6E, 0x00, + 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, 0x00, 0x72, 0x00, 0x65, 0x00, 0x66, 0x00, 0x65, 0x00, + 0x72, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x65, 0x00, 0x2E, 0x30, 0x0B, 0x06, 0x09, 0x60, + 0x86, 0x48, 0x01, 0x86, 0xFD, 0x6C, 0x03, 0x15, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, + 0x01, 0xFF, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xFF, 0x02, 0x01, 0x00, 0x30, 0x79, 0x06, 0x08, + 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x6D, 0x30, 0x6B, 0x30, 0x24, 0x06, 0x08, + 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, + 0x2F, 0x6F, 0x63, 0x73, 0x70, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, + 0x6F, 0x6D, 0x30, 0x43, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x37, + 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x61, 0x63, 0x65, 0x72, 0x74, 0x73, 0x2E, 0x64, + 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x44, 0x69, 0x67, 0x69, + 0x43, 0x65, 0x72, 0x74, 0x41, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, 0x49, 0x44, 0x52, 0x6F, 0x6F, + 0x74, 0x43, 0x41, 0x2E, 0x63, 0x72, 0x74, 0x30, 0x81, 0x81, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, + 0x7A, 0x30, 0x78, 0x30, 0x3A, 0xA0, 0x38, 0xA0, 0x36, 0x86, 0x34, 0x68, 0x74, 0x74, 0x70, 0x3A, + 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x33, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, + 0x63, 0x6F, 0x6D, 0x2F, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x41, 0x73, 0x73, 0x75, + 0x72, 0x65, 0x64, 0x49, 0x44, 0x52, 0x6F, 0x6F, 0x74, 0x43, 0x41, 0x2E, 0x63, 0x72, 0x6C, 0x30, + 0x3A, 0xA0, 0x38, 0xA0, 0x36, 0x86, 0x34, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, + 0x6C, 0x34, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x41, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, 0x49, + 0x44, 0x52, 0x6F, 0x6F, 0x74, 0x43, 0x41, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x1D, 0x06, 0x03, 0x55, + 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x15, 0x00, 0x12, 0x2B, 0x13, 0x98, 0xB2, 0x99, 0x07, 0xED, + 0x1E, 0xDF, 0xA2, 0xBE, 0x57, 0x0D, 0x2B, 0x67, 0x02, 0xCD, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, + 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x45, 0xEB, 0xA2, 0xAF, 0xF4, 0x92, 0xCB, 0x82, 0x31, + 0x2D, 0x51, 0x8B, 0xA7, 0xA7, 0x21, 0x9D, 0xF3, 0x6D, 0xC8, 0x0F, 0x30, 0x0D, 0x06, 0x09, 0x2A, + 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x46, + 0x50, 0x3E, 0xC9, 0xB7, 0x28, 0x24, 0xA7, 0x38, 0x1D, 0xB6, 0x5B, 0x29, 0xAF, 0x52, 0xCF, 0x52, + 0xE9, 0x31, 0x47, 0xAB, 0x56, 0x5C, 0x7B, 0xD5, 0x0D, 0x0B, 0x41, 0xB3, 0xEF, 0xEC, 0x75, 0x1F, + 0x74, 0x38, 0xF2, 0xB2, 0x5C, 0x61, 0xA2, 0x9C, 0x95, 0xC3, 0x50, 0xE4, 0x82, 0xB9, 0x23, 0xD1, + 0xBA, 0x3A, 0x86, 0x72, 0xAD, 0x38, 0x78, 0xAC, 0x75, 0x5D, 0x17, 0x17, 0x34, 0x72, 0x47, 0x85, + 0x94, 0x56, 0xD1, 0xEB, 0xBB, 0x36, 0x84, 0x77, 0xCC, 0x24, 0xA5, 0xF3, 0x04, 0x19, 0x55, 0xA9, + 0xE7, 0xE3, 0xE7, 0xAB, 0x62, 0xCD, 0xFB, 0x8B, 0x2D, 0x90, 0xC2, 0xC0, 0xD2, 0xB5, 0x94, 0xBD, + 0x5E, 0x4F, 0xB1, 0x05, 0xD2, 0x0E, 0x3D, 0x1A, 0xA9, 0x14, 0x5B, 0xA6, 0x86, 0x31, 0x62, 0xA8, + 0xA8, 0x33, 0xE4, 0x9B, 0x39, 0xA7, 0xC4, 0xF5, 0xCE, 0x1D, 0x78, 0x76, 0x94, 0x25, 0x73, 0xE4, + 0x2A, 0xAB, 0xCF, 0x9C, 0x76, 0x4B, 0xED, 0x5F, 0xC2, 0x4B, 0x16, 0xE4, 0x4B, 0x70, 0x4C, 0x00, + 0x89, 0x1E, 0xFC, 0xC5, 0x79, 0xBC, 0x4C, 0x12, 0x57, 0xFE, 0x5F, 0xE1, 0x1E, 0xBC, 0x02, 0x5D, + 0xA8, 0xFE, 0xFB, 0x07, 0x38, 0x4F, 0x0D, 0xC6, 0x5D, 0x91, 0xB9, 0x0F, 0x67, 0x45, 0xCD, 0xD6, + 0x83, 0xED, 0xE7, 0x92, 0x0D, 0x8D, 0xB1, 0x69, 0x8C, 0x4F, 0xFB, 0x59, 0xE0, 0x23, 0x0F, 0xD2, + 0xAA, 0xAE, 0x00, 0x7C, 0xEE, 0x9C, 0x42, 0x0E, 0xCF, 0x91, 0xD7, 0x27, 0xB7, 0x16, 0xEE, 0x0F, + 0xC3, 0xBD, 0x7C, 0x0A, 0xA0, 0xEE, 0x2C, 0x08, 0x55, 0x85, 0x22, 0xB8, 0xEB, 0x18, 0x1A, 0x4D, + 0xFC, 0x2A, 0x21, 0xAD, 0x49, 0x31, 0x83, 0x47, 0x95, 0x77, 0x71, 0xDC, 0xB1, 0x1B, 0x4B, 0x4B, + 0x1C, 0x10, 0x9C, 0x77, 0x14, 0xC1, 0x9D, 0x4F, 0x2F, 0x5A, 0x95, 0x08, 0x29, 0x10, 0x26, 0x31, + 0x82, 0x04, 0x34, 0x30, 0x82, 0x04, 0x30, 0x02, 0x01, 0x01, 0x30, 0x81, 0x87, 0x30, 0x73, 0x31, + 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, + 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0C, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, + 0x49, 0x6E, 0x63, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x10, 0x77, 0x77, + 0x77, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x32, + 0x30, 0x30, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x29, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, + 0x74, 0x20, 0x48, 0x69, 0x67, 0x68, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6E, 0x63, 0x65, + 0x20, 0x43, 0x6F, 0x64, 0x65, 0x20, 0x53, 0x69, 0x67, 0x6E, 0x69, 0x6E, 0x67, 0x20, 0x43, 0x41, + 0x2D, 0x31, 0x02, 0x10, 0x03, 0xE9, 0x01, 0x7D, 0x54, 0xCD, 0x93, 0xF0, 0x94, 0xD0, 0xA2, 0xAB, + 0x7F, 0xC0, 0xE3, 0xF5, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0xA0, + 0x70, 0x30, 0x10, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x0C, 0x31, + 0x02, 0x30, 0x00, 0x30, 0x19, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x03, + 0x31, 0x0C, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x04, 0x30, 0x1C, + 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x0B, 0x31, 0x0E, 0x30, 0x0C, + 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x15, 0x30, 0x23, 0x06, 0x09, + 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x04, 0x31, 0x16, 0x04, 0x14, 0xF8, 0xB8, 0xAC, + 0xF6, 0x28, 0x3C, 0xAB, 0x9E, 0x8A, 0xB4, 0x24, 0x66, 0x1F, 0x67, 0x41, 0xD5, 0x52, 0xC4, 0x20, + 0xB1, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, + 0x04, 0x82, 0x01, 0x00, 0x00, 0x1E, 0x16, 0xBC, 0xB2, 0x31, 0x8C, 0xBA, 0xD8, 0x58, 0x9E, 0x10, + 0x38, 0xA7, 0x08, 0x7A, 0x56, 0xE4, 0xB3, 0x80, 0x58, 0xB2, 0xE1, 0x34, 0x0C, 0xDF, 0x68, 0x7A, + 0x55, 0x43, 0x56, 0x27, 0xFE, 0xF4, 0x98, 0xDF, 0x47, 0xDD, 0x7A, 0xDA, 0x53, 0xB6, 0x67, 0xD8, + 0xB4, 0x11, 0x91, 0xF8, 0xFC, 0xE3, 0xD2, 0x86, 0x9B, 0xE1, 0x3A, 0x39, 0x1E, 0x08, 0xB8, 0xA0, + 0x60, 0xB8, 0x3A, 0x01, 0x68, 0xAF, 0xB4, 0xD3, 0x2E, 0xF6, 0xD3, 0x27, 0x01, 0xB8, 0x48, 0x63, + 0x29, 0x94, 0x39, 0x0B, 0x0E, 0x99, 0xAD, 0x4B, 0xC4, 0x91, 0x3F, 0x3C, 0x81, 0x05, 0x69, 0x38, + 0x8D, 0xB1, 0x95, 0x15, 0x7C, 0x7A, 0x0E, 0x53, 0x16, 0x19, 0xEC, 0x67, 0x2B, 0x4F, 0xA8, 0xE7, + 0xDA, 0x64, 0x27, 0x05, 0x16, 0x68, 0x03, 0xAB, 0xBB, 0xEB, 0xCB, 0xC9, 0x80, 0x83, 0xB6, 0x95, + 0x87, 0x8A, 0x4F, 0xAC, 0x72, 0x66, 0x63, 0x7E, 0xA3, 0xD0, 0x0F, 0xDB, 0xC7, 0x8B, 0x7F, 0xFA, + 0x39, 0x41, 0x71, 0xDE, 0xE5, 0x51, 0xF2, 0x50, 0xD2, 0xEF, 0xD9, 0x77, 0xE4, 0xFA, 0x88, 0x30, + 0xC9, 0xF9, 0xBB, 0xAE, 0x63, 0xA7, 0x12, 0x09, 0x65, 0x61, 0x79, 0x11, 0xB8, 0xC4, 0x4B, 0x77, + 0x9E, 0x4F, 0xB8, 0xCB, 0xEB, 0x96, 0x92, 0xA9, 0xB8, 0x0F, 0x27, 0xBB, 0xDF, 0x04, 0x3D, 0x6D, + 0xED, 0x74, 0x96, 0x71, 0x76, 0xF6, 0xDC, 0x7A, 0x79, 0xDF, 0xDA, 0x0D, 0x4E, 0x47, 0x25, 0x01, + 0x32, 0xED, 0x07, 0xFD, 0xCB, 0x5B, 0x92, 0xB7, 0x79, 0x6F, 0x7A, 0xD7, 0x6A, 0x93, 0xCB, 0xF8, + 0x1E, 0x98, 0xB3, 0x8B, 0x56, 0x51, 0x29, 0x78, 0x89, 0x4D, 0x52, 0x4A, 0xFA, 0x7E, 0xD7, 0x2E, + 0x9E, 0x63, 0xD8, 0x1D, 0xA2, 0xCA, 0xEF, 0xAC, 0x78, 0xDC, 0x93, 0x92, 0x06, 0x76, 0x0D, 0xA8, + 0x5B, 0x7D, 0x4A, 0x5F, 0xA1, 0x82, 0x02, 0x0F, 0x30, 0x82, 0x02, 0x0B, 0x06, 0x09, 0x2A, 0x86, + 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x06, 0x31, 0x82, 0x01, 0xFC, 0x30, 0x82, 0x01, 0xF8, 0x02, + 0x01, 0x01, 0x30, 0x76, 0x30, 0x62, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, + 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0C, 0x44, 0x69, + 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6E, 0x63, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, + 0x55, 0x04, 0x0B, 0x13, 0x10, 0x77, 0x77, 0x77, 0x2E, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, + 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x21, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x18, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, + 0x20, 0x49, 0x44, 0x20, 0x43, 0x41, 0x2D, 0x31, 0x02, 0x10, 0x03, 0x01, 0x9A, 0x02, 0x3A, 0xFF, + 0x58, 0xB1, 0x6B, 0xD6, 0xD5, 0xEA, 0xE6, 0x17, 0xF0, 0x66, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, + 0x03, 0x02, 0x1A, 0x05, 0x00, 0xA0, 0x5D, 0x30, 0x18, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, + 0x0D, 0x01, 0x09, 0x03, 0x31, 0x0B, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, + 0x01, 0x30, 0x1C, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x05, 0x31, 0x0F, + 0x17, 0x0D, 0x31, 0x35, 0x30, 0x35, 0x33, 0x30, 0x30, 0x38, 0x34, 0x32, 0x31, 0x34, 0x5A, 0x30, + 0x23, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x04, 0x31, 0x16, 0x04, 0x14, + 0x84, 0xE8, 0x74, 0xD1, 0xD0, 0x66, 0x0A, 0x35, 0x18, 0x65, 0x77, 0xDE, 0xBC, 0x98, 0x4F, 0x63, + 0xB7, 0xC4, 0xC2, 0xB4, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x04, 0x82, 0x01, 0x00, 0x07, 0xA9, 0xF9, 0xCD, 0x0D, 0xDD, 0xF4, 0xB4, 0x53, + 0x47, 0x01, 0x4A, 0x16, 0x89, 0x97, 0xBE, 0x07, 0xC5, 0xE5, 0x33, 0x85, 0xDC, 0x36, 0xFF, 0x63, + 0xE7, 0xF0, 0x5D, 0xE4, 0x56, 0xA8, 0x0A, 0xEA, 0x1D, 0x21, 0xB6, 0xE9, 0x56, 0xCF, 0x1E, 0x1A, + 0xC6, 0x33, 0x3F, 0xF3, 0xDD, 0xED, 0xAC, 0x5D, 0x72, 0x55, 0xAA, 0x5D, 0x43, 0x5E, 0xC8, 0xC4, + 0x91, 0x40, 0xFD, 0x27, 0x07, 0x13, 0xEF, 0x89, 0x40, 0xA3, 0x52, 0xC2, 0x29, 0x69, 0xDC, 0x82, + 0xE7, 0x85, 0xB7, 0xBB, 0x49, 0x86, 0x3D, 0x58, 0x19, 0xD0, 0xC6, 0x3B, 0x51, 0x88, 0x4D, 0xCA, + 0x02, 0x05, 0xC8, 0xA1, 0x86, 0x8D, 0xE5, 0x18, 0x8C, 0xFB, 0x76, 0xB8, 0x22, 0x64, 0x10, 0xC2, + 0xAC, 0x7A, 0x6B, 0x70, 0x50, 0x8E, 0xD3, 0xDD, 0xFE, 0x37, 0x7F, 0x38, 0x27, 0x5B, 0x69, 0x04, + 0x08, 0x73, 0xB6, 0xC4, 0x9D, 0x31, 0x79, 0x6F, 0xFE, 0x11, 0xFE, 0xE3, 0xA2, 0x6E, 0xB9, 0x9A, + 0x37, 0xBB, 0x73, 0x19, 0x80, 0x6A, 0x3A, 0x0F, 0x85, 0xC7, 0x54, 0x09, 0x8D, 0xAA, 0x53, 0xBE, + 0x72, 0x62, 0x9D, 0x8E, 0xBA, 0x5B, 0xAB, 0xD9, 0xA3, 0x02, 0x95, 0xF1, 0x59, 0xCD, 0x79, 0x67, + 0xE0, 0x86, 0x05, 0xA0, 0x3C, 0xDE, 0x3C, 0x60, 0xDD, 0xB5, 0x11, 0xA7, 0x64, 0x03, 0x5E, 0xFE, + 0x85, 0x5E, 0x1E, 0xFC, 0x5B, 0xE7, 0xEB, 0x2A, 0x16, 0x95, 0x66, 0x75, 0xBD, 0x0C, 0x48, 0x1C, + 0xFD, 0x61, 0x8B, 0x3B, 0xA9, 0xC2, 0xD3, 0x99, 0x24, 0x8E, 0x6F, 0x42, 0x45, 0x49, 0x31, 0x6B, + 0x85, 0x1B, 0x3E, 0x56, 0x06, 0x92, 0x93, 0xDE, 0xB3, 0xB5, 0x89, 0xDA, 0x2F, 0xE8, 0x84, 0x19, + 0xD4, 0x83, 0xB9, 0x1B, 0xD8, 0xE0, 0xE3, 0x47, 0x0E, 0xF6, 0xD1, 0xBB, 0xB7, 0x05, 0x2F, 0xD9, + 0x56, 0xA6, 0xDA, 0xF4, 0x1A, 0xEA, 0x51, 0x00 +}; \ No newline at end of file diff --git a/NativeCore/BypaPH/Tools.cpp b/NativeCore/BypaPH/Tools.cpp new file mode 100644 index 00000000..e25e0afe --- /dev/null +++ b/NativeCore/BypaPH/Tools.cpp @@ -0,0 +1,68 @@ +#include "Tools.h" + +std::wstring str2wstr(std::string in) { std::wstring out; out.assign(in.begin(), in.end()); return out; } +std::string wstr2str(std::wstring in) { std::string out; out.assign(in.begin(), in.end()); return out; } + +bool SetPrivilegeW(const LPCWSTR lpszPrivilege, const BOOL bEnablePrivilege) { + TOKEN_PRIVILEGES priv = { 0,0,0,0 }; + HANDLE hToken = nullptr; + LUID luid = { 0,0 }; + if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken)) { + if (hToken) + CloseHandle(hToken); + return false; + } + if (!LookupPrivilegeValueW(nullptr, lpszPrivilege, &luid)) { + if (hToken) + CloseHandle(hToken); + return false; + } + priv.PrivilegeCount = 1; + priv.Privileges[0].Luid = luid; + priv.Privileges[0].Attributes = bEnablePrivilege ? SE_PRIVILEGE_ENABLED : SE_PRIVILEGE_REMOVED; + if (!AdjustTokenPrivileges(hToken, false, &priv, 0, nullptr, nullptr)) { + if (hToken) + CloseHandle(hToken); + return false; + } + if (hToken) + CloseHandle(hToken); + return true; +} + +bool SetPrivilegeA(const LPCSTR lpszPrivilege, const BOOL bEnablePrivilege) { + TOKEN_PRIVILEGES priv = { 0,0,0,0 }; + HANDLE hToken = nullptr; + LUID luid = { 0,0 }; + if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken)) { + if (hToken) + CloseHandle(hToken); + return false; + } + if (!LookupPrivilegeValueA(nullptr, lpszPrivilege, &luid)) { + if (hToken) + CloseHandle(hToken); + return false; + } + priv.PrivilegeCount = 1; + priv.Privileges[0].Luid = luid; + priv.Privileges[0].Attributes = bEnablePrivilege ? SE_PRIVILEGE_ENABLED : SE_PRIVILEGE_REMOVED; + if (!AdjustTokenPrivileges(hToken, false, &priv, 0, nullptr, nullptr)) { + if (hToken) + CloseHandle(hToken); + return false; + } + if (hToken) + CloseHandle(hToken); + return true; +} + +bool WriteDataToFile(const UCHAR pBuffer[], const DWORD dwSize, const std::string& strFileName, const DWORD dwCreationDisposition) +{ + const auto hFile = CreateFileA(strFileName.c_str(), GENERIC_READ | GENERIC_WRITE, 0, nullptr, dwCreationDisposition, FILE_ATTRIBUTE_NORMAL, nullptr); + if (hFile == INVALID_HANDLE_VALUE) return false; + DWORD dwNumberOfBytesWritten = NULL; + const auto bWriteFile = WriteFile(hFile, pBuffer, dwSize, &dwNumberOfBytesWritten, nullptr); + CloseHandle(hFile); + return !(!bWriteFile || dwNumberOfBytesWritten != dwSize); +} \ No newline at end of file diff --git a/NativeCore/BypaPH/Tools.h b/NativeCore/BypaPH/Tools.h new file mode 100644 index 00000000..cfb4d265 --- /dev/null +++ b/NativeCore/BypaPH/Tools.h @@ -0,0 +1,18 @@ +#pragma once +#include +#include + +#ifdef UNICODE +#define SetPrivilege SetPrivilegeW +#else +#define SetPrivilege SetPrivilegeA +#endif + +std::wstring str2wstr(std::string in); +std::string wstr2str(std::wstring in); + +bool SetPrivilegeW(const LPCWSTR lpszPrivilege, const BOOL bEnablePrivilege); + +bool SetPrivilegeA(const LPCSTR lpszPrivilege, const BOOL bEnablePrivilege); + +bool WriteDataToFile(const UCHAR pBuffer[], const DWORD dwSize, const std::string& strFileName, const DWORD dwCreationDisposition = CREATE_NEW); \ No newline at end of file diff --git a/NativeCore/ReClassNET_Plugin.hpp b/NativeCore/ReClassNET_Plugin.hpp index 58e909e3..26881a59 100644 --- a/NativeCore/ReClassNET_Plugin.hpp +++ b/NativeCore/ReClassNET_Plugin.hpp @@ -76,6 +76,7 @@ enum class SectionType enum class SectionCategory { Unknown, + CODE, DATA, HEAP diff --git a/NativeCore/Unix/NativeCore.Unix.vcxproj b/NativeCore/Unix/NativeCore.Unix.vcxproj index 6d13567a..05e63690 100644 --- a/NativeCore/Unix/NativeCore.Unix.vcxproj +++ b/NativeCore/Unix/NativeCore.Unix.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -27,24 +27,28 @@ 1.0 Generic {D51BCBC9-82E9-4017-911E-C93873C4EA2B} - 8.1 + 10.0.17763.0 true DynamicLibrary + v141 false DynamicLibrary + v141 true DynamicLibrary + v141 false DynamicLibrary + v141 diff --git a/NativeCore/Windows/CloseRemoteProcess.cpp b/NativeCore/Windows/CloseRemoteProcess.cpp index 413ef8a1..8702a9fe 100644 --- a/NativeCore/Windows/CloseRemoteProcess.cpp +++ b/NativeCore/Windows/CloseRemoteProcess.cpp @@ -1,13 +1,16 @@ #include +#include "Program.h" #include "NativeCore.hpp" -void RC_CallConv CloseRemoteProcess(RC_Pointer handle) +void RC_CallConv CloseRemoteProcess(RC_Pointer handle, DWORD targetProcessID) { - if (handle == nullptr) + if (handle != nullptr) + CloseHandle(handle); + + if (ByPass != nullptr && ByPass->pID == targetProcessID) { - return; + delete ByPass; + ByPass = nullptr; } - - CloseHandle(handle); } diff --git a/NativeCore/Windows/EnumerateProcesses.cpp b/NativeCore/Windows/EnumerateProcesses.cpp index e7d14faf..abda7bc5 100644 --- a/NativeCore/Windows/EnumerateProcesses.cpp +++ b/NativeCore/Windows/EnumerateProcesses.cpp @@ -63,12 +63,12 @@ void RC_CallConv EnumerateProcesses(EnumerateProcessCallback callbackProcess) const auto process = OpenRemoteProcess(reinterpret_cast(static_cast(pe32.th32ProcessID)), ProcessAccess::Read); if (IsProcessValid(process)) { - const auto platform = GetProcessPlatform(process); + /*const auto platform = GetProcessPlatform(process); #ifdef RECLASSNET64 if (platform == Platform::X64) #else if (platform == Platform::X86) -#endif +#endif*/ { EnumerateProcessData data = { }; data.Id = pe32.th32ProcessID; diff --git a/NativeCore/Windows/NativeCore.hpp b/NativeCore/Windows/NativeCore.hpp index db0fa692..2297bbf7 100644 --- a/NativeCore/Windows/NativeCore.hpp +++ b/NativeCore/Windows/NativeCore.hpp @@ -6,9 +6,9 @@ void RC_CallConv EnumerateProcesses(EnumerateProcessCallback callbackProcess); void RC_CallConv EnumerateRemoteSectionsAndModules(RC_Pointer handle, EnumerateRemoteSectionsCallback callbackSection, EnumerateRemoteModulesCallback callbackModule); -RC_Pointer RC_CallConv OpenRemoteProcess(RC_Pointer id, ProcessAccess desiredAccess); +RC_Pointer RC_CallConv OpenRemoteProcess(RC_Pointer id, ProcessAccess desiredAccess, bool useKernal = false, bool isTargetProcess = false); bool RC_CallConv IsProcessValid(RC_Pointer handle); -void RC_CallConv CloseRemoteProcess(RC_Pointer handle); +void RC_CallConv CloseRemoteProcess(RC_Pointer handle, DWORD targetProcessID = NULL); bool RC_CallConv ReadRemoteMemory(RC_Pointer handle, RC_Pointer address, RC_Pointer buffer, int offset, int size); bool RC_CallConv WriteRemoteMemory(RC_Pointer handle, RC_Pointer address, RC_Pointer buffer, int offset, int size); diff --git a/NativeCore/Windows/NativeCore.vcxproj b/NativeCore/Windows/NativeCore.vcxproj index bec0c645..6994a986 100644 --- a/NativeCore/Windows/NativeCore.vcxproj +++ b/NativeCore/Windows/NativeCore.vcxproj @@ -22,14 +22,14 @@ {22CA6FDB-7622-4F94-8FC2-2E7AB481C86F} Win32Proj NativeCore - 10.0.17134.0 + 10.0.17763.0 DynamicLibrary true v141 - Unicode + MultiByte DynamicLibrary @@ -104,6 +104,7 @@ Level3 Disabled WIN32;_DEBUG;_WINDOWS;_USRDLL;NATIVECORE_EXPORTS;_CRT_SECURE_NO_WARNINGS;NOMINMAX;RECLASSNET32;%(PreprocessorDefinitions) + Windows @@ -166,6 +167,9 @@ + + + @@ -192,8 +196,13 @@ + + + + + diff --git a/NativeCore/Windows/NativeCore.vcxproj.filters b/NativeCore/Windows/NativeCore.vcxproj.filters index a7d8862a..6732ef58 100644 --- a/NativeCore/Windows/NativeCore.vcxproj.filters +++ b/NativeCore/Windows/NativeCore.vcxproj.filters @@ -64,6 +64,15 @@ Shared + + BypaPH + + + BypaPH + + + BypaPH + @@ -81,9 +90,25 @@ {faf06b55-02ad-4707-a65d-37e1c0d13640} + + {9162fbc2-f5c4-4a5d-8253-a7a6f9f82d03} + + + BypaPH + + + BypaPH + + + BypaPH + + + BypaPH + + \ No newline at end of file diff --git a/NativeCore/Windows/OpenRemoteProcess.cpp b/NativeCore/Windows/OpenRemoteProcess.cpp index d8944dd3..f71177de 100644 --- a/NativeCore/Windows/OpenRemoteProcess.cpp +++ b/NativeCore/Windows/OpenRemoteProcess.cpp @@ -1,9 +1,15 @@ #include +#include "Program.h" #include "NativeCore.hpp" -RC_Pointer RC_CallConv OpenRemoteProcess(RC_Pointer id, ProcessAccess desiredAccess) +BypaPH *ByPass = nullptr; +bool UseKernal = false; + +RC_Pointer RC_CallConv OpenRemoteProcess(RC_Pointer id, ProcessAccess desiredAccess, bool useKernal, bool isTargetProcess) { + DWORD pID = static_cast(reinterpret_cast(id)); + DWORD access = STANDARD_RIGHTS_REQUIRED | PROCESS_TERMINATE | PROCESS_QUERY_INFORMATION | SYNCHRONIZE; switch (desiredAccess) { @@ -18,12 +24,19 @@ RC_Pointer RC_CallConv OpenRemoteProcess(RC_Pointer id, ProcessAccess desiredAcc break; } - const auto handle = OpenProcess(access, FALSE, static_cast(reinterpret_cast(id))); + if (isTargetProcess && useKernal) + { + UseKernal = useKernal; // must check isTargetProcess + if (ByPass == nullptr) + ByPass = new BypaPH(pID); + else + ByPass->Attach(pID); + } + // Return normal handle to not make a problems + const auto handle = OpenProcess(access, FALSE, pID); if (handle == nullptr || handle == INVALID_HANDLE_VALUE) - { return nullptr; - } return handle; } diff --git a/NativeCore/Windows/Program.h b/NativeCore/Windows/Program.h new file mode 100644 index 00000000..66975067 --- /dev/null +++ b/NativeCore/Windows/Program.h @@ -0,0 +1,5 @@ +#pragma once +#include "../BypaPH/BypaPH.h" + +extern BypaPH *ByPass; +extern bool UseKernal; \ No newline at end of file diff --git a/NativeCore/Windows/ReadRemoteMemory.cpp b/NativeCore/Windows/ReadRemoteMemory.cpp index a29b8ae2..b2218b1e 100644 --- a/NativeCore/Windows/ReadRemoteMemory.cpp +++ b/NativeCore/Windows/ReadRemoteMemory.cpp @@ -1,16 +1,24 @@ #include +#include "Program.h" #include "NativeCore.hpp" bool RC_CallConv ReadRemoteMemory(RC_Pointer handle, RC_Pointer address, RC_Pointer buffer, int offset, int size) { - buffer = reinterpret_cast(reinterpret_cast(buffer) + offset); + buffer = reinterpret_cast(reinterpret_cast(buffer) + offset); - SIZE_T numberOfBytesRead; - if (ReadProcessMemory(handle, address, buffer, size, &numberOfBytesRead) && size == numberOfBytesRead) - { - return true; - } + SIZE_T numberOfBytesRead = 0; + if (!UseKernal) + { + if (ReadProcessMemory(handle, address, buffer, size, &numberOfBytesRead) && size == numberOfBytesRead) + return true; + } + else if (ByPass != nullptr) // BypaPH + { + NTSTATUS read = ByPass->RWVM(ByPass->m_hTarget, address, buffer, size, &numberOfBytesRead); + if (read == STATUS_SUCCESS && size == numberOfBytesRead) + return true; + } - return false; -} + return false; +} \ No newline at end of file diff --git a/NativeCore/Windows/WriteRemoteMemory.cpp b/NativeCore/Windows/WriteRemoteMemory.cpp index e0dac2df..a8afb031 100644 --- a/NativeCore/Windows/WriteRemoteMemory.cpp +++ b/NativeCore/Windows/WriteRemoteMemory.cpp @@ -1,19 +1,34 @@ #include +#include "Program.h" #include "NativeCore.hpp" bool RC_CallConv WriteRemoteMemory(RC_Pointer handle, RC_Pointer address, RC_Pointer buffer, int offset, int size) { buffer = reinterpret_cast(reinterpret_cast(buffer) + offset); - DWORD oldProtect; - if (VirtualProtectEx(handle, address, size, PAGE_EXECUTE_READWRITE, &oldProtect)) + if (!UseKernal) { - SIZE_T numberOfBytesWritten; - if (WriteProcessMemory(handle, address, buffer, size, &numberOfBytesWritten)) + DWORD oldProtect; + if (VirtualProtectEx(handle, address, size, PAGE_EXECUTE_READWRITE, &oldProtect)) { - VirtualProtectEx(handle, address, size, oldProtect, nullptr); + SIZE_T numberOfBytesWritten = 0; + if (WriteProcessMemory(handle, address, buffer, size, &numberOfBytesWritten)) + { + VirtualProtectEx(handle, address, size, oldProtect, nullptr); + if (size == numberOfBytesWritten) + { + return true; + } + } + } + } + else if (ByPass != nullptr) // BypaPH Stuff + { + SIZE_T numberOfBytesWritten = 0; + if (ByPass->WVM(ByPass->m_hTarget, address, buffer, size, &numberOfBytesWritten) == STATUS_SUCCESS) + { if (size == numberOfBytesWritten) { return true; diff --git a/README.md b/README.md index bf3cd1a1..bae87bc6 100644 --- a/README.md +++ b/README.md @@ -1,119 +1,16 @@ # ReClass.NET This is a port of ReClass to the .NET platform with lots of additional features. +https://github.com/ReClassNET/ReClass.NET/blob/master/README.md -![](https://abload.de/img/main4hsbj.jpg) +## New Features +- Kernal Memory Option (Read/Write) +- Class Compare +- x64 only + - Can Access 32/64bit Process -## Features -- Support for x86 / x64 -- File import from ReClass 2007-2016 and ReClass QT -- Memory Nodes - - Hex 8 / 16 / 32 / 64 - - Int 8 / 16 / 32 / 64 - - UInt 8 / 16 / 32 / 64 - - Bool - - Bits ![](https://abload.de/img/bitsnhlql.jpg) - - Float / Double - - Vector 2 / 3 / 4 - - Matrix 3x3 / 3x4 / 4x4 - - UTF8/16/32 Text and pointer to text - - Class Arrays and array of pointers to classes - - VTable - - Function Pointer - - Function -- Automatic Node Dissection -- Highlight changed memory -- Pointer Preview -- Copy / Paste Support across ReClass.NET instances -- Display types from Debug Symbols (*.pdb) -- Display Runtime Type Informations (RTTI) -- Control the remote process: start / stop / kill -- Process Selection Dialog with filtering -- Memory Viewer -- Memory Scanner - - Import files from Cheat Engine and CrySearch - - Scan for values correlated to your input -- Class address calculator -- Code Generator (C++ / C#) -- Module / Section Dumper -- Linux Support (tested on Ubuntu) -- Debugger with "Find out what writes/accesses this address" support -- Plugin Support - - Plugins can be written in different languages (example: C++, C++/CLI, C#) - - Plugins can provide custom methods to access an other process (example: use a driver) - - Plugins can interact with the ReClass.NET windows - - Plugins can provide node infos which will be displayed (example: class informations for Frostbite games) - - Plugins can implement custom nodes with load/save and code generation support - -## Plugins -- [Sample Plugins](https://github.com/KN4CK3R/ReClass.NET-SamplePlugin) -- [Frostbite Plugin](https://github.com/KN4CK3R/ReClass.NET-FrostbitePlugin) -- [MemoryPipe Plugin](https://github.com/KN4CK3R/ReClass.NET-MemoryPipePlugin) -- [LoadBinary Plugin](https://github.com/KN4CK3R/ReClass.NET-LoadBinaryPlugin) -- [Handle Abuser Plugin](https://github.com/KN4CK3R/ReClass.NET-HandleAbuser) -- [Unreal Plugin](https://github.com/DrP3pp3r/ReClass.NET-UnrealPlugin) (by [DrP3pp3r](https://github.com/DrP3pp3r)) - -To install a plugin just copy it in the "Plugins" folder. -If you want to develop your own plugin just learn from the code of the [Sample Plugins](https://github.com/KN4CK3R/ReClass.NET-SamplePlugin) and [Frostbite Plugin](https://github.com/KN4CK3R/ReClass.NET-FrostbitePlugin) repositories. If you have developed a nice plugin, leave me a message and I will add it to the list above. - -## Installation -Just download the [latest version](https://github.com/KN4CK3R/ReClass.NET/releases) and start the x86 / x64 version or let the launcher decide. - -## Tips -- Lots of elements have a context menu. Just right-click it and see what you can do there. -- The node window can be controlled with the keyboard too. Arrow keys can select other keys, combined with the shift key the nodes get selected. The menu key opens the context menu which itself can be controlled with the keyboard. -- The memory address field of a class can contain a real formula not just a fixed address. - - **\ + 0x123** will use the base address of Program.exe and add 0x123 to it. - **[0x4012ABDE]** will read the integer (4 byte on x86 / 8 byte on x64) from the address 0x4012ABDE and use this value as class address. - **[\ + 0xDE] - AB** will use the base address of Program.exe, add 0xDE to it, read the value from this address and finally sub 0xAB from it. - **[\ + offset + [\ + offset2]]** Nested operations are supported too. - - Valid operations are read ([..]), add (+), sub (-), mul (*) and div (/). Please note that all operations are integer calculations. - -## Compiling -If you want to compile ReClass.NET just fork the repository and open the ReClass.NET.sln file with Visual Studio 2017. -Compile the project and copy the dependencies to the output folder. - -## Videos - -[Youtube Playlist](https://www.youtube.com/playlist?list=PLO246BmtoITanq3ygMCL8_w0eov4D8hjk) - -## Screenshots -Process Selection -![](https://abload.de/img/processgya2k.jpg) - -Memory Viewer -![](https://abload.de/img/memoryviewerb4y1s.jpg) - -Memory Scanner -![](https://abload.de/img/scannerytub1.jpg) - -Pointer Preview -![](http://abload.de/img/memorypreview2gsfp.jpg) - -Code Generator -![](https://abload.de/img/codegeneratorqdat2.jpg) -![](https://abload.de/img/codegenerator24qzce.jpg) - -Plugins -![](https://abload.de/img/plugin1mda4r.jpg) -![](https://abload.de/img/plugin25dxk1.jpg) - -Settings -![](https://abload.de/img/settings8sz4b.jpg) +## ScreenShots +![](https://github.com/CorrM/ReClass.NET/raw/master/img/Class%20Compare.png) ## Authors / Special Thanks -- [KN4CK3R](https://github.com/KN4CK3R) -- DrUnKeN ChEeTaH -- P47R!CK -- DogMatt -- [Dude719](https://github.com/dude719) -- [IChooseYou](https://github.com/IChooseYou) -- [stevemk14ebr](https://github.com/stevemk14ebr) -- [Timboy67678](https://github.com/Timboy67678) -- [DarthTon](https://github.com/DarthTon) -- [ReUnioN](https://github.com/ReUnioN) -- leveln -- [buddyfavors](https://github.com/buddyfavors) -- [DrP3pp3r](https://github.com/DrP3pp3r) -- [ko1N](https://github.com/ko1N) \ No newline at end of file +- [Base Authors](https://github.com/ReClassNET/ReClass.NET/blob/master/README.md#authors--special-thanks) +- [CorrM](https://github.com/CorrM) diff --git a/ReClass.NET/AddressParser/TokenReader.cs b/ReClass.NET/AddressParser/TokenReader.cs index 963a9fa8..f2657118 100644 --- a/ReClass.NET/AddressParser/TokenReader.cs +++ b/ReClass.NET/AddressParser/TokenReader.cs @@ -70,13 +70,13 @@ public List Read(string formula) if (long.TryParse(buffer, NumberStyles.HexNumber, null, out var offsetValue)) { -#if RECLASSNET64 - var address = (IntPtr)offsetValue; -#else - var address = (IntPtr)unchecked((int)offsetValue); -#endif + IntPtr address; + if (Program.RemoteProcess.Is64) + address = (IntPtr)offsetValue; + else + address = (IntPtr)unchecked((int)offsetValue); - tokens.Add(new Token(TokenType.Offset, address)); + tokens.Add(new Token(TokenType.Offset, address)); isFormulaSubPart = false; } else diff --git a/ReClass.NET/CodeGenerator/CSharpCodeGenerator.cs b/ReClass.NET/CodeGenerator/CSharpCodeGenerator.cs index 14626dba..b01802d0 100644 --- a/ReClass.NET/CodeGenerator/CSharpCodeGenerator.cs +++ b/ReClass.NET/CodeGenerator/CSharpCodeGenerator.cs @@ -34,9 +34,14 @@ class CSharpCodeGenerator : ICodeGenerator [typeof(VTableNode)] = "IntPtr" }; - public Language Language => Language.CSharp; - - public string GenerateCode(IEnumerable classes, ILogger logger) + public Language Language => Language.CSharp; + public bool ptrIs64Bit { get; } + + public CSharpCodeGenerator(bool ptrIs64Bit) + { + this.ptrIs64Bit = ptrIs64Bit; + } + public string GenerateCode(IEnumerable classes, ILogger logger) { var sb = new StringBuilder(); sb.AppendLine($"// Created with {Constants.ApplicationName} by {Constants.Author}"); diff --git a/ReClass.NET/CodeGenerator/CppCodeGenerator.cs b/ReClass.NET/CodeGenerator/CppCodeGenerator.cs index b005496c..20b99f24 100644 --- a/ReClass.NET/CodeGenerator/CppCodeGenerator.cs +++ b/ReClass.NET/CodeGenerator/CppCodeGenerator.cs @@ -12,7 +12,7 @@ namespace ReClassNET.CodeGenerator { class CppCodeGenerator : ICodeGenerator { - private readonly Dictionary typeToTypedefMap = new Dictionary + private readonly Dictionary typeToTypedefMap = new Dictionary { [typeof(BoolNode)] = Program.Settings.TypeBool, [typeof(DoubleNode)] = Program.Settings.TypeDouble, @@ -41,10 +41,16 @@ class CppCodeGenerator : ICodeGenerator }; public Language Language => Language.Cpp; + public bool ptrIs64Bit { get; } - public string GenerateCode(IEnumerable classes, ILogger logger) + public CppCodeGenerator(bool ptrIs64Bit) + { + this.ptrIs64Bit = ptrIs64Bit; + } + + public string GenerateCode(IEnumerable classes, ILogger logger) { - var classNodes = classes as IList ?? classes.ToList(); + var classNodes = classes as IList ?? classes.ToList(); var sb = new StringBuilder(); sb.AppendLine($"// Created with {Constants.ApplicationName} by {Constants.Author}"); @@ -73,18 +79,36 @@ public string GenerateCode(IEnumerable classes, ILogger logger) } csb.AppendLine(); + List newNodes = new List(c.Nodes); + if (ptrIs64Bit && !Program.RemoteProcess.Is64) // Game Is x86 and user need ptrIs64Bit (8byte) + { + List IndexsToRmv = new List(); + for (int i = 0; i < newNodes.Count; i++) + { + if (newNodes[i] is ClassPtrNode) + { + IndexsToRmv.Add(i + 1); + i++; + } + } + + foreach (var item in IndexsToRmv) + if (item < newNodes.Count) + newNodes.RemoveAt(item); + } + csb.AppendLine("{"); csb.AppendLine("public:"); csb.AppendLine( string.Join( Environment.NewLine, - YieldMemberDefinitions(c.Nodes.Skip(skipFirstMember ? 1 : 0).WhereNot(n => n is FunctionNode), logger) + YieldMemberDefinitions(newNodes.Skip(skipFirstMember ? 1 : 0).WhereNot(n => n is FunctionNode), logger) .Select(MemberDefinitionToString) .Select(s => "\t" + s) ) ); - var vTableNodes = c.Nodes.OfType().ToList(); + var vTableNodes = newNodes.OfType().ToList(); if (vTableNodes.Any()) { csb.AppendLine(); @@ -225,7 +249,8 @@ private IEnumerable YieldMemberDefinitions(IEnumerableThe language this generator produces. - Language Language { get; } + bool ptrIs64Bit { get; } + /// The language this generator produces. + Language Language { get; } /// Generates code for the classes. /// The classes to generate code from. @@ -22,9 +23,11 @@ public interface ICodeGenerator [ContractClassFor(typeof(ICodeGenerator))] internal abstract class CodeGeneratorContract : ICodeGenerator { + public bool ptrIs64Bit => throw new NotImplementedException(); public Language Language => throw new NotImplementedException(); - public string GenerateCode(IEnumerable classes, ILogger logger) + + public string GenerateCode(IEnumerable classes, ILogger logger) { Contract.Requires(classes != null); Contract.Requires(Contract.ForAll(classes, c => c != null)); diff --git a/ReClass.NET/Constants.cs b/ReClass.NET/Constants.cs index e1abd568..c47ededf 100644 --- a/ReClass.NET/Constants.cs +++ b/ReClass.NET/Constants.cs @@ -18,17 +18,21 @@ public class Constants public const string PluginUrl = "https://github.com/KN4CK3R/ReClass.NET#plugins"; -#if RECLASSNET64 - public const string Platform = "x64"; + public static string Platform { get; set; } = "x64"; - public const string AddressHexFormat = "X016"; -#else - public const string Platform = "x86"; + public static string AddressHexFormat { get; set; } = "X016"; - public const string AddressHexFormat = "X08"; -#endif +//#if RECLASSNET64 +// public const string Platform = "x64"; - public const string SettingsFile = "settings.xml"; +// public const string AddressHexFormat = "X016"; +//#else +// public const string Platform = "x86"; + +// public const string AddressHexFormat = "X08"; +//#endif + + public const string SettingsFile = "settings.xml"; public const string PluginsFolder = "Plugins"; diff --git a/ReClass.NET/Core/CoreFunctionsManager.cs b/ReClass.NET/Core/CoreFunctionsManager.cs index a8fa0c68..b9a91135 100644 --- a/ReClass.NET/Core/CoreFunctionsManager.cs +++ b/ReClass.NET/Core/CoreFunctionsManager.cs @@ -124,9 +124,9 @@ public void EnumerateRemoteSectionsAndModules(IntPtr process, out List
EnumerateRemoteSectionsAndModules(process, sections.Add, modules.Add); } - public IntPtr OpenRemoteProcess(IntPtr pid, ProcessAccess desiredAccess) + public IntPtr OpenRemoteProcess(IntPtr pid, ProcessAccess desiredAccess, bool UseKernal = false, bool IsTargetProcess = false) { - return currentFunctions.OpenRemoteProcess(pid, desiredAccess); + return currentFunctions.OpenRemoteProcess(pid, desiredAccess, UseKernal, IsTargetProcess); } public bool IsProcessValid(IntPtr process) @@ -134,9 +134,9 @@ public bool IsProcessValid(IntPtr process) return currentFunctions.IsProcessValid(process); } - public void CloseRemoteProcess(IntPtr process) + public void CloseRemoteProcess(IntPtr process, uint targetProcessID) { - currentFunctions.CloseRemoteProcess(process); + currentFunctions.CloseRemoteProcess(process, targetProcessID); } public bool ReadRemoteMemory(IntPtr process, IntPtr address, ref byte[] buffer, int offset, int size) diff --git a/ReClass.NET/Core/ICoreProcessFunctions.cs b/ReClass.NET/Core/ICoreProcessFunctions.cs index 1c96f4df..3897afc6 100644 --- a/ReClass.NET/Core/ICoreProcessFunctions.cs +++ b/ReClass.NET/Core/ICoreProcessFunctions.cs @@ -13,11 +13,11 @@ public interface ICoreProcessFunctions void EnumerateRemoteSectionsAndModules(IntPtr process, EnumerateRemoteSectionCallback callbackSection, EnumerateRemoteModuleCallback callbackModule); - IntPtr OpenRemoteProcess(IntPtr pid, ProcessAccess desiredAccess); + IntPtr OpenRemoteProcess(IntPtr pid, ProcessAccess desiredAccess, bool UseKernal, bool IsTargetProcess); bool IsProcessValid(IntPtr process); - void CloseRemoteProcess(IntPtr process); + void CloseRemoteProcess(IntPtr process, uint targetProcessID); bool ReadRemoteMemory(IntPtr process, IntPtr address, ref byte[] buffer, int offset, int size); diff --git a/ReClass.NET/Core/NativeCoreWrapper.cs b/ReClass.NET/Core/NativeCoreWrapper.cs index 9ec1e24b..98064188 100644 --- a/ReClass.NET/Core/NativeCoreWrapper.cs +++ b/ReClass.NET/Core/NativeCoreWrapper.cs @@ -18,9 +18,9 @@ public class NativeCoreWrapper : ICoreProcessFunctions [return: MarshalAs(UnmanagedType.I1)] private delegate bool IsProcessValidDelegate(IntPtr process); - private delegate IntPtr OpenRemoteProcessDelegate(IntPtr pid, ProcessAccess desiredAccess); + private delegate IntPtr OpenRemoteProcessDelegate(IntPtr pid, ProcessAccess desiredAccess, bool UseKernal, bool IsTargetProcess); - private delegate void CloseRemoteProcessDelegate(IntPtr process); + private delegate void CloseRemoteProcessDelegate(IntPtr process, uint targetProcessID); [return: MarshalAs(UnmanagedType.I1)] private delegate bool ReadRemoteMemoryDelegate(IntPtr process, IntPtr address, [Out] byte[] buffer, int offset, int size); @@ -101,9 +101,9 @@ public void EnumerateRemoteSectionsAndModules(IntPtr process, EnumerateRemoteSec enumerateRemoteSectionsAndModulesDelegate(process, callbackSection, callbackModule); } - public IntPtr OpenRemoteProcess(IntPtr pid, ProcessAccess desiredAccess) + public IntPtr OpenRemoteProcess(IntPtr pid, ProcessAccess desiredAccess, bool UseKernal, bool IsTargetProcess) { - return openRemoteProcessDelegate(pid, desiredAccess); + return openRemoteProcessDelegate(pid, desiredAccess, UseKernal, IsTargetProcess); } public bool IsProcessValid(IntPtr process) @@ -111,9 +111,9 @@ public bool IsProcessValid(IntPtr process) return isProcessValidDelegate(process); } - public void CloseRemoteProcess(IntPtr process) + public void CloseRemoteProcess(IntPtr process, uint targetProcessID) { - closeRemoteProcessDelegate(process); + closeRemoteProcessDelegate(process, targetProcessID); } public bool ReadRemoteMemory(IntPtr process, IntPtr address, ref byte[] buffer, int offset, int size) diff --git a/ReClass.NET/DataExchange/ReClass/ReClassFile.cs b/ReClass.NET/DataExchange/ReClass/ReClassFile.cs index 18875ae8..7d575092 100644 --- a/ReClass.NET/DataExchange/ReClass/ReClassFile.cs +++ b/ReClass.NET/DataExchange/ReClass/ReClassFile.cs @@ -175,28 +175,42 @@ private IEnumerable ReadNodeElements(IEnumerable elements, C while (size != 0) { BaseNode paddingNode; -#if RECLASSNET64 - if (size >= 8) - { - paddingNode = new Hex64Node(); - } - else -#endif - if (size >= 4) - { - paddingNode = new Hex32Node(); - } - else if (size >= 2) - { - paddingNode = new Hex16Node(); - } - else - { - paddingNode = new Hex8Node(); - } + if (Program.RemoteProcess.Is64) + { + if (size >= 8) + { + paddingNode = new Hex64Node(); + } + else if (size >= 4) + { + paddingNode = new Hex32Node(); + } + else if (size >= 2) + { + paddingNode = new Hex16Node(); + } + else + { + paddingNode = new Hex8Node(); + } + } + else + { + if (size >= 4) + { + paddingNode = new Hex32Node(); + } + else if (size >= 2) + { + paddingNode = new Hex16Node(); + } + else + { + paddingNode = new Hex8Node(); + } + } paddingNode.Comment = node.Comment; - size -= paddingNode.MemorySize; yield return paddingNode; @@ -293,7 +307,7 @@ private static void TryGetAttributeValue(XElement element, string attribute, out /// Dummy node to represent the ReClass Custom node. private class CustomNode : BaseNode { - public override int MemorySize => throw new NotImplementedException(); + public override int MemorySize { get { throw new NotImplementedException(); } set { } } public override int CalculateDrawnHeight(ViewInfo view) { @@ -304,7 +318,12 @@ public override Size Draw(ViewInfo view, int x, int y) { throw new NotImplementedException(); } - } + + public override Size DrawCompare(ViewInfo view, int x, int y) + { + throw new NotImplementedException(); + } + } #region ReClass 2011 / ReClass 2013 diff --git a/ReClass.NET/Debugger/DataExchange.cs b/ReClass.NET/Debugger/DataExchange.cs index 176352ce..8ed7c5bf 100644 --- a/ReClass.NET/Debugger/DataExchange.cs +++ b/ReClass.NET/Debugger/DataExchange.cs @@ -15,7 +15,6 @@ public struct ExceptionDebugInfo [StructLayout(LayoutKind.Sequential, Pack = 1)] public struct RegisterInfo { -#if RECLASSNET64 public IntPtr Rax; public IntPtr Rbx; public IntPtr Rcx; @@ -34,7 +33,7 @@ public struct RegisterInfo public IntPtr R13; public IntPtr R14; public IntPtr R15; -#else + public IntPtr Eax; public IntPtr Ebx; public IntPtr Ecx; @@ -44,7 +43,6 @@ public struct RegisterInfo public IntPtr Esp; public IntPtr Ebp; public IntPtr Eip; -#endif }; public RegisterInfo Registers; diff --git a/ReClass.NET/Debugger/RemoteDebugger.cs b/ReClass.NET/Debugger/RemoteDebugger.cs index bb468553..e52bd1cd 100644 --- a/ReClass.NET/Debugger/RemoteDebugger.cs +++ b/ReClass.NET/Debugger/RemoteDebugger.cs @@ -131,51 +131,87 @@ private List SplitBreakpoint(IntPtr address, int size) while (size > 0) { -#if RECLASSNET64 - if (size >= 8) - { - if (address.Mod(8) == 0) - { - splits.Add(new BreakpointSplit { Address = address, Size = 8 }); - - address += 8; - size -= 8; - - continue; - } - } -#endif - if (size >= 4) - { - if (address.Mod(4) == 0) - { - splits.Add(new BreakpointSplit { Address = address, Size = 4 }); - - address += 4; - size -= 4; - - continue; - } - } - if (size >= 2) - { - if (address.Mod(2) == 0) - { - splits.Add(new BreakpointSplit { Address = address, Size = 2 }); - - address += 2; - size -= 2; - - continue; - } - } - if (size >= 1) - { - splits.Add(new BreakpointSplit { Address = address, Size = 1 }); - - address += 1; - size -= 1; - } + if (Program.RemoteProcess.Is64) + { + if (size >= 8) + { + if (address.Mod(8) == 0) + { + splits.Add(new BreakpointSplit { Address = address, Size = 8 }); + + address += 8; + size -= 8; + + continue; + } + } + + if (size >= 4) + { + if (address.Mod(4) == 0) + { + splits.Add(new BreakpointSplit { Address = address, Size = 4 }); + + address += 4; + size -= 4; + + continue; + } + } + if (size >= 2) + { + if (address.Mod(2) == 0) + { + splits.Add(new BreakpointSplit { Address = address, Size = 2 }); + + address += 2; + size -= 2; + + continue; + } + } + if (size >= 1) + { + splits.Add(new BreakpointSplit { Address = address, Size = 1 }); + + address += 1; + size -= 1; + } + } + else + { + if (size >= 4) + { + if (address.Mod(4) == 0) + { + splits.Add(new BreakpointSplit { Address = address, Size = 4 }); + + address += 4; + size -= 4; + + continue; + } + } + if (size >= 2) + { + if (address.Mod(2) == 0) + { + splits.Add(new BreakpointSplit { Address = address, Size = 2 }); + + address += 2; + size -= 2; + + continue; + } + } + if (size >= 1) + { + splits.Add(new BreakpointSplit { Address = address, Size = 1 }); + + address += 1; + size -= 1; + } + } } return splits; diff --git a/ReClass.NET/Extensions/BinaryReaderWriterExtensions.cs b/ReClass.NET/Extensions/BinaryReaderWriterExtensions.cs index fdae07f4..afa16119 100644 --- a/ReClass.NET/Extensions/BinaryReaderWriterExtensions.cs +++ b/ReClass.NET/Extensions/BinaryReaderWriterExtensions.cs @@ -9,23 +9,20 @@ public static class BinaryReaderWriterExtension public static IntPtr ReadIntPtr(this BinaryReader br) { Contract.Requires(br != null); - -#if RECLASSNET64 - return (IntPtr)br.ReadInt64(); -#else - return (IntPtr)br.ReadInt32(); -#endif + if (Program.RemoteProcess.Is64) + return (IntPtr)br.ReadInt64(); + else + return (IntPtr)br.ReadInt32(); } public static void Write(this BinaryWriter bw, IntPtr value) { Contract.Requires(bw != null); -#if RECLASSNET64 - bw.Write(value.ToInt64()); -#else - bw.Write(value.ToInt32()); -#endif + if (Program.RemoteProcess.Is64) + bw.Write(value.ToInt64()); + else + bw.Write(value.ToInt32()); } } } diff --git a/ReClass.NET/Extensions/IntPtrExtensions.cs b/ReClass.NET/Extensions/IntPtrExtensions.cs index 42ee257b..99f4c5d2 100644 --- a/ReClass.NET/Extensions/IntPtrExtensions.cs +++ b/ReClass.NET/Extensions/IntPtrExtensions.cs @@ -17,95 +17,61 @@ public static bool IsNull(this IntPtr ptr) [DebuggerStepThrough] public static bool MayBeValid(this IntPtr ptr) { -#if RECLASSNET64 - return ptr.InRange((IntPtr)0x10000, (IntPtr)long.MaxValue); -#else - return ptr.InRange((IntPtr)0x10000, (IntPtr)int.MaxValue); -#endif + return ptr.InRange((IntPtr)0x10000, (IntPtr)long.MaxValue); } [Pure] [DebuggerStepThrough] public static IntPtr Add(this IntPtr lhs, IntPtr rhs) { -#if RECLASSNET64 - return new IntPtr(lhs.ToInt64() + rhs.ToInt64()); -#else - return new IntPtr(lhs.ToInt32() + rhs.ToInt32()); -#endif - } + return new IntPtr(lhs.ToInt64() + rhs.ToInt64()); + } [Pure] [DebuggerStepThrough] public static IntPtr Sub(this IntPtr lhs, IntPtr rhs) { -#if RECLASSNET64 - return new IntPtr(lhs.ToInt64() - rhs.ToInt64()); -#else - return new IntPtr(lhs.ToInt32() - rhs.ToInt32()); -#endif + return new IntPtr(lhs.ToInt64() - rhs.ToInt64()); } [Pure] [DebuggerStepThrough] public static IntPtr Mul(this IntPtr lhs, IntPtr rhs) { -#if RECLASSNET64 - return new IntPtr(lhs.ToInt64() * rhs.ToInt64()); -#else - return new IntPtr(lhs.ToInt32() * rhs.ToInt32()); -#endif - } + return new IntPtr(lhs.ToInt64() * rhs.ToInt64()); + } [Pure] [DebuggerStepThrough] public static IntPtr Div(this IntPtr lhs, IntPtr rhs) { Contract.Requires(!rhs.IsNull()); - -#if RECLASSNET64 - return new IntPtr(lhs.ToInt64() / rhs.ToInt64()); -#else - return new IntPtr(lhs.ToInt32() / rhs.ToInt32()); -#endif + return new IntPtr(lhs.ToInt64() / rhs.ToInt64()); } [Pure] [DebuggerStepThrough] public static int Mod(this IntPtr lhs, int mod) { -#if RECLASSNET64 - return (int)(lhs.ToInt64() % mod); -#else - return lhs.ToInt32() % mod; -#endif + return (int)(lhs.ToInt64() % mod); } [Pure] [DebuggerStepThrough] public static bool InRange(this IntPtr address, IntPtr start, IntPtr end) { -#if RECLASSNET64 - var val = (ulong)address.ToInt64(); - return (ulong)start.ToInt64() <= val && val <= (ulong)end.ToInt64(); -#else - var val = (uint)address.ToInt32(); - return (uint)start.ToInt32() <= val && val <= (uint)end.ToInt32(); -#endif + var val = (ulong)address.ToInt64(); + return (ulong)start.ToInt64() <= val && val <= (ulong)end.ToInt64(); } [Pure] [DebuggerStepThrough] public static int CompareTo(this IntPtr lhs, IntPtr rhs) { -#if RECLASSNET64 - return ((ulong)lhs.ToInt64()).CompareTo((ulong)rhs.ToInt64()); -#else - return ((uint)lhs.ToInt32()).CompareTo((uint)rhs.ToInt32()); -#endif - } + return ((ulong)lhs.ToInt64()).CompareTo((ulong)rhs.ToInt64()); + } - [Pure] + [Pure] [DebuggerStepThrough] public static int CompareToRange(this IntPtr address, IntPtr start, IntPtr end) { @@ -127,22 +93,27 @@ public static int CompareToRange(this IntPtr address, IntPtr start, IntPtr end) [DebuggerStepThrough] public static long ToInt64Bits(this IntPtr ptr) { -#if RECLASSNET64 - return ptr.ToInt64(); -#else - var value = ptr.ToInt64(); + return ptr.ToInt64(); - if (value < 0) - { - var intValue = ptr.ToInt32(); - if (value == intValue) - { - value = intValue & 0xFFFFFFFFL; - } - } + //if (is64Bit) + //{ + // return ptr.ToInt64(); + //} + //else + //{ + // var value = ptr.ToInt64(); - return value; -#endif - } + // if (value < 0) + // { + // var intValue = ptr.ToInt32(); + // if (value == intValue) + // { + // value = intValue & 0xFFFFFFFFL; + // } + // } + + // return value; + //} + } } } diff --git a/ReClass.NET/Forms/ClassCompare.Designer.cs b/ReClass.NET/Forms/ClassCompare.Designer.cs new file mode 100644 index 00000000..109c7ad0 --- /dev/null +++ b/ReClass.NET/Forms/ClassCompare.Designer.cs @@ -0,0 +1,300 @@ +namespace ReClassNET.Forms +{ + partial class ClassCompare + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.bannerBox = new ReClassNET.UI.BannerBox(); + this.ClassBox = new System.Windows.Forms.ComboBox(); + this.label1 = new System.Windows.Forms.Label(); + this.addressPanel = new ReClassNET.UI.PanelWithScorllBar(); + this.Box2 = new ReClassNET.UI.PlaceholderTextBox(); + this.Box1 = new ReClassNET.UI.PlaceholderTextBox(); + this.addAddressBox = new System.Windows.Forms.Button(); + this.removeAddressBox = new System.Windows.Forms.Button(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.timer1 = new System.Windows.Forms.Timer(this.components); + this.LayoutPanel = new ReClassNET.UI.ScrollableSplitTable(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.PointerCheck = new System.Windows.Forms.CheckBox(); + this.ViewTypeBox = new System.Windows.Forms.ComboBox(); + this.ShowHexBox = new System.Windows.Forms.CheckBox(); + this.ShowHiddenBox = new System.Windows.Forms.CheckBox(); + this.checkBox1 = new System.Windows.Forms.CheckBox(); + this.checkBox3 = new System.Windows.Forms.CheckBox(); + ((System.ComponentModel.ISupportInitialize)(this.bannerBox)).BeginInit(); + this.addressPanel.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.groupBox3.SuspendLayout(); + this.SuspendLayout(); + // + // bannerBox + // + this.bannerBox.Dock = System.Windows.Forms.DockStyle.Top; + this.bannerBox.Icon = global::ReClassNET.Properties.Resources.compare32x32; + this.bannerBox.Location = new System.Drawing.Point(0, 0); + this.bannerBox.Name = "bannerBox"; + this.bannerBox.Size = new System.Drawing.Size(704, 48); + this.bannerBox.TabIndex = 4; + this.bannerBox.Text = "Compare memory based on class"; + this.bannerBox.Title = "Class Compare"; + // + // ClassBox + // + this.ClassBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.ClassBox.FormattingEnabled = true; + this.ClassBox.Location = new System.Drawing.Point(46, 16); + this.ClassBox.Name = "ClassBox"; + this.ClassBox.Size = new System.Drawing.Size(134, 21); + this.ClassBox.TabIndex = 0; + this.ClassBox.SelectedIndexChanged += new System.EventHandler(this.ClassBox_SelectedIndexChanged); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(6, 19); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(39, 13); + this.label1.TabIndex = 6; + this.label1.Text = "Class :"; + // + // addressPanel + // + this.addressPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.addressPanel.AutoScroll = true; + this.addressPanel.Controls.Add(this.Box2); + this.addressPanel.Controls.Add(this.Box1); + this.addressPanel.Location = new System.Drawing.Point(10, 96); + this.addressPanel.Name = "addressPanel"; + this.addressPanel.Size = new System.Drawing.Size(506, 45); + this.addressPanel.TabIndex = 1; + // + // Box2 + // + this.Box2.BackColor = System.Drawing.SystemColors.Window; + this.Box2.Font = new System.Drawing.Font("Tahoma", 8F); + this.Box2.ForeColor = System.Drawing.SystemColors.WindowText; + this.Box2.Location = new System.Drawing.Point(116, 4); + this.Box2.Name = "Box2"; + this.Box2.PlaceholderText = "Address"; + this.Box2.Size = new System.Drawing.Size(107, 20); + this.Box2.TabIndex = 1; + // + // Box1 + // + this.Box1.BackColor = System.Drawing.SystemColors.Window; + this.Box1.Font = new System.Drawing.Font("Tahoma", 8F); + this.Box1.ForeColor = System.Drawing.SystemColors.WindowText; + this.Box1.Location = new System.Drawing.Point(3, 4); + this.Box1.Name = "Box1"; + this.Box1.PlaceholderText = "Address"; + this.Box1.Size = new System.Drawing.Size(107, 20); + this.Box1.TabIndex = 0; + // + // addAddressBox + // + this.addAddressBox.Location = new System.Drawing.Point(182, 16); + this.addAddressBox.Name = "addAddressBox"; + this.addAddressBox.Size = new System.Drawing.Size(23, 21); + this.addAddressBox.TabIndex = 1; + this.addAddressBox.Text = "+"; + this.addAddressBox.UseVisualStyleBackColor = true; + this.addAddressBox.Click += new System.EventHandler(this.AddAddressBox_Click); + // + // removeAddressBox + // + this.removeAddressBox.Location = new System.Drawing.Point(206, 16); + this.removeAddressBox.Name = "removeAddressBox"; + this.removeAddressBox.Size = new System.Drawing.Size(23, 21); + this.removeAddressBox.TabIndex = 2; + this.removeAddressBox.Text = "-"; + this.removeAddressBox.UseVisualStyleBackColor = true; + this.removeAddressBox.Click += new System.EventHandler(this.RemoveAddressBox_Click); + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.label1); + this.groupBox2.Controls.Add(this.ClassBox); + this.groupBox2.Controls.Add(this.removeAddressBox); + this.groupBox2.Controls.Add(this.addAddressBox); + this.groupBox2.Location = new System.Drawing.Point(10, 49); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(232, 44); + this.groupBox2.TabIndex = 0; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "Compare Options"; + // + // timer1 + // + this.timer1.Enabled = true; + this.timer1.Tick += new System.EventHandler(this.timer1_Tick); + // + // LayoutPanel + // + this.LayoutPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.LayoutPanel.Location = new System.Drawing.Point(0, 147); + this.LayoutPanel.Name = "LayoutPanel"; + this.LayoutPanel.Size = new System.Drawing.Size(704, 303); + this.LayoutPanel.TabIndex = 6; + this.LayoutPanel.Scroll += new System.Windows.Forms.ScrollEventHandler(this.tableLayoutPanel1_Scroll); + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.PointerCheck); + this.groupBox3.Controls.Add(this.ViewTypeBox); + this.groupBox3.Location = new System.Drawing.Point(246, 49); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(270, 44); + this.groupBox3.TabIndex = 8; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "View Options"; + // + // PointerCheck + // + this.PointerCheck.AutoSize = true; + this.PointerCheck.Location = new System.Drawing.Point(163, 18); + this.PointerCheck.Name = "PointerCheck"; + this.PointerCheck.Size = new System.Drawing.Size(103, 17); + this.PointerCheck.TabIndex = 2; + this.PointerCheck.Text = "Include Pointers"; + this.PointerCheck.UseVisualStyleBackColor = true; + this.PointerCheck.CheckedChanged += new System.EventHandler(this.PointerCheck_CheckedChanged); + // + // ViewTypeBox + // + this.ViewTypeBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.ViewTypeBox.FormattingEnabled = true; + this.ViewTypeBox.Items.AddRange(new object[] { + "not mattar", + "value match", + "value not match"}); + this.ViewTypeBox.Location = new System.Drawing.Point(6, 16); + this.ViewTypeBox.Name = "ViewTypeBox"; + this.ViewTypeBox.Size = new System.Drawing.Size(151, 21); + this.ViewTypeBox.TabIndex = 1; + this.ViewTypeBox.SelectedIndexChanged += new System.EventHandler(this.ViewTypeBox_SelectedIndexChanged); + // + // ShowHexBox + // + this.ShowHexBox.AutoSize = true; + this.ShowHexBox.Location = new System.Drawing.Point(522, 55); + this.ShowHexBox.Name = "ShowHexBox"; + this.ShowHexBox.Size = new System.Drawing.Size(74, 17); + this.ShowHexBox.TabIndex = 9; + this.ShowHexBox.Text = "Show Hex"; + this.ShowHexBox.UseVisualStyleBackColor = true; + this.ShowHexBox.CheckedChanged += new System.EventHandler(this.ShowHexBox_CheckedChanged); + // + // ShowHiddenBox + // + this.ShowHiddenBox.AutoSize = true; + this.ShowHiddenBox.Location = new System.Drawing.Point(522, 76); + this.ShowHiddenBox.Name = "ShowHiddenBox"; + this.ShowHiddenBox.Size = new System.Drawing.Size(88, 17); + this.ShowHiddenBox.TabIndex = 10; + this.ShowHiddenBox.Text = "Show Hidden"; + this.ShowHiddenBox.UseVisualStyleBackColor = true; + this.ShowHiddenBox.CheckedChanged += new System.EventHandler(this.ShowHiddenBox_CheckedChanged); + // + // checkBox1 + // + this.checkBox1.AutoSize = true; + this.checkBox1.Enabled = false; + this.checkBox1.Location = new System.Drawing.Point(613, 55); + this.checkBox1.Name = "checkBox1"; + this.checkBox1.Size = new System.Drawing.Size(82, 17); + this.checkBox1.TabIndex = 11; + this.checkBox1.Text = "Nothing Yet"; + this.checkBox1.UseVisualStyleBackColor = true; + // + // checkBox3 + // + this.checkBox3.AutoSize = true; + this.checkBox3.Enabled = false; + this.checkBox3.Location = new System.Drawing.Point(613, 76); + this.checkBox3.Name = "checkBox3"; + this.checkBox3.Size = new System.Drawing.Size(82, 17); + this.checkBox3.TabIndex = 12; + this.checkBox3.Text = "Nothing Yet"; + this.checkBox3.UseVisualStyleBackColor = true; + // + // ClassCompare + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(704, 450); + this.Controls.Add(this.checkBox3); + this.Controls.Add(this.checkBox1); + this.Controls.Add(this.ShowHiddenBox); + this.Controls.Add(this.ShowHexBox); + this.Controls.Add(this.groupBox3); + this.Controls.Add(this.LayoutPanel); + this.Controls.Add(this.groupBox2); + this.Controls.Add(this.addressPanel); + this.Controls.Add(this.bannerBox); + this.MinimumSize = new System.Drawing.Size(720, 489); + this.Name = "ClassCompare"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "ReClass.NET - Class Compare"; + this.Load += new System.EventHandler(this.ClassCompare_Load); + ((System.ComponentModel.ISupportInitialize)(this.bannerBox)).EndInit(); + this.addressPanel.ResumeLayout(false); + this.addressPanel.PerformLayout(); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.groupBox3.ResumeLayout(false); + this.groupBox3.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + private UI.BannerBox bannerBox; + private System.Windows.Forms.ComboBox ClassBox; + private System.Windows.Forms.Label label1; + private UI.PanelWithScorllBar addressPanel; + private System.Windows.Forms.Button addAddressBox; + private System.Windows.Forms.Button removeAddressBox; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.Timer timer1; + private UI.ScrollableSplitTable LayoutPanel; + private UI.PlaceholderTextBox Box2; + private UI.PlaceholderTextBox Box1; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.ComboBox ViewTypeBox; + private System.Windows.Forms.CheckBox PointerCheck; + private System.Windows.Forms.CheckBox ShowHexBox; + private System.Windows.Forms.CheckBox ShowHiddenBox; + private System.Windows.Forms.CheckBox checkBox1; + private System.Windows.Forms.CheckBox checkBox3; + } +} \ No newline at end of file diff --git a/ReClass.NET/Forms/ClassCompare.cs b/ReClass.NET/Forms/ClassCompare.cs new file mode 100644 index 00000000..c0c66756 --- /dev/null +++ b/ReClass.NET/Forms/ClassCompare.cs @@ -0,0 +1,263 @@ +using ReClassNET.Memory; +using ReClassNET.Nodes; +using ReClassNET.UI; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Diagnostics; +using System.Diagnostics.Contracts; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ReClassNET.Forms +{ + public partial class ClassCompare : IconForm + { + struct CompareItem + { + public PlaceholderTextBox AddressBox; + public MemoryCompareControl ViewBox; + } + + private List CompareItems; + private IEnumerable Classes; + + public ClassCompare(IEnumerable classes) + { + Contract.Requires(classes != null); + InitializeComponent(); + + // Init + Classes = classes; + CompareItems = new List(); + var ViewBox1 = new MemoryCompareControl() + { + Name = "ViewBox1", + Dock = DockStyle.Fill, + Memory = new MemoryBuffer() { Process = Program.RemoteProcess }, + ShowOptions = new CompareOptions(), + AutoScroll = false, + AutoSize = false + }; + var ViewBox2 = new MemoryCompareControl() + { + Name = "ViewBox2", + Dock = DockStyle.Fill, + Memory = new MemoryBuffer() { Process = Program.RemoteProcess }, + ShowOptions = new CompareOptions(), + AutoScroll = false, + AutoSize = false + }; + + // Events + ViewBox1.Leave += ViewBox_Leave; + ViewBox2.Leave += ViewBox_Leave; + + Box1.TextChanged += AddressBox_TextChanged; + Box2.TextChanged += AddressBox_TextChanged; + + // Add To Panel + // LayoutPanel.Panel.ColumnStyles.Add(new ColumnStyle() { SizeType = SizeType.Percent, Width = 50 }); + LayoutPanel.Panel.Controls.Add(ViewBox1, 0, 0); + LayoutPanel.Panel.ColumnStyles.Add(new ColumnStyle() { SizeType = SizeType.Absolute, Width = 150 }); + LayoutPanel.Panel.Controls.Add(ViewBox2, 1, 0); + + // Fill Info + ClassBox.Items.AddRange(classes.Select(t => t.Name).ToArray()); + CompareItems.Add(new CompareItem() { AddressBox = Box1, ViewBox = ViewBox1 }); + CompareItems.Add(new CompareItem() { AddressBox = Box2, ViewBox = ViewBox2 }); + + // Some Settings + LayoutPanel.VerticalScroll.Visible = true; + LayoutPanel.HorizontalScroll.Visible = true; + } + + protected override void OnLoad(EventArgs e) + { + base.OnLoad(e); + + GlobalWindowManager.AddWindow(this); + } + + protected override void OnFormClosed(FormClosedEventArgs e) + { + base.OnFormClosed(e); + + GlobalWindowManager.RemoveWindow(this); + } + + [DebuggerStepThrough] + private void ExecAllViewBox(Action action) + { + foreach (var item in CompareItems.Select(i => i.ViewBox)) + { + action?.Invoke(item); + } + } + + private void ClassCompare_Load(object sender, EventArgs e) + { + ClassBox.SelectedIndex = 0; + ViewTypeBox.SelectedIndex = 0; + } + + private void AddAddressBox_Click(object sender, EventArgs e) + { + // Get Some Info + var lastItem = CompareItems.Last(); + var newLoc = lastItem.AddressBox.Location; newLoc.X += lastItem.AddressBox.Size.Width + 6; + var klass = Classes.FirstOrDefault(c => c.Name == ClassBox.Text); + + // AddressBox + var newBox = new PlaceholderTextBox + { + Name = $"Box{CompareItems.Count + 1}", + Location = newLoc, + PlaceholderText = "Address", + Text = klass.Offset.ToString("X2") + }; + newBox.TextChanged += AddressBox_TextChanged; + + // ViewBox + var viewBox = new MemoryCompareControl() + { + Name = $"ViewBox{CompareItems.Count}", + Dock = DockStyle.Fill, + Memory = new MemoryBuffer() { Process = Program.RemoteProcess }, + ShowOptions = new CompareOptions(), + ClassNode = Classes.FirstOrDefault(c => c.Name == ClassBox.Text) + }; + viewBox.Leave += ViewBox_Leave; + + // Add To List + CompareItems.Add(new CompareItem() { AddressBox = newBox, ViewBox = viewBox }); + + // Add Controls + addressPanel.Controls.Add(newBox); + LayoutPanel.Panel.ColumnStyles.Add(new ColumnStyle() { SizeType = SizeType.Absolute, Width = 150 }); + LayoutPanel.Panel.Controls.Add(viewBox, CompareItems.Count - 1, 0); + + // Update ViewBox + viewBox.Invalidate(); + } + + private void ViewBox_Leave(object sender, EventArgs e) + { + if (!(sender is MemoryCompareControl viewBox)) + return; + + // DeSelect + foreach (var item in viewBox.SelectedNodes) + item.ClearSelection(); + } + + private void RemoveAddressBox_Click(object sender, EventArgs e) + { + // Minmum boxs is 2 + if (CompareItems.Count <= 2) return; + + // Remove AddressBox + int index = CompareItems.FindIndex(a => a.AddressBox.Name == $"Box{CompareItems.Count}"); + addressPanel.Controls.RemoveAt(index); + LayoutPanel.Panel.Controls.RemoveAt(index); + CompareItems.RemoveAt(index); + } + + private void timer1_Tick(object sender, EventArgs e) + { + Contract.Ensures(CompareItems[0].ViewBox != null); + + LayoutPanel.VerticalScroll.LargeChange = CompareItems[0].ViewBox.VerticalScroll.LargeChange; + LayoutPanel.VerticalScroll.Maximum = CompareItems[0].ViewBox.VerticalScroll.Maximum; + LayoutPanel.HorizontalScroll.LargeChange = CompareItems[0].ViewBox.HorizontalScroll.LargeChange; + LayoutPanel.HorizontalScroll.Maximum = CompareItems[0].ViewBox.HorizontalScroll.Maximum; + + var Other = CompareItems.Select(t => t.ViewBox.Memory).ToList(); + foreach (var item in CompareItems.Select(i => i.ViewBox)) + { + item.OtherMemoryBuffer = Other; + } + } + + private void tableLayoutPanel1_Scroll(object sender, ScrollEventArgs e) + { + ExecAllViewBox(item => + { + switch (e.ScrollOrientation) + { + case ScrollOrientation.HorizontalScroll: + item.HorizontalScroll.Value = e.NewValue; + break; + case ScrollOrientation.VerticalScroll: + item.VerticalScroll.Value = e.NewValue; + break; + } + }); + } + + private void ClassBox_SelectedIndexChanged(object sender, EventArgs e) + { + var klass = Classes.FirstOrDefault(c => c.Name == ClassBox.Text); + + foreach (var item in CompareItems.Select(i => i.AddressBox)) + { + if (string.IsNullOrWhiteSpace(item.Text)) + item.Text = klass.Offset.ToString("X2"); + } + + foreach (var item in CompareItems) + { + // item.VerticalScroll.Visible = true; + // item.HorizontalScroll.Visible = true; + IntPtr newOffset = klass.Offset; + try { newOffset = new IntPtr(Convert.ToInt32(item.AddressBox.Text, 16)); } catch (Exception) { } + item.ViewBox.ClassNode = klass; + item.ViewBox.ClassOffset = newOffset; + item.ViewBox.Invalidate(); + } + } + + private void ViewTypeBox_SelectedIndexChanged(object sender, EventArgs e) + { + foreach (var item in CompareItems.Select(i => i.ViewBox)) + { + item.ViewType = (MemoryCompareControl.ViewTypes)ViewTypeBox.SelectedIndex; + } + } + + private void AddressBox_TextChanged(object sender, EventArgs e) + { + if (!(sender is PlaceholderTextBox AddressBox)) + return; + + var ci = CompareItems.Find(c => c.AddressBox.Name == AddressBox.Name); + + var klass = Classes.FirstOrDefault(c => c.Name == ClassBox.Text); + IntPtr newOffset = klass.Offset; + try { newOffset = new IntPtr(Convert.ToInt32(ci.AddressBox.Text, 16)); } catch (Exception) { } + ci.ViewBox.ClassOffset = newOffset; + } + + private void PointerCheck_CheckedChanged(object sender, EventArgs e) + { + foreach (var item in CompareItems.Select(i => i.ViewBox)) + { + item.ShowOptions.ComparePointer = PointerCheck.Checked; + } + } + + private void ShowHexBox_CheckedChanged(object sender, EventArgs e) + { + ExecAllViewBox(item => item.ShowOptions.ShowHex = ShowHexBox.Checked); + } + + private void ShowHiddenBox_CheckedChanged(object sender, EventArgs e) + { + ExecAllViewBox(item => item.ShowOptions.ShowHidden = ShowHiddenBox.Checked); + } + } +} diff --git a/ReClass.NET/Forms/ClassCompare.resx b/ReClass.NET/Forms/ClassCompare.resx new file mode 100644 index 00000000..1f666f26 --- /dev/null +++ b/ReClass.NET/Forms/ClassCompare.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/ReClass.NET/Forms/CodeForm.Designer.cs b/ReClass.NET/Forms/CodeForm.Designer.cs index fee807e4..a0484dc7 100644 --- a/ReClass.NET/Forms/CodeForm.Designer.cs +++ b/ReClass.NET/Forms/CodeForm.Designer.cs @@ -28,45 +28,45 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - this.bannerBox = new ReClassNET.UI.BannerBox(); - this.codeRichTextBox = new System.Windows.Forms.RichTextBox(); - ((System.ComponentModel.ISupportInitialize)(this.bannerBox)).BeginInit(); - this.SuspendLayout(); - // - // bannerBox - // - this.bannerBox.Dock = System.Windows.Forms.DockStyle.Top; - this.bannerBox.Icon = global::ReClassNET.Properties.Resources.B32x32_Page_Code; - this.bannerBox.Location = new System.Drawing.Point(0, 0); - this.bannerBox.Name = "bannerBox"; - this.bannerBox.Size = new System.Drawing.Size(629, 48); - this.bannerBox.TabIndex = 2; - this.bannerBox.Text = "The classes transformed into source code."; - this.bannerBox.Title = "Code Generator"; - // - // codeRichTextBox - // - this.codeRichTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.codeRichTextBox.Dock = System.Windows.Forms.DockStyle.Fill; - this.codeRichTextBox.Location = new System.Drawing.Point(0, 48); - this.codeRichTextBox.Name = "codeRichTextBox"; - this.codeRichTextBox.Size = new System.Drawing.Size(629, 390); - this.codeRichTextBox.TabIndex = 3; - this.codeRichTextBox.Text = ""; - // - // CodeForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(629, 438); - this.Controls.Add(this.codeRichTextBox); - this.Controls.Add(this.bannerBox); - this.MinimumSize = new System.Drawing.Size(350, 185); - this.Name = "CodeForm"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "ReClass.NET - Code Generator"; - ((System.ComponentModel.ISupportInitialize)(this.bannerBox)).EndInit(); - this.ResumeLayout(false); + this.bannerBox = new ReClassNET.UI.BannerBox(); + this.codeRichTextBox = new System.Windows.Forms.RichTextBox(); + ((System.ComponentModel.ISupportInitialize)(this.bannerBox)).BeginInit(); + this.SuspendLayout(); + // + // bannerBox + // + this.bannerBox.Dock = System.Windows.Forms.DockStyle.Top; + this.bannerBox.Icon = global::ReClassNET.Properties.Resources.B32x32_Page_Code; + this.bannerBox.Location = new System.Drawing.Point(0, 0); + this.bannerBox.Name = "bannerBox"; + this.bannerBox.Size = new System.Drawing.Size(629, 48); + this.bannerBox.TabIndex = 2; + this.bannerBox.Text = "The classes transformed into source code."; + this.bannerBox.Title = "Code Generator"; + // + // codeRichTextBox + // + this.codeRichTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.codeRichTextBox.Dock = System.Windows.Forms.DockStyle.Fill; + this.codeRichTextBox.Location = new System.Drawing.Point(0, 48); + this.codeRichTextBox.Name = "codeRichTextBox"; + this.codeRichTextBox.Size = new System.Drawing.Size(629, 390); + this.codeRichTextBox.TabIndex = 3; + this.codeRichTextBox.Text = ""; + // + // CodeForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(629, 438); + this.Controls.Add(this.codeRichTextBox); + this.Controls.Add(this.bannerBox); + this.MinimumSize = new System.Drawing.Size(350, 185); + this.Name = "CodeForm"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "ReClass.NET - Code Generator"; + ((System.ComponentModel.ISupportInitialize)(this.bannerBox)).EndInit(); + this.ResumeLayout(false); } diff --git a/ReClass.NET/Forms/CodeForm.cs b/ReClass.NET/Forms/CodeForm.cs index d6b08984..b0fc12c1 100644 --- a/ReClass.NET/Forms/CodeForm.cs +++ b/ReClass.NET/Forms/CodeForm.cs @@ -28,6 +28,9 @@ public CodeForm(ICodeGenerator generator, IEnumerable classes, ILogge codeRichTextBox.SetInnerPadding(5, 5, 5, 5); + if (generator.ptrIs64Bit) + Text += $" Pointer Is (8Byte)"; + var code = generator.GenerateCode(classes, logger); var buffer = new StringBuilder(code.Length * 2); @@ -58,9 +61,9 @@ protected override void OnFormClosed(FormClosedEventArgs e) GlobalWindowManager.RemoveWindow(this); } - } + } - internal class RtfFormatter : IFormatter + internal class RtfFormatter : IFormatter { private readonly RtfBuilder builder = new RtfBuilder(RtfFont.Consolas, 20); diff --git a/ReClass.NET/Forms/FoundCodeForm.cs b/ReClass.NET/Forms/FoundCodeForm.cs index 68ccd141..0267b17f 100644 --- a/ReClass.NET/Forms/FoundCodeForm.cs +++ b/ReClass.NET/Forms/FoundCodeForm.cs @@ -102,36 +102,39 @@ private void foundCodeDataGridView_SelectionChanged(object sender, EventArgs e) sb.AppendLine(); -#if RECLASSNET64 - sb.AppendLine($"RAX = {info.DebugInfo.Registers.Rax.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"RBX = {info.DebugInfo.Registers.Rbx.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"RCX = {info.DebugInfo.Registers.Rcx.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"RDX = {info.DebugInfo.Registers.Rdx.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"RDI = {info.DebugInfo.Registers.Rdi.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"RSI = {info.DebugInfo.Registers.Rsi.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"RSP = {info.DebugInfo.Registers.Rsp.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"RBP = {info.DebugInfo.Registers.Rbp.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"RIP = {info.DebugInfo.Registers.Rip.ToString(Constants.AddressHexFormat)}"); - - sb.AppendLine($"R8 = {info.DebugInfo.Registers.R8.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"R9 = {info.DebugInfo.Registers.R9.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"R10 = {info.DebugInfo.Registers.R10.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"R11 = {info.DebugInfo.Registers.R11.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"R12 = {info.DebugInfo.Registers.R12.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"R13 = {info.DebugInfo.Registers.R13.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"R14 = {info.DebugInfo.Registers.R14.ToString(Constants.AddressHexFormat)}"); - sb.Append($"R15 = {info.DebugInfo.Registers.R15.ToString(Constants.AddressHexFormat)}"); -#else - sb.AppendLine($"EAX = {info.DebugInfo.Registers.Eax.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"EBX = {info.DebugInfo.Registers.Ebx.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"ECX = {info.DebugInfo.Registers.Ecx.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"EDX = {info.DebugInfo.Registers.Edx.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"EDI = {info.DebugInfo.Registers.Edi.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"ESI = {info.DebugInfo.Registers.Esi.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"ESP = {info.DebugInfo.Registers.Esp.ToString(Constants.AddressHexFormat)}"); - sb.AppendLine($"EBP = {info.DebugInfo.Registers.Ebp.ToString(Constants.AddressHexFormat)}"); - sb.Append($"EIP = {info.DebugInfo.Registers.Eip.ToString(Constants.AddressHexFormat)}"); -#endif + if (Program.RemoteProcess.Is64) + { + sb.AppendLine($"RAX = {info.DebugInfo.Registers.Rax.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"RBX = {info.DebugInfo.Registers.Rbx.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"RCX = {info.DebugInfo.Registers.Rcx.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"RDX = {info.DebugInfo.Registers.Rdx.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"RDI = {info.DebugInfo.Registers.Rdi.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"RSI = {info.DebugInfo.Registers.Rsi.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"RSP = {info.DebugInfo.Registers.Rsp.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"RBP = {info.DebugInfo.Registers.Rbp.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"RIP = {info.DebugInfo.Registers.Rip.ToString(Constants.AddressHexFormat)}"); + + sb.AppendLine($"R8 = {info.DebugInfo.Registers.R8.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"R9 = {info.DebugInfo.Registers.R9.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"R10 = {info.DebugInfo.Registers.R10.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"R11 = {info.DebugInfo.Registers.R11.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"R12 = {info.DebugInfo.Registers.R12.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"R13 = {info.DebugInfo.Registers.R13.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"R14 = {info.DebugInfo.Registers.R14.ToString(Constants.AddressHexFormat)}"); + sb.Append($"R15 = {info.DebugInfo.Registers.R15.ToString(Constants.AddressHexFormat)}"); + } + else + { + sb.AppendLine($"EAX = {info.DebugInfo.Registers.Eax.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"EBX = {info.DebugInfo.Registers.Ebx.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"ECX = {info.DebugInfo.Registers.Ecx.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"EDX = {info.DebugInfo.Registers.Edx.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"EDI = {info.DebugInfo.Registers.Edi.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"ESI = {info.DebugInfo.Registers.Esi.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"ESP = {info.DebugInfo.Registers.Esp.ToString(Constants.AddressHexFormat)}"); + sb.AppendLine($"EBP = {info.DebugInfo.Registers.Ebp.ToString(Constants.AddressHexFormat)}"); + sb.Append($"EIP = {info.DebugInfo.Registers.Eip.ToString(Constants.AddressHexFormat)}"); + } infoTextBox.Text = sb.ToString(); } diff --git a/ReClass.NET/Forms/IconForm.cs b/ReClass.NET/Forms/IconForm.cs deleted file mode 100644 index 5184adb7..00000000 --- a/ReClass.NET/Forms/IconForm.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.Windows.Forms; - -namespace ReClassNET.Forms -{ - public class IconForm : Form - { - public IconForm() - { - Icon = Properties.Resources.ReClassNet; - } - } -} diff --git a/ReClass.NET/Forms/MainForm.Designer.cs b/ReClass.NET/Forms/MainForm.Designer.cs index 8caf3da7..c3e9fdef 100644 --- a/ReClass.NET/Forms/MainForm.Designer.cs +++ b/ReClass.NET/Forms/MainForm.Designer.cs @@ -28,174 +28,177 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); - this.processUpdateTimer = new System.Windows.Forms.Timer(this.components); - this.splitContainer = new System.Windows.Forms.SplitContainer(); - this.classesView = new ReClassNET.UI.ClassNodeView(); - this.memoryViewControl = new ReClassNET.UI.MemoryViewControl(); - this.toolStrip = new System.Windows.Forms.ToolStrip(); - this.attachToProcessToolStripSplitButton = new System.Windows.Forms.ToolStripSplitButton(); - this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); - this.openProjectToolStripButton = new System.Windows.Forms.ToolStripButton(); - this.saveToolStripButton = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); - this.newClassToolStripButton = new System.Windows.Forms.ToolStripButton(); - this.addBytesToolStripDropDownButton = new System.Windows.Forms.ToolStripDropDownButton(); - this.add4BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.add8BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.add64BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.add256BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.add1024BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.add2048BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.add4096BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.addXBytesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.insertBytesToolStripDropDownButton = new System.Windows.Forms.ToolStripDropDownButton(); - this.insert4BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.insert8BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.insert64BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.insert256BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.insert1024BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.insert2048BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.insert4096BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.insertXBytesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator(); - this.hex64ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.hex32ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.hex16ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.hex8ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator(); - this.int64ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.int32ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.int16ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.int8ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator(); - this.uint64ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.uint32ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.uint16ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.uint8ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator(); - this.boolToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.bitFieldToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.toolStripSeparator18 = new System.Windows.Forms.ToolStripSeparator(); - this.floatToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.doubleToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator(); - this.vec4ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.vec3ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.vec2ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.mat44ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.mat34ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.mat33ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator(); - this.utf8TextToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.utf8TextPtrToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.utf16TextToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.utf16TextPtrToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.toolStripSeparator14 = new System.Windows.Forms.ToolStripSeparator(); - this.classInstanceToolStripButton6 = new ReClassNET.UI.TypeToolStripButton(); - this.classPtrToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.toolStripSeparator15 = new System.Windows.Forms.ToolStripSeparator(); - this.arrayToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.ptrArrayToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.vtableToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.fnPtrToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.fnTypeToolStripButton = new ReClassNET.UI.TypeToolStripButton(); - this.toolStripSeparator19 = new System.Windows.Forms.ToolStripSeparator(); - this.statusStrip = new System.Windows.Forms.StatusStrip(); - this.processInfoToolStripStatusLabel = new System.Windows.Forms.ToolStripStatusLabel(); - this.infoToolStripStatusLabel = new System.Windows.Forms.ToolStripStatusLabel(); - this.mainMenuStrip = new System.Windows.Forms.MenuStrip(); - this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.attachToProcessToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.reattachToProcessToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.detachToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.openProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.mergeWithProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.clearProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); - this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); - this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.pluginsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); - this.quitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.processToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.processInformationsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.memorySearcherToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator17 = new System.Windows.Forms.ToolStripSeparator(); - this.loadSymbolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.loadSymbolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); - this.resumeProcessToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.suspendProcessToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.terminateProcessToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.namedAddressesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.projectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.cleanUnusedClassesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator16 = new System.Windows.Forms.ToolStripSeparator(); - this.generateCppCodeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.generateCSharpCodeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit(); - this.splitContainer.Panel1.SuspendLayout(); - this.splitContainer.Panel2.SuspendLayout(); - this.splitContainer.SuspendLayout(); - this.toolStrip.SuspendLayout(); - this.statusStrip.SuspendLayout(); - this.mainMenuStrip.SuspendLayout(); - this.SuspendLayout(); - // - // processUpdateTimer - // - this.processUpdateTimer.Enabled = true; - this.processUpdateTimer.Interval = 5000; - this.processUpdateTimer.Tick += new System.EventHandler(this.processUpdateTimer_Tick); - // - // splitContainer - // - this.splitContainer.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; - this.splitContainer.Location = new System.Drawing.Point(0, 49); - this.splitContainer.Name = "splitContainer"; - // - // splitContainer.Panel1 - // - this.splitContainer.Panel1.Controls.Add(this.classesView); - // - // splitContainer.Panel2 - // - this.splitContainer.Panel2.BackColor = System.Drawing.SystemColors.Control; - this.splitContainer.Panel2.Controls.Add(this.memoryViewControl); - this.splitContainer.Size = new System.Drawing.Size(1141, 524); - this.splitContainer.SplitterDistance = 201; - this.splitContainer.TabIndex = 4; - // - // classesView - // - this.classesView.Dock = System.Windows.Forms.DockStyle.Fill; - this.classesView.Location = new System.Drawing.Point(0, 0); - this.classesView.Name = "classesView"; - this.classesView.Size = new System.Drawing.Size(201, 524); - this.classesView.TabIndex = 0; - this.classesView.SelectionChanged += new ReClassNET.UI.ClassNodeView.SelectionChangedEvent(this.classesView_ClassSelected); - // - // memoryViewControl - // - this.memoryViewControl.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.memoryViewControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.memoryViewControl.Location = new System.Drawing.Point(0, 0); - this.memoryViewControl.Name = "memoryViewControl"; - this.memoryViewControl.Size = new System.Drawing.Size(936, 524); - this.memoryViewControl.TabIndex = 0; - this.memoryViewControl.SelectionChanged += new System.EventHandler(this.memoryViewControl_SelectionChanged); - // - // toolStrip - // - this.toolStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.processUpdateTimer = new System.Windows.Forms.Timer(this.components); + this.splitContainer = new System.Windows.Forms.SplitContainer(); + this.classesView = new ReClassNET.UI.ClassNodeView(); + this.memoryViewControl = new ReClassNET.UI.MemoryViewControl(); + this.toolStrip = new System.Windows.Forms.ToolStrip(); + this.attachToProcessToolStripSplitButton = new System.Windows.Forms.ToolStripSplitButton(); + this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); + this.openProjectToolStripButton = new System.Windows.Forms.ToolStripButton(); + this.saveToolStripButton = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); + this.newClassToolStripButton = new System.Windows.Forms.ToolStripButton(); + this.addBytesToolStripDropDownButton = new System.Windows.Forms.ToolStripDropDownButton(); + this.add4BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.add8BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.add64BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.add256BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.add1024BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.add2048BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.add4096BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.addXBytesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.insertBytesToolStripDropDownButton = new System.Windows.Forms.ToolStripDropDownButton(); + this.insert4BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.insert8BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.insert64BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.insert256BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.insert1024BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.insert2048BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.insert4096BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.insertXBytesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator(); + this.hex64ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.hex32ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.hex16ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.hex8ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator(); + this.int64ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.int32ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.int16ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.int8ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator(); + this.uint64ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.uint32ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.uint16ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.uint8ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator(); + this.boolToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.bitFieldToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.toolStripSeparator18 = new System.Windows.Forms.ToolStripSeparator(); + this.floatToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.doubleToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator(); + this.vec4ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.vec3ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.vec2ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.mat44ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.mat34ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.mat33ToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator(); + this.utf8TextToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.utf8TextPtrToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.utf16TextToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.utf16TextPtrToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.toolStripSeparator14 = new System.Windows.Forms.ToolStripSeparator(); + this.classInstanceToolStripButton6 = new ReClassNET.UI.TypeToolStripButton(); + this.classPtrToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.toolStripSeparator15 = new System.Windows.Forms.ToolStripSeparator(); + this.arrayToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.ptrArrayToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.vtableToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.fnPtrToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.fnTypeToolStripButton = new ReClassNET.UI.TypeToolStripButton(); + this.toolStripSeparator19 = new System.Windows.Forms.ToolStripSeparator(); + this.statusStrip = new System.Windows.Forms.StatusStrip(); + this.processInfoToolStripStatusLabel = new System.Windows.Forms.ToolStripStatusLabel(); + this.infoToolStripStatusLabel = new System.Windows.Forms.ToolStripStatusLabel(); + this.mainMenuStrip = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.attachToProcessToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.reattachToProcessToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.detachToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.openProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.mergeWithProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clearProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.pluginsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); + this.quitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.processToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.processInformationsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.memorySearcherToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.namedAddressesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.classCompareToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator17 = new System.Windows.Forms.ToolStripSeparator(); + this.loadSymbolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.loadSymbolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); + this.resumeProcessToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.suspendProcessToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.terminateProcessToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.projectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.addNewClassToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator20 = new System.Windows.Forms.ToolStripSeparator(); + this.cleanUnusedClassesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator16 = new System.Windows.Forms.ToolStripSeparator(); + this.generateCppCodeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.generateCSharpCodeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit(); + this.splitContainer.Panel1.SuspendLayout(); + this.splitContainer.Panel2.SuspendLayout(); + this.splitContainer.SuspendLayout(); + this.toolStrip.SuspendLayout(); + this.statusStrip.SuspendLayout(); + this.mainMenuStrip.SuspendLayout(); + this.SuspendLayout(); + // + // processUpdateTimer + // + this.processUpdateTimer.Enabled = true; + this.processUpdateTimer.Interval = 5000; + this.processUpdateTimer.Tick += new System.EventHandler(this.processUpdateTimer_Tick); + // + // splitContainer + // + this.splitContainer.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer.Location = new System.Drawing.Point(0, 49); + this.splitContainer.Name = "splitContainer"; + // + // splitContainer.Panel1 + // + this.splitContainer.Panel1.Controls.Add(this.classesView); + // + // splitContainer.Panel2 + // + this.splitContainer.Panel2.BackColor = System.Drawing.SystemColors.Control; + this.splitContainer.Panel2.Controls.Add(this.memoryViewControl); + this.splitContainer.Size = new System.Drawing.Size(1141, 524); + this.splitContainer.SplitterDistance = 172; + this.splitContainer.TabIndex = 4; + // + // classesView + // + this.classesView.Dock = System.Windows.Forms.DockStyle.Fill; + this.classesView.Location = new System.Drawing.Point(0, 0); + this.classesView.Name = "classesView"; + this.classesView.Size = new System.Drawing.Size(172, 524); + this.classesView.TabIndex = 0; + this.classesView.SelectionChanged += new ReClassNET.UI.ClassNodeView.SelectionChangedEvent(this.classesView_ClassSelected); + // + // memoryViewControl + // + this.memoryViewControl.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.memoryViewControl.Dock = System.Windows.Forms.DockStyle.Fill; + this.memoryViewControl.Location = new System.Drawing.Point(0, 0); + this.memoryViewControl.Name = "memoryViewControl"; + this.memoryViewControl.Size = new System.Drawing.Size(965, 524); + this.memoryViewControl.TabIndex = 0; + this.memoryViewControl.SelectionChanged += new System.EventHandler(this.memoryViewControl_SelectionChanged); + // + // toolStrip + // + this.toolStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.attachToProcessToolStripSplitButton, this.toolStripSeparator6, this.openProjectToolStripButton, @@ -247,68 +250,68 @@ private void InitializeComponent() this.fnPtrToolStripButton, this.fnTypeToolStripButton, this.toolStripSeparator19}); - this.toolStrip.Location = new System.Drawing.Point(0, 24); - this.toolStrip.Name = "toolStrip"; - this.toolStrip.Size = new System.Drawing.Size(1141, 25); - this.toolStrip.TabIndex = 3; - // - // attachToProcessToolStripSplitButton - // - this.attachToProcessToolStripSplitButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.attachToProcessToolStripSplitButton.Image = global::ReClassNET.Properties.Resources.B16x16_Magnifier; - this.attachToProcessToolStripSplitButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.attachToProcessToolStripSplitButton.Name = "attachToProcessToolStripSplitButton"; - this.attachToProcessToolStripSplitButton.Size = new System.Drawing.Size(32, 22); - this.attachToProcessToolStripSplitButton.ToolTipText = "Attach to Process..."; - this.attachToProcessToolStripSplitButton.ButtonClick += new System.EventHandler(this.attachToProcessToolStripSplitButton_ButtonClick); - this.attachToProcessToolStripSplitButton.DropDownClosed += new System.EventHandler(this.attachToProcessToolStripSplitButton_DropDownClosed); - this.attachToProcessToolStripSplitButton.DropDownOpening += new System.EventHandler(this.attachToProcessToolStripSplitButton_DropDownOpening); - // - // toolStripSeparator6 - // - this.toolStripSeparator6.Name = "toolStripSeparator6"; - this.toolStripSeparator6.Size = new System.Drawing.Size(6, 25); - // - // openProjectToolStripButton - // - this.openProjectToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.openProjectToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Folder; - this.openProjectToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.openProjectToolStripButton.Name = "openProjectToolStripButton"; - this.openProjectToolStripButton.Size = new System.Drawing.Size(23, 22); - this.openProjectToolStripButton.ToolTipText = "Open Project..."; - this.openProjectToolStripButton.Click += new System.EventHandler(this.openProjectToolStripMenuItem_Click); - // - // saveToolStripButton - // - this.saveToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.saveToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Save; - this.saveToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.saveToolStripButton.Name = "saveToolStripButton"; - this.saveToolStripButton.Size = new System.Drawing.Size(23, 22); - this.saveToolStripButton.ToolTipText = "Save Project"; - this.saveToolStripButton.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); - // - // toolStripSeparator7 - // - this.toolStripSeparator7.Name = "toolStripSeparator7"; - this.toolStripSeparator7.Size = new System.Drawing.Size(6, 25); - // - // newClassToolStripButton - // - this.newClassToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.newClassToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Class_Add; - this.newClassToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.newClassToolStripButton.Name = "newClassToolStripButton"; - this.newClassToolStripButton.Size = new System.Drawing.Size(23, 22); - this.newClassToolStripButton.Text = "addClassToolStripButton"; - this.newClassToolStripButton.ToolTipText = "Add a new class to this project"; - this.newClassToolStripButton.Click += new System.EventHandler(this.newClassToolStripButton_Click); - // - // addBytesToolStripDropDownButton - // - this.addBytesToolStripDropDownButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.addBytesToolStripDropDownButton.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStrip.Location = new System.Drawing.Point(0, 24); + this.toolStrip.Name = "toolStrip"; + this.toolStrip.Size = new System.Drawing.Size(1141, 25); + this.toolStrip.TabIndex = 3; + // + // attachToProcessToolStripSplitButton + // + this.attachToProcessToolStripSplitButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.attachToProcessToolStripSplitButton.Image = global::ReClassNET.Properties.Resources.B16x16_Magnifier; + this.attachToProcessToolStripSplitButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.attachToProcessToolStripSplitButton.Name = "attachToProcessToolStripSplitButton"; + this.attachToProcessToolStripSplitButton.Size = new System.Drawing.Size(32, 22); + this.attachToProcessToolStripSplitButton.ToolTipText = "Attach to Process..."; + this.attachToProcessToolStripSplitButton.ButtonClick += new System.EventHandler(this.attachToProcessToolStripSplitButton_ButtonClick); + this.attachToProcessToolStripSplitButton.DropDownClosed += new System.EventHandler(this.attachToProcessToolStripSplitButton_DropDownClosed); + this.attachToProcessToolStripSplitButton.DropDownOpening += new System.EventHandler(this.attachToProcessToolStripSplitButton_DropDownOpening); + // + // toolStripSeparator6 + // + this.toolStripSeparator6.Name = "toolStripSeparator6"; + this.toolStripSeparator6.Size = new System.Drawing.Size(6, 25); + // + // openProjectToolStripButton + // + this.openProjectToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.openProjectToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Folder; + this.openProjectToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.openProjectToolStripButton.Name = "openProjectToolStripButton"; + this.openProjectToolStripButton.Size = new System.Drawing.Size(23, 22); + this.openProjectToolStripButton.ToolTipText = "Open Project..."; + this.openProjectToolStripButton.Click += new System.EventHandler(this.openProjectToolStripMenuItem_Click); + // + // saveToolStripButton + // + this.saveToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.saveToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Save; + this.saveToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.saveToolStripButton.Name = "saveToolStripButton"; + this.saveToolStripButton.Size = new System.Drawing.Size(23, 22); + this.saveToolStripButton.ToolTipText = "Save Project"; + this.saveToolStripButton.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); + // + // toolStripSeparator7 + // + this.toolStripSeparator7.Name = "toolStripSeparator7"; + this.toolStripSeparator7.Size = new System.Drawing.Size(6, 25); + // + // newClassToolStripButton + // + this.newClassToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.newClassToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Class_Add; + this.newClassToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.newClassToolStripButton.Name = "newClassToolStripButton"; + this.newClassToolStripButton.Size = new System.Drawing.Size(23, 22); + this.newClassToolStripButton.Text = "addClassToolStripButton"; + this.newClassToolStripButton.ToolTipText = "Add a new class to this project"; + this.newClassToolStripButton.Click += new System.EventHandler(this.newClassToolStripButton_Click); + // + // addBytesToolStripDropDownButton + // + this.addBytesToolStripDropDownButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.addBytesToolStripDropDownButton.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.add4BytesToolStripMenuItem, this.add8BytesToolStripMenuItem, this.add64BytesToolStripMenuItem, @@ -317,87 +320,87 @@ private void InitializeComponent() this.add2048BytesToolStripMenuItem, this.add4096BytesToolStripMenuItem, this.addXBytesToolStripMenuItem}); - this.addBytesToolStripDropDownButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_X; - this.addBytesToolStripDropDownButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.addBytesToolStripDropDownButton.Name = "addBytesToolStripDropDownButton"; - this.addBytesToolStripDropDownButton.Size = new System.Drawing.Size(29, 22); - // - // add4BytesToolStripMenuItem - // - this.add4BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_4; - this.add4BytesToolStripMenuItem.Name = "add4BytesToolStripMenuItem"; - this.add4BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); - this.add4BytesToolStripMenuItem.Tag = ""; - this.add4BytesToolStripMenuItem.Text = "Add 4 Bytes"; - this.add4BytesToolStripMenuItem.Value = 4; - this.add4BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); - // - // add8BytesToolStripMenuItem - // - this.add8BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_8; - this.add8BytesToolStripMenuItem.Name = "add8BytesToolStripMenuItem"; - this.add8BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); - this.add8BytesToolStripMenuItem.Text = "Add 8 Bytes"; - this.add8BytesToolStripMenuItem.Value = 8; - this.add8BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); - // - // add64BytesToolStripMenuItem - // - this.add64BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_64; - this.add64BytesToolStripMenuItem.Name = "add64BytesToolStripMenuItem"; - this.add64BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); - this.add64BytesToolStripMenuItem.Text = "Add 64 Bytes"; - this.add64BytesToolStripMenuItem.Value = 64; - this.add64BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); - // - // add256BytesToolStripMenuItem - // - this.add256BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_256; - this.add256BytesToolStripMenuItem.Name = "add256BytesToolStripMenuItem"; - this.add256BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); - this.add256BytesToolStripMenuItem.Text = "Add 256 Bytes"; - this.add256BytesToolStripMenuItem.Value = 256; - this.add256BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); - // - // add1024BytesToolStripMenuItem - // - this.add1024BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_1024; - this.add1024BytesToolStripMenuItem.Name = "add1024BytesToolStripMenuItem"; - this.add1024BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); - this.add1024BytesToolStripMenuItem.Text = "Add 1024 Bytes"; - this.add1024BytesToolStripMenuItem.Value = 1024; - this.add1024BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); - // - // add2048BytesToolStripMenuItem - // - this.add2048BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_2048; - this.add2048BytesToolStripMenuItem.Name = "add2048BytesToolStripMenuItem"; - this.add2048BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); - this.add2048BytesToolStripMenuItem.Text = "Add 2048 Bytes"; - this.add2048BytesToolStripMenuItem.Value = 2048; - this.add2048BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); - // - // add4096BytesToolStripMenuItem - // - this.add4096BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_4096; - this.add4096BytesToolStripMenuItem.Name = "add4096BytesToolStripMenuItem"; - this.add4096BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); - this.add4096BytesToolStripMenuItem.Text = "Add 4096 Bytes"; - this.add4096BytesToolStripMenuItem.Value = 4096; - this.add4096BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); - // - // addXBytesToolStripMenuItem - // - this.addXBytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_X; - this.addXBytesToolStripMenuItem.Name = "addXBytesToolStripMenuItem"; - this.addXBytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); - this.addXBytesToolStripMenuItem.Text = "Add ... Bytes"; - this.addXBytesToolStripMenuItem.Click += new System.EventHandler(this.addXBytesToolStripMenuItem_Click); - // - // insertBytesToolStripDropDownButton - // - this.insertBytesToolStripDropDownButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.insertBytesToolStripDropDownButton.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.addBytesToolStripDropDownButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_X; + this.addBytesToolStripDropDownButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.addBytesToolStripDropDownButton.Name = "addBytesToolStripDropDownButton"; + this.addBytesToolStripDropDownButton.Size = new System.Drawing.Size(29, 22); + // + // add4BytesToolStripMenuItem + // + this.add4BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_4; + this.add4BytesToolStripMenuItem.Name = "add4BytesToolStripMenuItem"; + this.add4BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.add4BytesToolStripMenuItem.Tag = ""; + this.add4BytesToolStripMenuItem.Text = "Add 4 Bytes"; + this.add4BytesToolStripMenuItem.Value = 4; + this.add4BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); + // + // add8BytesToolStripMenuItem + // + this.add8BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_8; + this.add8BytesToolStripMenuItem.Name = "add8BytesToolStripMenuItem"; + this.add8BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.add8BytesToolStripMenuItem.Text = "Add 8 Bytes"; + this.add8BytesToolStripMenuItem.Value = 8; + this.add8BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); + // + // add64BytesToolStripMenuItem + // + this.add64BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_64; + this.add64BytesToolStripMenuItem.Name = "add64BytesToolStripMenuItem"; + this.add64BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.add64BytesToolStripMenuItem.Text = "Add 64 Bytes"; + this.add64BytesToolStripMenuItem.Value = 64; + this.add64BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); + // + // add256BytesToolStripMenuItem + // + this.add256BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_256; + this.add256BytesToolStripMenuItem.Name = "add256BytesToolStripMenuItem"; + this.add256BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.add256BytesToolStripMenuItem.Text = "Add 256 Bytes"; + this.add256BytesToolStripMenuItem.Value = 256; + this.add256BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); + // + // add1024BytesToolStripMenuItem + // + this.add1024BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_1024; + this.add1024BytesToolStripMenuItem.Name = "add1024BytesToolStripMenuItem"; + this.add1024BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.add1024BytesToolStripMenuItem.Text = "Add 1024 Bytes"; + this.add1024BytesToolStripMenuItem.Value = 1024; + this.add1024BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); + // + // add2048BytesToolStripMenuItem + // + this.add2048BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_2048; + this.add2048BytesToolStripMenuItem.Name = "add2048BytesToolStripMenuItem"; + this.add2048BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.add2048BytesToolStripMenuItem.Text = "Add 2048 Bytes"; + this.add2048BytesToolStripMenuItem.Value = 2048; + this.add2048BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); + // + // add4096BytesToolStripMenuItem + // + this.add4096BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_4096; + this.add4096BytesToolStripMenuItem.Name = "add4096BytesToolStripMenuItem"; + this.add4096BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.add4096BytesToolStripMenuItem.Text = "Add 4096 Bytes"; + this.add4096BytesToolStripMenuItem.Value = 4096; + this.add4096BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); + // + // addXBytesToolStripMenuItem + // + this.addXBytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_X; + this.addXBytesToolStripMenuItem.Name = "addXBytesToolStripMenuItem"; + this.addXBytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.addXBytesToolStripMenuItem.Text = "Add ... Bytes"; + this.addXBytesToolStripMenuItem.Click += new System.EventHandler(this.addXBytesToolStripMenuItem_Click); + // + // insertBytesToolStripDropDownButton + // + this.insertBytesToolStripDropDownButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.insertBytesToolStripDropDownButton.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.insert4BytesToolStripMenuItem, this.insert8BytesToolStripMenuItem, this.insert64BytesToolStripMenuItem, @@ -406,535 +409,535 @@ private void InitializeComponent() this.insert2048BytesToolStripMenuItem, this.insert4096BytesToolStripMenuItem, this.insertXBytesToolStripMenuItem}); - this.insertBytesToolStripDropDownButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_X; - this.insertBytesToolStripDropDownButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.insertBytesToolStripDropDownButton.Name = "insertBytesToolStripDropDownButton"; - this.insertBytesToolStripDropDownButton.Size = new System.Drawing.Size(29, 22); - this.insertBytesToolStripDropDownButton.ToolTipText = "Insert bytes at selected position"; - // - // insert4BytesToolStripMenuItem - // - this.insert4BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_4; - this.insert4BytesToolStripMenuItem.Name = "insert4BytesToolStripMenuItem"; - this.insert4BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); - this.insert4BytesToolStripMenuItem.Tag = ""; - this.insert4BytesToolStripMenuItem.Text = "Insert 4 Bytes"; - this.insert4BytesToolStripMenuItem.Value = 4; - this.insert4BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); - // - // insert8BytesToolStripMenuItem - // - this.insert8BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_8; - this.insert8BytesToolStripMenuItem.Name = "insert8BytesToolStripMenuItem"; - this.insert8BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); - this.insert8BytesToolStripMenuItem.Text = "Insert 8 Bytes"; - this.insert8BytesToolStripMenuItem.Value = 8; - this.insert8BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); - // - // insert64BytesToolStripMenuItem - // - this.insert64BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_64; - this.insert64BytesToolStripMenuItem.Name = "insert64BytesToolStripMenuItem"; - this.insert64BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); - this.insert64BytesToolStripMenuItem.Text = "Insert 64 Bytes"; - this.insert64BytesToolStripMenuItem.Value = 64; - this.insert64BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); - // - // insert256BytesToolStripMenuItem - // - this.insert256BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_256; - this.insert256BytesToolStripMenuItem.Name = "insert256BytesToolStripMenuItem"; - this.insert256BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); - this.insert256BytesToolStripMenuItem.Text = "Insert 256 Bytes"; - this.insert256BytesToolStripMenuItem.Value = 256; - this.insert256BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); - // - // insert1024BytesToolStripMenuItem - // - this.insert1024BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_1024; - this.insert1024BytesToolStripMenuItem.Name = "insert1024BytesToolStripMenuItem"; - this.insert1024BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); - this.insert1024BytesToolStripMenuItem.Text = "Insert 1024 Bytes"; - this.insert1024BytesToolStripMenuItem.Value = 1024; - this.insert1024BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); - // - // insert2048BytesToolStripMenuItem - // - this.insert2048BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_2048; - this.insert2048BytesToolStripMenuItem.Name = "insert2048BytesToolStripMenuItem"; - this.insert2048BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); - this.insert2048BytesToolStripMenuItem.Text = "Insert 2048 Bytes"; - this.insert2048BytesToolStripMenuItem.Value = 2048; - this.insert2048BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); - // - // insert4096BytesToolStripMenuItem - // - this.insert4096BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_4096; - this.insert4096BytesToolStripMenuItem.Name = "insert4096BytesToolStripMenuItem"; - this.insert4096BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); - this.insert4096BytesToolStripMenuItem.Text = "Insert 4096 Bytes"; - this.insert4096BytesToolStripMenuItem.Value = 4096; - this.insert4096BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); - // - // insertXBytesToolStripMenuItem - // - this.insertXBytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_X; - this.insertXBytesToolStripMenuItem.Name = "insertXBytesToolStripMenuItem"; - this.insertXBytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); - this.insertXBytesToolStripMenuItem.Text = "Insert ... Bytes"; - this.insertXBytesToolStripMenuItem.Click += new System.EventHandler(this.insertXBytesToolStripMenuItem_Click); - // - // toolStripSeparator8 - // - this.toolStripSeparator8.Name = "toolStripSeparator8"; - this.toolStripSeparator8.Size = new System.Drawing.Size(6, 25); - // - // hex64ToolStripButton - // - this.hex64ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.hex64ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Hex_64; - this.hex64ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.hex64ToolStripButton.Name = "hex64ToolStripButton"; - this.hex64ToolStripButton.Size = new System.Drawing.Size(23, 22); - this.hex64ToolStripButton.ToolTipText = "Hex64"; - this.hex64ToolStripButton.Value = typeof(ReClassNET.Nodes.Hex64Node); - this.hex64ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // hex32ToolStripButton - // - this.hex32ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.hex32ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Hex_32; - this.hex32ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.hex32ToolStripButton.Name = "hex32ToolStripButton"; - this.hex32ToolStripButton.Size = new System.Drawing.Size(23, 22); - this.hex32ToolStripButton.ToolTipText = "Hex32"; - this.hex32ToolStripButton.Value = typeof(ReClassNET.Nodes.Hex32Node); - this.hex32ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // hex16ToolStripButton - // - this.hex16ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.hex16ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Hex_16; - this.hex16ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.hex16ToolStripButton.Name = "hex16ToolStripButton"; - this.hex16ToolStripButton.Size = new System.Drawing.Size(23, 22); - this.hex16ToolStripButton.ToolTipText = "Hex16"; - this.hex16ToolStripButton.Value = typeof(ReClassNET.Nodes.Hex16Node); - this.hex16ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // hex8ToolStripButton - // - this.hex8ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.hex8ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Hex_8; - this.hex8ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.hex8ToolStripButton.Name = "hex8ToolStripButton"; - this.hex8ToolStripButton.Size = new System.Drawing.Size(23, 22); - this.hex8ToolStripButton.ToolTipText = "Hex8"; - this.hex8ToolStripButton.Value = typeof(ReClassNET.Nodes.Hex8Node); - this.hex8ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // toolStripSeparator9 - // - this.toolStripSeparator9.Name = "toolStripSeparator9"; - this.toolStripSeparator9.Size = new System.Drawing.Size(6, 25); - // - // int64ToolStripButton - // - this.int64ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.int64ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Int_64; - this.int64ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.int64ToolStripButton.Name = "int64ToolStripButton"; - this.int64ToolStripButton.Size = new System.Drawing.Size(23, 22); - this.int64ToolStripButton.ToolTipText = "Int64"; - this.int64ToolStripButton.Value = typeof(ReClassNET.Nodes.Int64Node); - this.int64ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // int32ToolStripButton - // - this.int32ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.int32ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Int_32; - this.int32ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.int32ToolStripButton.Name = "int32ToolStripButton"; - this.int32ToolStripButton.Size = new System.Drawing.Size(23, 22); - this.int32ToolStripButton.ToolTipText = "Int32"; - this.int32ToolStripButton.Value = typeof(ReClassNET.Nodes.Int32Node); - this.int32ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // int16ToolStripButton - // - this.int16ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.int16ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Int_16; - this.int16ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.int16ToolStripButton.Name = "int16ToolStripButton"; - this.int16ToolStripButton.Size = new System.Drawing.Size(23, 22); - this.int16ToolStripButton.ToolTipText = "Int16"; - this.int16ToolStripButton.Value = typeof(ReClassNET.Nodes.Int16Node); - this.int16ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // int8ToolStripButton - // - this.int8ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.int8ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Int_8; - this.int8ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.int8ToolStripButton.Name = "int8ToolStripButton"; - this.int8ToolStripButton.Size = new System.Drawing.Size(23, 22); - this.int8ToolStripButton.ToolTipText = "Int8"; - this.int8ToolStripButton.Value = typeof(ReClassNET.Nodes.Int8Node); - this.int8ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // toolStripSeparator10 - // - this.toolStripSeparator10.Name = "toolStripSeparator10"; - this.toolStripSeparator10.Size = new System.Drawing.Size(6, 25); - // - // uint64ToolStripButton - // - this.uint64ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.uint64ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UInt_64; - this.uint64ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.uint64ToolStripButton.Name = "uint64ToolStripButton"; - this.uint64ToolStripButton.Size = new System.Drawing.Size(23, 22); - this.uint64ToolStripButton.ToolTipText = "UInt64 / QWORD"; - this.uint64ToolStripButton.Value = typeof(ReClassNET.Nodes.UInt64Node); - this.uint64ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // uint32ToolStripButton - // - this.uint32ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.uint32ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UInt_32; - this.uint32ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.uint32ToolStripButton.Name = "uint32ToolStripButton"; - this.uint32ToolStripButton.Size = new System.Drawing.Size(23, 22); - this.uint32ToolStripButton.ToolTipText = "UInt32 / DWORD"; - this.uint32ToolStripButton.Value = typeof(ReClassNET.Nodes.UInt32Node); - this.uint32ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // uint16ToolStripButton - // - this.uint16ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.uint16ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UInt_16; - this.uint16ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.uint16ToolStripButton.Name = "uint16ToolStripButton"; - this.uint16ToolStripButton.Size = new System.Drawing.Size(23, 22); - this.uint16ToolStripButton.ToolTipText = "UInt16 / WORD"; - this.uint16ToolStripButton.Value = typeof(ReClassNET.Nodes.UInt16Node); - this.uint16ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // uint8ToolStripButton - // - this.uint8ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.uint8ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UInt_8; - this.uint8ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.uint8ToolStripButton.Name = "uint8ToolStripButton"; - this.uint8ToolStripButton.Size = new System.Drawing.Size(23, 22); - this.uint8ToolStripButton.ToolTipText = "UInt8 / BYTE"; - this.uint8ToolStripButton.Value = typeof(ReClassNET.Nodes.UInt8Node); - this.uint8ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // toolStripSeparator11 - // - this.toolStripSeparator11.Name = "toolStripSeparator11"; - this.toolStripSeparator11.Size = new System.Drawing.Size(6, 25); - // - // boolToolStripButton - // - this.boolToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.boolToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Bool; - this.boolToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.boolToolStripButton.Name = "boolToolStripButton"; - this.boolToolStripButton.Size = new System.Drawing.Size(23, 22); - this.boolToolStripButton.ToolTipText = "Bool"; - this.boolToolStripButton.Value = typeof(ReClassNET.Nodes.BoolNode); - this.boolToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // bitFieldToolStripButton - // - this.bitFieldToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.bitFieldToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Bits; - this.bitFieldToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.bitFieldToolStripButton.Name = "bitFieldToolStripButton"; - this.bitFieldToolStripButton.Size = new System.Drawing.Size(23, 22); - this.bitFieldToolStripButton.ToolTipText = "Bit Field"; - this.bitFieldToolStripButton.Value = typeof(ReClassNET.Nodes.BitFieldNode); - this.bitFieldToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // toolStripSeparator18 - // - this.toolStripSeparator18.Name = "toolStripSeparator18"; - this.toolStripSeparator18.Size = new System.Drawing.Size(6, 25); - // - // floatToolStripButton - // - this.floatToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.floatToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Float; - this.floatToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.floatToolStripButton.Name = "floatToolStripButton"; - this.floatToolStripButton.Size = new System.Drawing.Size(23, 22); - this.floatToolStripButton.ToolTipText = "Float"; - this.floatToolStripButton.Value = typeof(ReClassNET.Nodes.FloatNode); - this.floatToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // doubleToolStripButton - // - this.doubleToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.doubleToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Double; - this.doubleToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.doubleToolStripButton.Name = "doubleToolStripButton"; - this.doubleToolStripButton.Size = new System.Drawing.Size(23, 22); - this.doubleToolStripButton.ToolTipText = "Double"; - this.doubleToolStripButton.Value = typeof(ReClassNET.Nodes.DoubleNode); - this.doubleToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // toolStripSeparator12 - // - this.toolStripSeparator12.Name = "toolStripSeparator12"; - this.toolStripSeparator12.Size = new System.Drawing.Size(6, 25); - // - // vec4ToolStripButton - // - this.vec4ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.vec4ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Vector_4; - this.vec4ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.vec4ToolStripButton.Name = "vec4ToolStripButton"; - this.vec4ToolStripButton.Size = new System.Drawing.Size(23, 22); - this.vec4ToolStripButton.ToolTipText = "Vector4"; - this.vec4ToolStripButton.Value = typeof(ReClassNET.Nodes.Vector4Node); - this.vec4ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // vec3ToolStripButton - // - this.vec3ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.vec3ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Vector_3; - this.vec3ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.vec3ToolStripButton.Name = "vec3ToolStripButton"; - this.vec3ToolStripButton.Size = new System.Drawing.Size(23, 22); - this.vec3ToolStripButton.ToolTipText = "Vector3"; - this.vec3ToolStripButton.Value = typeof(ReClassNET.Nodes.Vector3Node); - this.vec3ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // vec2ToolStripButton - // - this.vec2ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.vec2ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Vector_2; - this.vec2ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.vec2ToolStripButton.Name = "vec2ToolStripButton"; - this.vec2ToolStripButton.Size = new System.Drawing.Size(23, 22); - this.vec2ToolStripButton.ToolTipText = "Vector2"; - this.vec2ToolStripButton.Value = typeof(ReClassNET.Nodes.Vector2Node); - this.vec2ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // mat44ToolStripButton - // - this.mat44ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.mat44ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Matrix_4x4; - this.mat44ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.mat44ToolStripButton.Name = "mat44ToolStripButton"; - this.mat44ToolStripButton.Size = new System.Drawing.Size(23, 22); - this.mat44ToolStripButton.ToolTipText = "4x4 Matrix"; - this.mat44ToolStripButton.Value = typeof(ReClassNET.Nodes.Matrix4x4Node); - this.mat44ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // mat34ToolStripButton - // - this.mat34ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.mat34ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Matrix_3x4; - this.mat34ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.mat34ToolStripButton.Name = "mat34ToolStripButton"; - this.mat34ToolStripButton.Size = new System.Drawing.Size(23, 22); - this.mat34ToolStripButton.ToolTipText = "3x4 Matrix"; - this.mat34ToolStripButton.Value = typeof(ReClassNET.Nodes.Matrix3x4Node); - this.mat34ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // mat33ToolStripButton - // - this.mat33ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.mat33ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Matrix_3x3; - this.mat33ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.mat33ToolStripButton.Name = "mat33ToolStripButton"; - this.mat33ToolStripButton.Size = new System.Drawing.Size(23, 22); - this.mat33ToolStripButton.ToolTipText = "3x3 Matrix"; - this.mat33ToolStripButton.Value = typeof(ReClassNET.Nodes.Matrix3x3Node); - this.mat33ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // toolStripSeparator13 - // - this.toolStripSeparator13.Name = "toolStripSeparator13"; - this.toolStripSeparator13.Size = new System.Drawing.Size(6, 25); - // - // utf8TextToolStripButton - // - this.utf8TextToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.utf8TextToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Text; - this.utf8TextToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.utf8TextToolStripButton.Name = "utf8TextToolStripButton"; - this.utf8TextToolStripButton.Size = new System.Drawing.Size(23, 22); - this.utf8TextToolStripButton.ToolTipText = "UTF8 Text"; - this.utf8TextToolStripButton.Value = typeof(ReClassNET.Nodes.Utf8TextNode); - this.utf8TextToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // utf8TextPtrToolStripButton - // - this.utf8TextPtrToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.utf8TextPtrToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Text_Pointer; - this.utf8TextPtrToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.utf8TextPtrToolStripButton.Name = "utf8TextPtrToolStripButton"; - this.utf8TextPtrToolStripButton.Size = new System.Drawing.Size(23, 22); - this.utf8TextPtrToolStripButton.ToolTipText = "Pointer to UTF8 text"; - this.utf8TextPtrToolStripButton.Value = typeof(ReClassNET.Nodes.Utf8TextPtrNode); - this.utf8TextPtrToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // utf16TextToolStripButton - // - this.utf16TextToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.utf16TextToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UText; - this.utf16TextToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.utf16TextToolStripButton.Name = "utf16TextToolStripButton"; - this.utf16TextToolStripButton.Size = new System.Drawing.Size(23, 22); - this.utf16TextToolStripButton.ToolTipText = "UTF16 / Unicode Text"; - this.utf16TextToolStripButton.Value = typeof(ReClassNET.Nodes.Utf16TextNode); - this.utf16TextToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // utf16TextPtrToolStripButton - // - this.utf16TextPtrToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.utf16TextPtrToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UText_Pointer; - this.utf16TextPtrToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.utf16TextPtrToolStripButton.Name = "utf16TextPtrToolStripButton"; - this.utf16TextPtrToolStripButton.Size = new System.Drawing.Size(23, 22); - this.utf16TextPtrToolStripButton.ToolTipText = "Pointer to UTF16 / Unicode text"; - this.utf16TextPtrToolStripButton.Value = typeof(ReClassNET.Nodes.Utf16TextPtrNode); - this.utf16TextPtrToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // toolStripSeparator14 - // - this.toolStripSeparator14.Name = "toolStripSeparator14"; - this.toolStripSeparator14.Size = new System.Drawing.Size(6, 25); - // - // classInstanceToolStripButton6 - // - this.classInstanceToolStripButton6.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.classInstanceToolStripButton6.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Class_Instance; - this.classInstanceToolStripButton6.ImageTransparentColor = System.Drawing.Color.Magenta; - this.classInstanceToolStripButton6.Name = "classInstanceToolStripButton6"; - this.classInstanceToolStripButton6.Size = new System.Drawing.Size(23, 22); - this.classInstanceToolStripButton6.ToolTipText = "Class instance"; - this.classInstanceToolStripButton6.Value = typeof(ReClassNET.Nodes.ClassInstanceNode); - this.classInstanceToolStripButton6.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // classPtrToolStripButton - // - this.classPtrToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.classPtrToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Class_Pointer; - this.classPtrToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.classPtrToolStripButton.Name = "classPtrToolStripButton"; - this.classPtrToolStripButton.Size = new System.Drawing.Size(23, 22); - this.classPtrToolStripButton.ToolTipText = "Pointer to class instance"; - this.classPtrToolStripButton.Value = typeof(ReClassNET.Nodes.ClassPtrNode); - this.classPtrToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // toolStripSeparator15 - // - this.toolStripSeparator15.Name = "toolStripSeparator15"; - this.toolStripSeparator15.Size = new System.Drawing.Size(6, 25); - // - // arrayToolStripButton - // - this.arrayToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.arrayToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Array; - this.arrayToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.arrayToolStripButton.Name = "arrayToolStripButton"; - this.arrayToolStripButton.Size = new System.Drawing.Size(23, 22); - this.arrayToolStripButton.ToolTipText = "Array of Classes"; - this.arrayToolStripButton.Value = typeof(ReClassNET.Nodes.ClassInstanceArrayNode); - this.arrayToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // ptrArrayToolStripButton - // - this.ptrArrayToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.ptrArrayToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Pointer_Array; - this.ptrArrayToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.ptrArrayToolStripButton.Name = "ptrArrayToolStripButton"; - this.ptrArrayToolStripButton.Size = new System.Drawing.Size(23, 22); - this.ptrArrayToolStripButton.ToolTipText = "Array of Pointers"; - this.ptrArrayToolStripButton.Value = typeof(ReClassNET.Nodes.ClassPtrArrayNode); - this.ptrArrayToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // vtableToolStripButton - // - this.vtableToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.vtableToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_VTable; - this.vtableToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.vtableToolStripButton.Name = "vtableToolStripButton"; - this.vtableToolStripButton.Size = new System.Drawing.Size(23, 22); - this.vtableToolStripButton.ToolTipText = "Pointer to VTable"; - this.vtableToolStripButton.Value = typeof(ReClassNET.Nodes.VTableNode); - this.vtableToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // fnPtrToolStripButton - // - this.fnPtrToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.fnPtrToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Function_Pointer; - this.fnPtrToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.fnPtrToolStripButton.Name = "fnPtrToolStripButton"; - this.fnPtrToolStripButton.Size = new System.Drawing.Size(23, 22); - this.fnPtrToolStripButton.ToolTipText = "Pointer to a function"; - this.fnPtrToolStripButton.Value = typeof(ReClassNET.Nodes.FunctionPtrNode); - this.fnPtrToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // fnTypeToolStripButton - // - this.fnTypeToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.fnTypeToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Function; - this.fnTypeToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.fnTypeToolStripButton.Name = "fnTypeToolStripButton"; - this.fnTypeToolStripButton.Size = new System.Drawing.Size(23, 22); - this.fnTypeToolStripButton.ToolTipText = "Function"; - this.fnTypeToolStripButton.Value = typeof(ReClassNET.Nodes.FunctionNode); - this.fnTypeToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); - // - // toolStripSeparator19 - // - this.toolStripSeparator19.Name = "toolStripSeparator19"; - this.toolStripSeparator19.Size = new System.Drawing.Size(6, 25); - // - // statusStrip - // - this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.insertBytesToolStripDropDownButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_X; + this.insertBytesToolStripDropDownButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.insertBytesToolStripDropDownButton.Name = "insertBytesToolStripDropDownButton"; + this.insertBytesToolStripDropDownButton.Size = new System.Drawing.Size(29, 22); + this.insertBytesToolStripDropDownButton.ToolTipText = "Insert bytes at selected position"; + // + // insert4BytesToolStripMenuItem + // + this.insert4BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_4; + this.insert4BytesToolStripMenuItem.Name = "insert4BytesToolStripMenuItem"; + this.insert4BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); + this.insert4BytesToolStripMenuItem.Tag = ""; + this.insert4BytesToolStripMenuItem.Text = "Insert 4 Bytes"; + this.insert4BytesToolStripMenuItem.Value = 4; + this.insert4BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); + // + // insert8BytesToolStripMenuItem + // + this.insert8BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_8; + this.insert8BytesToolStripMenuItem.Name = "insert8BytesToolStripMenuItem"; + this.insert8BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); + this.insert8BytesToolStripMenuItem.Text = "Insert 8 Bytes"; + this.insert8BytesToolStripMenuItem.Value = 8; + this.insert8BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); + // + // insert64BytesToolStripMenuItem + // + this.insert64BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_64; + this.insert64BytesToolStripMenuItem.Name = "insert64BytesToolStripMenuItem"; + this.insert64BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); + this.insert64BytesToolStripMenuItem.Text = "Insert 64 Bytes"; + this.insert64BytesToolStripMenuItem.Value = 64; + this.insert64BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); + // + // insert256BytesToolStripMenuItem + // + this.insert256BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_256; + this.insert256BytesToolStripMenuItem.Name = "insert256BytesToolStripMenuItem"; + this.insert256BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); + this.insert256BytesToolStripMenuItem.Text = "Insert 256 Bytes"; + this.insert256BytesToolStripMenuItem.Value = 256; + this.insert256BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); + // + // insert1024BytesToolStripMenuItem + // + this.insert1024BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_1024; + this.insert1024BytesToolStripMenuItem.Name = "insert1024BytesToolStripMenuItem"; + this.insert1024BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); + this.insert1024BytesToolStripMenuItem.Text = "Insert 1024 Bytes"; + this.insert1024BytesToolStripMenuItem.Value = 1024; + this.insert1024BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); + // + // insert2048BytesToolStripMenuItem + // + this.insert2048BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_2048; + this.insert2048BytesToolStripMenuItem.Name = "insert2048BytesToolStripMenuItem"; + this.insert2048BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); + this.insert2048BytesToolStripMenuItem.Text = "Insert 2048 Bytes"; + this.insert2048BytesToolStripMenuItem.Value = 2048; + this.insert2048BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); + // + // insert4096BytesToolStripMenuItem + // + this.insert4096BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_4096; + this.insert4096BytesToolStripMenuItem.Name = "insert4096BytesToolStripMenuItem"; + this.insert4096BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); + this.insert4096BytesToolStripMenuItem.Text = "Insert 4096 Bytes"; + this.insert4096BytesToolStripMenuItem.Value = 4096; + this.insert4096BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); + // + // insertXBytesToolStripMenuItem + // + this.insertXBytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_X; + this.insertXBytesToolStripMenuItem.Name = "insertXBytesToolStripMenuItem"; + this.insertXBytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); + this.insertXBytesToolStripMenuItem.Text = "Insert ... Bytes"; + this.insertXBytesToolStripMenuItem.Click += new System.EventHandler(this.insertXBytesToolStripMenuItem_Click); + // + // toolStripSeparator8 + // + this.toolStripSeparator8.Name = "toolStripSeparator8"; + this.toolStripSeparator8.Size = new System.Drawing.Size(6, 25); + // + // hex64ToolStripButton + // + this.hex64ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.hex64ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Hex_64; + this.hex64ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.hex64ToolStripButton.Name = "hex64ToolStripButton"; + this.hex64ToolStripButton.Size = new System.Drawing.Size(23, 22); + this.hex64ToolStripButton.ToolTipText = "Hex64"; + this.hex64ToolStripButton.Value = typeof(ReClassNET.Nodes.Hex64Node); + this.hex64ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // hex32ToolStripButton + // + this.hex32ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.hex32ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Hex_32; + this.hex32ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.hex32ToolStripButton.Name = "hex32ToolStripButton"; + this.hex32ToolStripButton.Size = new System.Drawing.Size(23, 22); + this.hex32ToolStripButton.ToolTipText = "Hex32"; + this.hex32ToolStripButton.Value = typeof(ReClassNET.Nodes.Hex32Node); + this.hex32ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // hex16ToolStripButton + // + this.hex16ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.hex16ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Hex_16; + this.hex16ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.hex16ToolStripButton.Name = "hex16ToolStripButton"; + this.hex16ToolStripButton.Size = new System.Drawing.Size(23, 22); + this.hex16ToolStripButton.ToolTipText = "Hex16"; + this.hex16ToolStripButton.Value = typeof(ReClassNET.Nodes.Hex16Node); + this.hex16ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // hex8ToolStripButton + // + this.hex8ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.hex8ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Hex_8; + this.hex8ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.hex8ToolStripButton.Name = "hex8ToolStripButton"; + this.hex8ToolStripButton.Size = new System.Drawing.Size(23, 22); + this.hex8ToolStripButton.ToolTipText = "Hex8"; + this.hex8ToolStripButton.Value = typeof(ReClassNET.Nodes.Hex8Node); + this.hex8ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // toolStripSeparator9 + // + this.toolStripSeparator9.Name = "toolStripSeparator9"; + this.toolStripSeparator9.Size = new System.Drawing.Size(6, 25); + // + // int64ToolStripButton + // + this.int64ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.int64ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Int_64; + this.int64ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.int64ToolStripButton.Name = "int64ToolStripButton"; + this.int64ToolStripButton.Size = new System.Drawing.Size(23, 22); + this.int64ToolStripButton.ToolTipText = "Int64"; + this.int64ToolStripButton.Value = typeof(ReClassNET.Nodes.Int64Node); + this.int64ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // int32ToolStripButton + // + this.int32ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.int32ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Int_32; + this.int32ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.int32ToolStripButton.Name = "int32ToolStripButton"; + this.int32ToolStripButton.Size = new System.Drawing.Size(23, 22); + this.int32ToolStripButton.ToolTipText = "Int32"; + this.int32ToolStripButton.Value = typeof(ReClassNET.Nodes.Int32Node); + this.int32ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // int16ToolStripButton + // + this.int16ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.int16ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Int_16; + this.int16ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.int16ToolStripButton.Name = "int16ToolStripButton"; + this.int16ToolStripButton.Size = new System.Drawing.Size(23, 22); + this.int16ToolStripButton.ToolTipText = "Int16"; + this.int16ToolStripButton.Value = typeof(ReClassNET.Nodes.Int16Node); + this.int16ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // int8ToolStripButton + // + this.int8ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.int8ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Int_8; + this.int8ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.int8ToolStripButton.Name = "int8ToolStripButton"; + this.int8ToolStripButton.Size = new System.Drawing.Size(23, 22); + this.int8ToolStripButton.ToolTipText = "Int8"; + this.int8ToolStripButton.Value = typeof(ReClassNET.Nodes.Int8Node); + this.int8ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // toolStripSeparator10 + // + this.toolStripSeparator10.Name = "toolStripSeparator10"; + this.toolStripSeparator10.Size = new System.Drawing.Size(6, 25); + // + // uint64ToolStripButton + // + this.uint64ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.uint64ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UInt_64; + this.uint64ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.uint64ToolStripButton.Name = "uint64ToolStripButton"; + this.uint64ToolStripButton.Size = new System.Drawing.Size(23, 22); + this.uint64ToolStripButton.ToolTipText = "UInt64 / QWORD"; + this.uint64ToolStripButton.Value = typeof(ReClassNET.Nodes.UInt64Node); + this.uint64ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // uint32ToolStripButton + // + this.uint32ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.uint32ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UInt_32; + this.uint32ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.uint32ToolStripButton.Name = "uint32ToolStripButton"; + this.uint32ToolStripButton.Size = new System.Drawing.Size(23, 22); + this.uint32ToolStripButton.ToolTipText = "UInt32 / DWORD"; + this.uint32ToolStripButton.Value = typeof(ReClassNET.Nodes.UInt32Node); + this.uint32ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // uint16ToolStripButton + // + this.uint16ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.uint16ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UInt_16; + this.uint16ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.uint16ToolStripButton.Name = "uint16ToolStripButton"; + this.uint16ToolStripButton.Size = new System.Drawing.Size(23, 22); + this.uint16ToolStripButton.ToolTipText = "UInt16 / WORD"; + this.uint16ToolStripButton.Value = typeof(ReClassNET.Nodes.UInt16Node); + this.uint16ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // uint8ToolStripButton + // + this.uint8ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.uint8ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UInt_8; + this.uint8ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.uint8ToolStripButton.Name = "uint8ToolStripButton"; + this.uint8ToolStripButton.Size = new System.Drawing.Size(23, 22); + this.uint8ToolStripButton.ToolTipText = "UInt8 / BYTE"; + this.uint8ToolStripButton.Value = typeof(ReClassNET.Nodes.UInt8Node); + this.uint8ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // toolStripSeparator11 + // + this.toolStripSeparator11.Name = "toolStripSeparator11"; + this.toolStripSeparator11.Size = new System.Drawing.Size(6, 25); + // + // boolToolStripButton + // + this.boolToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.boolToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Bool; + this.boolToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.boolToolStripButton.Name = "boolToolStripButton"; + this.boolToolStripButton.Size = new System.Drawing.Size(23, 22); + this.boolToolStripButton.ToolTipText = "Bool"; + this.boolToolStripButton.Value = typeof(ReClassNET.Nodes.BoolNode); + this.boolToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // bitFieldToolStripButton + // + this.bitFieldToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.bitFieldToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Bits; + this.bitFieldToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.bitFieldToolStripButton.Name = "bitFieldToolStripButton"; + this.bitFieldToolStripButton.Size = new System.Drawing.Size(23, 22); + this.bitFieldToolStripButton.ToolTipText = "Bit Field"; + this.bitFieldToolStripButton.Value = typeof(ReClassNET.Nodes.BitFieldNode); + this.bitFieldToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // toolStripSeparator18 + // + this.toolStripSeparator18.Name = "toolStripSeparator18"; + this.toolStripSeparator18.Size = new System.Drawing.Size(6, 25); + // + // floatToolStripButton + // + this.floatToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.floatToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Float; + this.floatToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.floatToolStripButton.Name = "floatToolStripButton"; + this.floatToolStripButton.Size = new System.Drawing.Size(23, 22); + this.floatToolStripButton.ToolTipText = "Float"; + this.floatToolStripButton.Value = typeof(ReClassNET.Nodes.FloatNode); + this.floatToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // doubleToolStripButton + // + this.doubleToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.doubleToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Double; + this.doubleToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.doubleToolStripButton.Name = "doubleToolStripButton"; + this.doubleToolStripButton.Size = new System.Drawing.Size(23, 22); + this.doubleToolStripButton.ToolTipText = "Double"; + this.doubleToolStripButton.Value = typeof(ReClassNET.Nodes.DoubleNode); + this.doubleToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // toolStripSeparator12 + // + this.toolStripSeparator12.Name = "toolStripSeparator12"; + this.toolStripSeparator12.Size = new System.Drawing.Size(6, 25); + // + // vec4ToolStripButton + // + this.vec4ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.vec4ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Vector_4; + this.vec4ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.vec4ToolStripButton.Name = "vec4ToolStripButton"; + this.vec4ToolStripButton.Size = new System.Drawing.Size(23, 22); + this.vec4ToolStripButton.ToolTipText = "Vector4"; + this.vec4ToolStripButton.Value = typeof(ReClassNET.Nodes.Vector4Node); + this.vec4ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // vec3ToolStripButton + // + this.vec3ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.vec3ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Vector_3; + this.vec3ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.vec3ToolStripButton.Name = "vec3ToolStripButton"; + this.vec3ToolStripButton.Size = new System.Drawing.Size(23, 22); + this.vec3ToolStripButton.ToolTipText = "Vector3"; + this.vec3ToolStripButton.Value = typeof(ReClassNET.Nodes.Vector3Node); + this.vec3ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // vec2ToolStripButton + // + this.vec2ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.vec2ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Vector_2; + this.vec2ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.vec2ToolStripButton.Name = "vec2ToolStripButton"; + this.vec2ToolStripButton.Size = new System.Drawing.Size(23, 22); + this.vec2ToolStripButton.ToolTipText = "Vector2"; + this.vec2ToolStripButton.Value = typeof(ReClassNET.Nodes.Vector2Node); + this.vec2ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // mat44ToolStripButton + // + this.mat44ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.mat44ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Matrix_4x4; + this.mat44ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.mat44ToolStripButton.Name = "mat44ToolStripButton"; + this.mat44ToolStripButton.Size = new System.Drawing.Size(23, 22); + this.mat44ToolStripButton.ToolTipText = "4x4 Matrix"; + this.mat44ToolStripButton.Value = typeof(ReClassNET.Nodes.Matrix4x4Node); + this.mat44ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // mat34ToolStripButton + // + this.mat34ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.mat34ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Matrix_3x4; + this.mat34ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.mat34ToolStripButton.Name = "mat34ToolStripButton"; + this.mat34ToolStripButton.Size = new System.Drawing.Size(23, 22); + this.mat34ToolStripButton.ToolTipText = "3x4 Matrix"; + this.mat34ToolStripButton.Value = typeof(ReClassNET.Nodes.Matrix3x4Node); + this.mat34ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // mat33ToolStripButton + // + this.mat33ToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.mat33ToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Matrix_3x3; + this.mat33ToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.mat33ToolStripButton.Name = "mat33ToolStripButton"; + this.mat33ToolStripButton.Size = new System.Drawing.Size(23, 22); + this.mat33ToolStripButton.ToolTipText = "3x3 Matrix"; + this.mat33ToolStripButton.Value = typeof(ReClassNET.Nodes.Matrix3x3Node); + this.mat33ToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // toolStripSeparator13 + // + this.toolStripSeparator13.Name = "toolStripSeparator13"; + this.toolStripSeparator13.Size = new System.Drawing.Size(6, 25); + // + // utf8TextToolStripButton + // + this.utf8TextToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.utf8TextToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Text; + this.utf8TextToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.utf8TextToolStripButton.Name = "utf8TextToolStripButton"; + this.utf8TextToolStripButton.Size = new System.Drawing.Size(23, 22); + this.utf8TextToolStripButton.ToolTipText = "UTF8 Text"; + this.utf8TextToolStripButton.Value = typeof(ReClassNET.Nodes.Utf8TextNode); + this.utf8TextToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // utf8TextPtrToolStripButton + // + this.utf8TextPtrToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.utf8TextPtrToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Text_Pointer; + this.utf8TextPtrToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.utf8TextPtrToolStripButton.Name = "utf8TextPtrToolStripButton"; + this.utf8TextPtrToolStripButton.Size = new System.Drawing.Size(23, 22); + this.utf8TextPtrToolStripButton.ToolTipText = "Pointer to UTF8 text"; + this.utf8TextPtrToolStripButton.Value = typeof(ReClassNET.Nodes.Utf8TextPtrNode); + this.utf8TextPtrToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // utf16TextToolStripButton + // + this.utf16TextToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.utf16TextToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UText; + this.utf16TextToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.utf16TextToolStripButton.Name = "utf16TextToolStripButton"; + this.utf16TextToolStripButton.Size = new System.Drawing.Size(23, 22); + this.utf16TextToolStripButton.ToolTipText = "UTF16 / Unicode Text"; + this.utf16TextToolStripButton.Value = typeof(ReClassNET.Nodes.Utf16TextNode); + this.utf16TextToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // utf16TextPtrToolStripButton + // + this.utf16TextPtrToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.utf16TextPtrToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UText_Pointer; + this.utf16TextPtrToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.utf16TextPtrToolStripButton.Name = "utf16TextPtrToolStripButton"; + this.utf16TextPtrToolStripButton.Size = new System.Drawing.Size(23, 22); + this.utf16TextPtrToolStripButton.ToolTipText = "Pointer to UTF16 / Unicode text"; + this.utf16TextPtrToolStripButton.Value = typeof(ReClassNET.Nodes.Utf16TextPtrNode); + this.utf16TextPtrToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // toolStripSeparator14 + // + this.toolStripSeparator14.Name = "toolStripSeparator14"; + this.toolStripSeparator14.Size = new System.Drawing.Size(6, 25); + // + // classInstanceToolStripButton6 + // + this.classInstanceToolStripButton6.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.classInstanceToolStripButton6.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Class_Instance; + this.classInstanceToolStripButton6.ImageTransparentColor = System.Drawing.Color.Magenta; + this.classInstanceToolStripButton6.Name = "classInstanceToolStripButton6"; + this.classInstanceToolStripButton6.Size = new System.Drawing.Size(23, 22); + this.classInstanceToolStripButton6.ToolTipText = "Class instance"; + this.classInstanceToolStripButton6.Value = typeof(ReClassNET.Nodes.ClassInstanceNode); + this.classInstanceToolStripButton6.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // classPtrToolStripButton + // + this.classPtrToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.classPtrToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Class_Pointer; + this.classPtrToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.classPtrToolStripButton.Name = "classPtrToolStripButton"; + this.classPtrToolStripButton.Size = new System.Drawing.Size(23, 22); + this.classPtrToolStripButton.ToolTipText = "Pointer to class instance"; + this.classPtrToolStripButton.Value = typeof(ReClassNET.Nodes.ClassPtrNode); + this.classPtrToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // toolStripSeparator15 + // + this.toolStripSeparator15.Name = "toolStripSeparator15"; + this.toolStripSeparator15.Size = new System.Drawing.Size(6, 25); + // + // arrayToolStripButton + // + this.arrayToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.arrayToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Array; + this.arrayToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.arrayToolStripButton.Name = "arrayToolStripButton"; + this.arrayToolStripButton.Size = new System.Drawing.Size(23, 22); + this.arrayToolStripButton.ToolTipText = "Array of Classes"; + this.arrayToolStripButton.Value = typeof(ReClassNET.Nodes.ClassInstanceArrayNode); + this.arrayToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // ptrArrayToolStripButton + // + this.ptrArrayToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.ptrArrayToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Pointer_Array; + this.ptrArrayToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.ptrArrayToolStripButton.Name = "ptrArrayToolStripButton"; + this.ptrArrayToolStripButton.Size = new System.Drawing.Size(23, 22); + this.ptrArrayToolStripButton.ToolTipText = "Array of Pointers"; + this.ptrArrayToolStripButton.Value = typeof(ReClassNET.Nodes.ClassPtrArrayNode); + this.ptrArrayToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // vtableToolStripButton + // + this.vtableToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.vtableToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_VTable; + this.vtableToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.vtableToolStripButton.Name = "vtableToolStripButton"; + this.vtableToolStripButton.Size = new System.Drawing.Size(23, 22); + this.vtableToolStripButton.ToolTipText = "Pointer to VTable"; + this.vtableToolStripButton.Value = typeof(ReClassNET.Nodes.VTableNode); + this.vtableToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // fnPtrToolStripButton + // + this.fnPtrToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.fnPtrToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Function_Pointer; + this.fnPtrToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.fnPtrToolStripButton.Name = "fnPtrToolStripButton"; + this.fnPtrToolStripButton.Size = new System.Drawing.Size(23, 22); + this.fnPtrToolStripButton.ToolTipText = "Pointer to a function"; + this.fnPtrToolStripButton.Value = typeof(ReClassNET.Nodes.FunctionPtrNode); + this.fnPtrToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // fnTypeToolStripButton + // + this.fnTypeToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.fnTypeToolStripButton.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Function; + this.fnTypeToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.fnTypeToolStripButton.Name = "fnTypeToolStripButton"; + this.fnTypeToolStripButton.Size = new System.Drawing.Size(23, 22); + this.fnTypeToolStripButton.ToolTipText = "Function"; + this.fnTypeToolStripButton.Value = typeof(ReClassNET.Nodes.FunctionNode); + this.fnTypeToolStripButton.Click += new System.EventHandler(this.memoryTypeToolStripButton_Click); + // + // toolStripSeparator19 + // + this.toolStripSeparator19.Name = "toolStripSeparator19"; + this.toolStripSeparator19.Size = new System.Drawing.Size(6, 25); + // + // statusStrip + // + this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.processInfoToolStripStatusLabel, this.infoToolStripStatusLabel}); - this.statusStrip.Location = new System.Drawing.Point(0, 573); - this.statusStrip.Name = "statusStrip"; - this.statusStrip.Size = new System.Drawing.Size(1141, 22); - this.statusStrip.TabIndex = 1; - // - // processInfoToolStripStatusLabel - // - this.processInfoToolStripStatusLabel.Name = "processInfoToolStripStatusLabel"; - this.processInfoToolStripStatusLabel.Size = new System.Drawing.Size(112, 17); - this.processInfoToolStripStatusLabel.Text = "No process selected"; - // - // infoToolStripStatusLabel - // - this.infoToolStripStatusLabel.Name = "infoToolStripStatusLabel"; - this.infoToolStripStatusLabel.Size = new System.Drawing.Size(23, 17); - this.infoToolStripStatusLabel.Text = "<>"; - this.infoToolStripStatusLabel.Visible = false; - // - // mainMenuStrip - // - this.mainMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.statusStrip.Location = new System.Drawing.Point(0, 573); + this.statusStrip.Name = "statusStrip"; + this.statusStrip.Size = new System.Drawing.Size(1141, 22); + this.statusStrip.TabIndex = 1; + // + // processInfoToolStripStatusLabel + // + this.processInfoToolStripStatusLabel.Name = "processInfoToolStripStatusLabel"; + this.processInfoToolStripStatusLabel.Size = new System.Drawing.Size(112, 17); + this.processInfoToolStripStatusLabel.Text = "No process selected"; + // + // infoToolStripStatusLabel + // + this.infoToolStripStatusLabel.Name = "infoToolStripStatusLabel"; + this.infoToolStripStatusLabel.Size = new System.Drawing.Size(23, 17); + this.infoToolStripStatusLabel.Text = "<>"; + this.infoToolStripStatusLabel.Visible = false; + // + // mainMenuStrip + // + this.mainMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.fileToolStripMenuItem, this.processToolStripMenuItem, this.projectToolStripMenuItem, this.helpToolStripMenuItem}); - this.mainMenuStrip.Location = new System.Drawing.Point(0, 0); - this.mainMenuStrip.Name = "mainMenuStrip"; - this.mainMenuStrip.Size = new System.Drawing.Size(1141, 24); - this.mainMenuStrip.TabIndex = 2; - // - // fileToolStripMenuItem - // - this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.mainMenuStrip.Location = new System.Drawing.Point(0, 0); + this.mainMenuStrip.Name = "mainMenuStrip"; + this.mainMenuStrip.Size = new System.Drawing.Size(1141, 24); + this.mainMenuStrip.TabIndex = 2; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.attachToProcessToolStripMenuItem, this.reattachToProcessToolStripMenuItem, this.detachToolStripMenuItem, @@ -950,129 +953,130 @@ private void InitializeComponent() this.pluginsToolStripMenuItem, this.toolStripSeparator5, this.quitToolStripMenuItem}); - this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; - this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); - this.fileToolStripMenuItem.Text = "File"; - this.fileToolStripMenuItem.DropDownOpening += new System.EventHandler(this.fileToolStripMenuItem_DropDownOpening); - // - // attachToProcessToolStripMenuItem - // - this.attachToProcessToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Magnifier; - this.attachToProcessToolStripMenuItem.Name = "attachToProcessToolStripMenuItem"; - this.attachToProcessToolStripMenuItem.Size = new System.Drawing.Size(246, 22); - this.attachToProcessToolStripMenuItem.Text = "Attach to Process..."; - this.attachToProcessToolStripMenuItem.Click += new System.EventHandler(this.attachToProcessToolStripSplitButton_ButtonClick); - // - // reattachToProcessToolStripMenuItem - // - this.reattachToProcessToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Magnifier_Arrow; - this.reattachToProcessToolStripMenuItem.Name = "reattachToProcessToolStripMenuItem"; - this.reattachToProcessToolStripMenuItem.Size = new System.Drawing.Size(246, 22); - this.reattachToProcessToolStripMenuItem.Text = "<>"; - this.reattachToProcessToolStripMenuItem.Click += new System.EventHandler(this.reattachToProcessToolStripMenuItem_Click); - // - // detachToolStripMenuItem - // - this.detachToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Magnifier_Remove; - this.detachToolStripMenuItem.Name = "detachToolStripMenuItem"; - this.detachToolStripMenuItem.Size = new System.Drawing.Size(246, 22); - this.detachToolStripMenuItem.Text = "Detach"; - this.detachToolStripMenuItem.Click += new System.EventHandler(this.detachToolStripMenuItem_Click); - // - // toolStripSeparator1 - // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(243, 6); - // - // openProjectToolStripMenuItem - // - this.openProjectToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Folder; - this.openProjectToolStripMenuItem.Name = "openProjectToolStripMenuItem"; - this.openProjectToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))); - this.openProjectToolStripMenuItem.Size = new System.Drawing.Size(246, 22); - this.openProjectToolStripMenuItem.Text = "Open Project..."; - this.openProjectToolStripMenuItem.Click += new System.EventHandler(this.openProjectToolStripMenuItem_Click); - // - // mergeWithProjectToolStripMenuItem - // - this.mergeWithProjectToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Folder_Add; - this.mergeWithProjectToolStripMenuItem.Name = "mergeWithProjectToolStripMenuItem"; - this.mergeWithProjectToolStripMenuItem.Size = new System.Drawing.Size(246, 22); - this.mergeWithProjectToolStripMenuItem.Text = "Merge with Project..."; - this.mergeWithProjectToolStripMenuItem.Click += new System.EventHandler(this.mergeWithProjectToolStripMenuItem_Click); - // - // clearProjectToolStripMenuItem - // - this.clearProjectToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Arrow_Refresh; - this.clearProjectToolStripMenuItem.Name = "clearProjectToolStripMenuItem"; - this.clearProjectToolStripMenuItem.Size = new System.Drawing.Size(246, 22); - this.clearProjectToolStripMenuItem.Text = "Clear Project"; - this.clearProjectToolStripMenuItem.Click += new System.EventHandler(this.clearProjectToolStripMenuItem_Click); - // - // toolStripSeparator2 - // - this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(243, 6); - // - // saveToolStripMenuItem - // - this.saveToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Save; - this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; - this.saveToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S))); - this.saveToolStripMenuItem.Size = new System.Drawing.Size(246, 22); - this.saveToolStripMenuItem.Text = "Save"; - this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); - // - // saveAsToolStripMenuItem - // - this.saveAsToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Save_As; - this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem"; - this.saveAsToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); + this.fileToolStripMenuItem.Text = "File"; + this.fileToolStripMenuItem.DropDownOpening += new System.EventHandler(this.fileToolStripMenuItem_DropDownOpening); + // + // attachToProcessToolStripMenuItem + // + this.attachToProcessToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Magnifier; + this.attachToProcessToolStripMenuItem.Name = "attachToProcessToolStripMenuItem"; + this.attachToProcessToolStripMenuItem.Size = new System.Drawing.Size(195, 22); + this.attachToProcessToolStripMenuItem.Text = "Attach to Process..."; + this.attachToProcessToolStripMenuItem.Click += new System.EventHandler(this.attachToProcessToolStripSplitButton_ButtonClick); + // + // reattachToProcessToolStripMenuItem + // + this.reattachToProcessToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Magnifier_Arrow; + this.reattachToProcessToolStripMenuItem.Name = "reattachToProcessToolStripMenuItem"; + this.reattachToProcessToolStripMenuItem.Size = new System.Drawing.Size(195, 22); + this.reattachToProcessToolStripMenuItem.Text = "<>"; + this.reattachToProcessToolStripMenuItem.Click += new System.EventHandler(this.reattachToProcessToolStripMenuItem_Click); + // + // detachToolStripMenuItem + // + this.detachToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Magnifier_Remove; + this.detachToolStripMenuItem.Name = "detachToolStripMenuItem"; + this.detachToolStripMenuItem.Size = new System.Drawing.Size(195, 22); + this.detachToolStripMenuItem.Text = "Detach"; + this.detachToolStripMenuItem.Click += new System.EventHandler(this.detachToolStripMenuItem_Click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(192, 6); + // + // openProjectToolStripMenuItem + // + this.openProjectToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Folder; + this.openProjectToolStripMenuItem.Name = "openProjectToolStripMenuItem"; + this.openProjectToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))); + this.openProjectToolStripMenuItem.Size = new System.Drawing.Size(195, 22); + this.openProjectToolStripMenuItem.Text = "Open Project..."; + this.openProjectToolStripMenuItem.Click += new System.EventHandler(this.openProjectToolStripMenuItem_Click); + // + // mergeWithProjectToolStripMenuItem + // + this.mergeWithProjectToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Folder_Add; + this.mergeWithProjectToolStripMenuItem.Name = "mergeWithProjectToolStripMenuItem"; + this.mergeWithProjectToolStripMenuItem.Size = new System.Drawing.Size(195, 22); + this.mergeWithProjectToolStripMenuItem.Text = "Merge with Project..."; + this.mergeWithProjectToolStripMenuItem.Click += new System.EventHandler(this.mergeWithProjectToolStripMenuItem_Click); + // + // clearProjectToolStripMenuItem + // + this.clearProjectToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Arrow_Refresh; + this.clearProjectToolStripMenuItem.Name = "clearProjectToolStripMenuItem"; + this.clearProjectToolStripMenuItem.Size = new System.Drawing.Size(195, 22); + this.clearProjectToolStripMenuItem.Text = "Clear Project"; + this.clearProjectToolStripMenuItem.Click += new System.EventHandler(this.clearProjectToolStripMenuItem_Click); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(192, 6); + // + // saveToolStripMenuItem + // + this.saveToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Save; + this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; + this.saveToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S))); + this.saveToolStripMenuItem.Size = new System.Drawing.Size(195, 22); + this.saveToolStripMenuItem.Text = "Save"; + this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); + // + // saveAsToolStripMenuItem + // + this.saveAsToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Save_As; + this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem"; + this.saveAsToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) | System.Windows.Forms.Keys.S))); - this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(246, 22); - this.saveAsToolStripMenuItem.Text = "Save as..."; - this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click); - // - // toolStripSeparator3 - // - this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(243, 6); - // - // settingsToolStripMenuItem - // - this.settingsToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Cogs; - this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; - this.settingsToolStripMenuItem.Size = new System.Drawing.Size(246, 22); - this.settingsToolStripMenuItem.Text = "Settings..."; - this.settingsToolStripMenuItem.Click += new System.EventHandler(this.settingsToolStripMenuItem_Click); - // - // pluginsToolStripMenuItem - // - this.pluginsToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Plugin; - this.pluginsToolStripMenuItem.Name = "pluginsToolStripMenuItem"; - this.pluginsToolStripMenuItem.Size = new System.Drawing.Size(246, 22); - this.pluginsToolStripMenuItem.Text = "Plugins..."; - this.pluginsToolStripMenuItem.Click += new System.EventHandler(this.pluginsToolStripButton_Click); - // - // toolStripSeparator5 - // - this.toolStripSeparator5.Name = "toolStripSeparator5"; - this.toolStripSeparator5.Size = new System.Drawing.Size(243, 6); - // - // quitToolStripMenuItem - // - this.quitToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Quit; - this.quitToolStripMenuItem.Name = "quitToolStripMenuItem"; - this.quitToolStripMenuItem.Size = new System.Drawing.Size(246, 22); - this.quitToolStripMenuItem.Text = "Quit"; - this.quitToolStripMenuItem.Click += new System.EventHandler(this.quitToolStripMenuItem_Click); - // - // processToolStripMenuItem - // - this.processToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(195, 22); + this.saveAsToolStripMenuItem.Text = "Save as..."; + this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click); + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(192, 6); + // + // settingsToolStripMenuItem + // + this.settingsToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Cogs; + this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; + this.settingsToolStripMenuItem.Size = new System.Drawing.Size(195, 22); + this.settingsToolStripMenuItem.Text = "Settings..."; + this.settingsToolStripMenuItem.Click += new System.EventHandler(this.settingsToolStripMenuItem_Click); + // + // pluginsToolStripMenuItem + // + this.pluginsToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Plugin; + this.pluginsToolStripMenuItem.Name = "pluginsToolStripMenuItem"; + this.pluginsToolStripMenuItem.Size = new System.Drawing.Size(195, 22); + this.pluginsToolStripMenuItem.Text = "Plugins..."; + this.pluginsToolStripMenuItem.Click += new System.EventHandler(this.pluginsToolStripButton_Click); + // + // toolStripSeparator5 + // + this.toolStripSeparator5.Name = "toolStripSeparator5"; + this.toolStripSeparator5.Size = new System.Drawing.Size(192, 6); + // + // quitToolStripMenuItem + // + this.quitToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Quit; + this.quitToolStripMenuItem.Name = "quitToolStripMenuItem"; + this.quitToolStripMenuItem.Size = new System.Drawing.Size(195, 22); + this.quitToolStripMenuItem.Text = "Quit"; + this.quitToolStripMenuItem.Click += new System.EventHandler(this.quitToolStripMenuItem_Click); + // + // processToolStripMenuItem + // + this.processToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.processInformationsToolStripMenuItem, this.memorySearcherToolStripMenuItem, this.namedAddressesToolStripMenuItem, + this.classCompareToolStripMenuItem, this.toolStripSeparator17, this.loadSymbolToolStripMenuItem, this.loadSymbolsToolStripMenuItem, @@ -1080,169 +1084,193 @@ private void InitializeComponent() this.resumeProcessToolStripMenuItem, this.suspendProcessToolStripMenuItem, this.terminateProcessToolStripMenuItem}); - this.processToolStripMenuItem.Name = "processToolStripMenuItem"; - this.processToolStripMenuItem.Size = new System.Drawing.Size(59, 20); - this.processToolStripMenuItem.Text = "Process"; - // - // processInformationsToolStripMenuItem - // - this.processInformationsToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Category; - this.processInformationsToolStripMenuItem.Name = "processInformationsToolStripMenuItem"; - this.processInformationsToolStripMenuItem.Size = new System.Drawing.Size(194, 22); - this.processInformationsToolStripMenuItem.Text = "Process Informations..."; - this.processInformationsToolStripMenuItem.Click += new System.EventHandler(this.memoryViewerToolStripMenuItem_Click); - // - // memorySearcherToolStripMenuItem - // - this.memorySearcherToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Eye; - this.memorySearcherToolStripMenuItem.Name = "memorySearcherToolStripMenuItem"; - this.memorySearcherToolStripMenuItem.Size = new System.Drawing.Size(194, 22); - this.memorySearcherToolStripMenuItem.Text = "Memory Searcher..."; - this.memorySearcherToolStripMenuItem.Click += new System.EventHandler(this.memorySearcherToolStripMenuItem_Click); - // - // toolStripSeparator17 - // - this.toolStripSeparator17.Name = "toolStripSeparator17"; - this.toolStripSeparator17.Size = new System.Drawing.Size(191, 6); - // - // loadSymbolToolStripMenuItem - // - this.loadSymbolToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Pdb; - this.loadSymbolToolStripMenuItem.Name = "loadSymbolToolStripMenuItem"; - this.loadSymbolToolStripMenuItem.Size = new System.Drawing.Size(194, 22); - this.loadSymbolToolStripMenuItem.Text = "Load Symbol..."; - this.loadSymbolToolStripMenuItem.Click += new System.EventHandler(this.loadSymbolToolStripMenuItem_Click); - // - // loadSymbolsToolStripMenuItem - // - this.loadSymbolsToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("loadSymbolsToolStripMenuItem.Image"))); - this.loadSymbolsToolStripMenuItem.Name = "loadSymbolsToolStripMenuItem"; - this.loadSymbolsToolStripMenuItem.Size = new System.Drawing.Size(194, 22); - this.loadSymbolsToolStripMenuItem.Text = "Load all Symbols"; - this.loadSymbolsToolStripMenuItem.Click += new System.EventHandler(this.loadSymbolsToolStripMenuItem_Click); - // - // toolStripSeparator4 - // - this.toolStripSeparator4.Name = "toolStripSeparator4"; - this.toolStripSeparator4.Size = new System.Drawing.Size(191, 6); - // - // resumeProcessToolStripMenuItem - // - this.resumeProcessToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Control_Play; - this.resumeProcessToolStripMenuItem.Name = "resumeProcessToolStripMenuItem"; - this.resumeProcessToolStripMenuItem.Size = new System.Drawing.Size(194, 22); - this.resumeProcessToolStripMenuItem.Text = "Resume"; - this.resumeProcessToolStripMenuItem.Click += new System.EventHandler(this.ControlRemoteProcessToolStripMenuItem_Click); - // - // suspendProcessToolStripMenuItem - // - this.suspendProcessToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Control_Pause; - this.suspendProcessToolStripMenuItem.Name = "suspendProcessToolStripMenuItem"; - this.suspendProcessToolStripMenuItem.Size = new System.Drawing.Size(194, 22); - this.suspendProcessToolStripMenuItem.Text = "Suspend"; - this.suspendProcessToolStripMenuItem.Click += new System.EventHandler(this.ControlRemoteProcessToolStripMenuItem_Click); - // - // terminateProcessToolStripMenuItem - // - this.terminateProcessToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Control_Stop; - this.terminateProcessToolStripMenuItem.Name = "terminateProcessToolStripMenuItem"; - this.terminateProcessToolStripMenuItem.Size = new System.Drawing.Size(194, 22); - this.terminateProcessToolStripMenuItem.Text = "Kill"; - this.terminateProcessToolStripMenuItem.Click += new System.EventHandler(this.ControlRemoteProcessToolStripMenuItem_Click); - // - // namedAddressesToolStripMenuItem - // - this.namedAddressesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Custom_Type; - this.namedAddressesToolStripMenuItem.Name = "namedAddressesToolStripMenuItem"; - this.namedAddressesToolStripMenuItem.Size = new System.Drawing.Size(194, 22); - this.namedAddressesToolStripMenuItem.Text = "Named Addresses..."; - this.namedAddressesToolStripMenuItem.Click += new System.EventHandler(this.namedAddressesToolStripMenuItem_Click); - // - // projectToolStripMenuItem - // - this.projectToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.processToolStripMenuItem.Name = "processToolStripMenuItem"; + this.processToolStripMenuItem.Size = new System.Drawing.Size(59, 20); + this.processToolStripMenuItem.Text = "Process"; + // + // processInformationsToolStripMenuItem + // + this.processInformationsToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Category; + this.processInformationsToolStripMenuItem.Name = "processInformationsToolStripMenuItem"; + this.processInformationsToolStripMenuItem.Size = new System.Drawing.Size(194, 22); + this.processInformationsToolStripMenuItem.Text = "Process Informations..."; + this.processInformationsToolStripMenuItem.Click += new System.EventHandler(this.memoryViewerToolStripMenuItem_Click); + // + // memorySearcherToolStripMenuItem + // + this.memorySearcherToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Eye; + this.memorySearcherToolStripMenuItem.Name = "memorySearcherToolStripMenuItem"; + this.memorySearcherToolStripMenuItem.Size = new System.Drawing.Size(194, 22); + this.memorySearcherToolStripMenuItem.Text = "Memory Searcher..."; + this.memorySearcherToolStripMenuItem.Click += new System.EventHandler(this.memorySearcherToolStripMenuItem_Click); + // + // namedAddressesToolStripMenuItem + // + this.namedAddressesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Custom_Type; + this.namedAddressesToolStripMenuItem.Name = "namedAddressesToolStripMenuItem"; + this.namedAddressesToolStripMenuItem.Size = new System.Drawing.Size(194, 22); + this.namedAddressesToolStripMenuItem.Text = "Named Addresses..."; + this.namedAddressesToolStripMenuItem.Click += new System.EventHandler(this.namedAddressesToolStripMenuItem_Click); + // + // classCompareToolStripMenuItem + // + this.classCompareToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.compare16x16; + this.classCompareToolStripMenuItem.Name = "classCompareToolStripMenuItem"; + this.classCompareToolStripMenuItem.Size = new System.Drawing.Size(194, 22); + this.classCompareToolStripMenuItem.Text = "Class Compare"; + this.classCompareToolStripMenuItem.Click += new System.EventHandler(this.classCompareToolStripMenuItem_Click); + // + // toolStripSeparator17 + // + this.toolStripSeparator17.Name = "toolStripSeparator17"; + this.toolStripSeparator17.Size = new System.Drawing.Size(191, 6); + // + // loadSymbolToolStripMenuItem + // + this.loadSymbolToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Pdb; + this.loadSymbolToolStripMenuItem.Name = "loadSymbolToolStripMenuItem"; + this.loadSymbolToolStripMenuItem.Size = new System.Drawing.Size(194, 22); + this.loadSymbolToolStripMenuItem.Text = "Load Symbol..."; + this.loadSymbolToolStripMenuItem.Click += new System.EventHandler(this.loadSymbolToolStripMenuItem_Click); + // + // loadSymbolsToolStripMenuItem + // + this.loadSymbolsToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("loadSymbolsToolStripMenuItem.Image"))); + this.loadSymbolsToolStripMenuItem.Name = "loadSymbolsToolStripMenuItem"; + this.loadSymbolsToolStripMenuItem.Size = new System.Drawing.Size(194, 22); + this.loadSymbolsToolStripMenuItem.Text = "Load all Symbols"; + this.loadSymbolsToolStripMenuItem.Click += new System.EventHandler(this.loadSymbolsToolStripMenuItem_Click); + // + // toolStripSeparator4 + // + this.toolStripSeparator4.Name = "toolStripSeparator4"; + this.toolStripSeparator4.Size = new System.Drawing.Size(191, 6); + // + // resumeProcessToolStripMenuItem + // + this.resumeProcessToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Control_Play; + this.resumeProcessToolStripMenuItem.Name = "resumeProcessToolStripMenuItem"; + this.resumeProcessToolStripMenuItem.Size = new System.Drawing.Size(194, 22); + this.resumeProcessToolStripMenuItem.Text = "Resume"; + this.resumeProcessToolStripMenuItem.Click += new System.EventHandler(this.ControlRemoteProcessToolStripMenuItem_Click); + // + // suspendProcessToolStripMenuItem + // + this.suspendProcessToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Control_Pause; + this.suspendProcessToolStripMenuItem.Name = "suspendProcessToolStripMenuItem"; + this.suspendProcessToolStripMenuItem.Size = new System.Drawing.Size(194, 22); + this.suspendProcessToolStripMenuItem.Text = "Suspend"; + this.suspendProcessToolStripMenuItem.Click += new System.EventHandler(this.ControlRemoteProcessToolStripMenuItem_Click); + // + // terminateProcessToolStripMenuItem + // + this.terminateProcessToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Control_Stop; + this.terminateProcessToolStripMenuItem.Name = "terminateProcessToolStripMenuItem"; + this.terminateProcessToolStripMenuItem.Size = new System.Drawing.Size(194, 22); + this.terminateProcessToolStripMenuItem.Text = "Kill"; + this.terminateProcessToolStripMenuItem.Click += new System.EventHandler(this.ControlRemoteProcessToolStripMenuItem_Click); + // + // projectToolStripMenuItem + // + this.projectToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.addNewClassToolStripMenuItem, + this.toolStripSeparator20, this.cleanUnusedClassesToolStripMenuItem, this.toolStripSeparator16, this.generateCppCodeToolStripMenuItem, this.generateCSharpCodeToolStripMenuItem}); - this.projectToolStripMenuItem.Name = "projectToolStripMenuItem"; - this.projectToolStripMenuItem.Size = new System.Drawing.Size(56, 20); - this.projectToolStripMenuItem.Text = "Project"; - // - // cleanUnusedClassesToolStripMenuItem - // - this.cleanUnusedClassesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Chart_Delete; - this.cleanUnusedClassesToolStripMenuItem.Name = "cleanUnusedClassesToolStripMenuItem"; - this.cleanUnusedClassesToolStripMenuItem.Size = new System.Drawing.Size(198, 22); - this.cleanUnusedClassesToolStripMenuItem.Text = "Remove unused classes"; - this.cleanUnusedClassesToolStripMenuItem.Click += new System.EventHandler(this.cleanUnusedClassesToolStripMenuItem_Click); - // - // toolStripSeparator16 - // - this.toolStripSeparator16.Name = "toolStripSeparator16"; - this.toolStripSeparator16.Size = new System.Drawing.Size(195, 6); - // - // generateCppCodeToolStripMenuItem - // - this.generateCppCodeToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Page_Code_Cpp; - this.generateCppCodeToolStripMenuItem.Name = "generateCppCodeToolStripMenuItem"; - this.generateCppCodeToolStripMenuItem.Size = new System.Drawing.Size(198, 22); - this.generateCppCodeToolStripMenuItem.Text = "Generate C++ Code..."; - this.generateCppCodeToolStripMenuItem.Click += new System.EventHandler(this.generateCppCodeToolStripMenuItem_Click); - // - // generateCSharpCodeToolStripMenuItem - // - this.generateCSharpCodeToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Page_Code_Csharp; - this.generateCSharpCodeToolStripMenuItem.Name = "generateCSharpCodeToolStripMenuItem"; - this.generateCSharpCodeToolStripMenuItem.Size = new System.Drawing.Size(198, 22); - this.generateCSharpCodeToolStripMenuItem.Text = "Generate C# Code..."; - this.generateCSharpCodeToolStripMenuItem.Click += new System.EventHandler(this.generateCSharpCodeToolStripMenuItem_Click); - // - // helpToolStripMenuItem - // - this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.projectToolStripMenuItem.Name = "projectToolStripMenuItem"; + this.projectToolStripMenuItem.Size = new System.Drawing.Size(56, 20); + this.projectToolStripMenuItem.Text = "Project"; + // + // addNewClassToolStripMenuItem + // + this.addNewClassToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Class_Add; + this.addNewClassToolStripMenuItem.Name = "addNewClassToolStripMenuItem"; + this.addNewClassToolStripMenuItem.Size = new System.Drawing.Size(198, 22); + this.addNewClassToolStripMenuItem.Text = "Add new class"; + this.addNewClassToolStripMenuItem.Click += new System.EventHandler(this.addNewClassToolStripMenuItem_Click); + // + // toolStripSeparator20 + // + this.toolStripSeparator20.Name = "toolStripSeparator20"; + this.toolStripSeparator20.Size = new System.Drawing.Size(195, 6); + // + // cleanUnusedClassesToolStripMenuItem + // + this.cleanUnusedClassesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Chart_Delete; + this.cleanUnusedClassesToolStripMenuItem.Name = "cleanUnusedClassesToolStripMenuItem"; + this.cleanUnusedClassesToolStripMenuItem.Size = new System.Drawing.Size(198, 22); + this.cleanUnusedClassesToolStripMenuItem.Text = "Remove unused classes"; + this.cleanUnusedClassesToolStripMenuItem.Click += new System.EventHandler(this.cleanUnusedClassesToolStripMenuItem_Click); + // + // toolStripSeparator16 + // + this.toolStripSeparator16.Name = "toolStripSeparator16"; + this.toolStripSeparator16.Size = new System.Drawing.Size(195, 6); + // + // generateCppCodeToolStripMenuItem + // + this.generateCppCodeToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Page_Code_Cpp; + this.generateCppCodeToolStripMenuItem.Name = "generateCppCodeToolStripMenuItem"; + this.generateCppCodeToolStripMenuItem.Size = new System.Drawing.Size(198, 22); + this.generateCppCodeToolStripMenuItem.Text = "Generate C++ Code..."; + this.generateCppCodeToolStripMenuItem.Click += new System.EventHandler(this.generateCppCodeToolStripMenuItem_Click); + // + // generateCSharpCodeToolStripMenuItem + // + this.generateCSharpCodeToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Page_Code_Csharp; + this.generateCSharpCodeToolStripMenuItem.Name = "generateCSharpCodeToolStripMenuItem"; + this.generateCSharpCodeToolStripMenuItem.Size = new System.Drawing.Size(198, 22); + this.generateCSharpCodeToolStripMenuItem.Text = "Generate C# Code..."; + this.generateCSharpCodeToolStripMenuItem.Click += new System.EventHandler(this.generateCSharpCodeToolStripMenuItem_Click); + // + // helpToolStripMenuItem + // + this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.aboutToolStripMenuItem}); - this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; - this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); - this.helpToolStripMenuItem.Text = "Help"; - // - // aboutToolStripMenuItem - // - this.aboutToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Information; - this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; - this.aboutToolStripMenuItem.Size = new System.Drawing.Size(152, 22); - this.aboutToolStripMenuItem.Text = "About..."; - this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); - // - // MainForm - // - this.AllowDrop = true; - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(1141, 595); - this.Controls.Add(this.splitContainer); - this.Controls.Add(this.toolStrip); - this.Controls.Add(this.statusStrip); - this.Controls.Add(this.mainMenuStrip); - this.MainMenuStrip = this.mainMenuStrip; - this.MinimumSize = new System.Drawing.Size(200, 100); - this.Name = "MainForm"; - this.Text = "ReClass.NET"; - this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing); - this.DragDrop += new System.Windows.Forms.DragEventHandler(this.MainForm_DragDrop); - this.DragEnter += new System.Windows.Forms.DragEventHandler(this.MainForm_DragEnter); - this.splitContainer.Panel1.ResumeLayout(false); - this.splitContainer.Panel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).EndInit(); - this.splitContainer.ResumeLayout(false); - this.toolStrip.ResumeLayout(false); - this.toolStrip.PerformLayout(); - this.statusStrip.ResumeLayout(false); - this.statusStrip.PerformLayout(); - this.mainMenuStrip.ResumeLayout(false); - this.mainMenuStrip.PerformLayout(); - this.ResumeLayout(false); - this.PerformLayout(); + this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; + this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); + this.helpToolStripMenuItem.Text = "Help"; + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Information; + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(116, 22); + this.aboutToolStripMenuItem.Text = "About..."; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); + // + // MainForm + // + this.AllowDrop = true; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(1141, 595); + this.Controls.Add(this.splitContainer); + this.Controls.Add(this.toolStrip); + this.Controls.Add(this.statusStrip); + this.Controls.Add(this.mainMenuStrip); + this.MainMenuStrip = this.mainMenuStrip; + this.MinimumSize = new System.Drawing.Size(200, 100); + this.Name = "MainForm"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "ReClass.NET"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing); + this.DragDrop += new System.Windows.Forms.DragEventHandler(this.MainForm_DragDrop); + this.DragEnter += new System.Windows.Forms.DragEventHandler(this.MainForm_DragEnter); + this.splitContainer.Panel1.ResumeLayout(false); + this.splitContainer.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).EndInit(); + this.splitContainer.ResumeLayout(false); + this.toolStrip.ResumeLayout(false); + this.toolStrip.PerformLayout(); + this.statusStrip.ResumeLayout(false); + this.statusStrip.PerformLayout(); + this.mainMenuStrip.ResumeLayout(false); + this.mainMenuStrip.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); } @@ -1359,6 +1387,9 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripMenuItem reattachToProcessToolStripMenuItem; private System.Windows.Forms.ToolStripSplitButton attachToProcessToolStripSplitButton; private System.Windows.Forms.ToolStripMenuItem namedAddressesToolStripMenuItem; - } + private System.Windows.Forms.ToolStripMenuItem addNewClassToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator20; + private System.Windows.Forms.ToolStripMenuItem classCompareToolStripMenuItem; + } } diff --git a/ReClass.NET/Forms/MainForm.cs b/ReClass.NET/Forms/MainForm.cs index 5ddfe86f..e029ac26 100644 --- a/ReClass.NET/Forms/MainForm.cs +++ b/ReClass.NET/Forms/MainForm.cs @@ -4,6 +4,7 @@ using System.Drawing; using System.IO; using System.Linq; +using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; @@ -42,21 +43,21 @@ public MainForm() InitializeComponent(); - Text = $"{Constants.ApplicationName} ({Constants.Platform})"; + // Text = $"{Constants.ApplicationName}"; mainMenuStrip.Renderer = new CustomToolStripProfessionalRenderer(true, true); toolStrip.Renderer = new CustomToolStripProfessionalRenderer(true, false); Program.RemoteProcess.ProcessAttached += sender => { - var text = $"{sender.UnderlayingProcess.Name} (ID: {sender.UnderlayingProcess.Id.ToString()})"; + var text = $"{sender.UnderlayingProcess.Name} (ID: {sender.UnderlayingProcess.Id.ToString()}, Platform: {Constants.Platform})"; - Text = $"{Constants.ApplicationName} ({Constants.Platform}) - {text}"; + Text = $"{Constants.ApplicationName} (x64) - {text}"; processInfoToolStripStatusLabel.Text = text; }; Program.RemoteProcess.ProcessClosed += sender => { - Text = $"{Constants.ApplicationName} ({Constants.Platform})"; + Text = $"{Constants.ApplicationName} (x64)"; processInfoToolStripStatusLabel.Text = "No process selected"; }; @@ -303,7 +304,16 @@ private void memoryViewerToolStripMenuItem_Click(object sender, EventArgs e) new ProcessInfoForm().Show(); } - private void memorySearcherToolStripMenuItem_Click(object sender, EventArgs e) + private void classCompareToolStripMenuItem_Click(object sender, EventArgs e) + { + // DeSelect + foreach (var item in memoryViewControl.SelectedNodes) + item.ClearSelection(); + + new ClassCompare(currentProject.Classes).Show(); + } + + private void memorySearcherToolStripMenuItem_Click(object sender, EventArgs e) { new ScannerForm().Show(); } @@ -365,13 +375,17 @@ private void cleanUnusedClassesToolStripMenuItem_Click(object sender, EventArgs private void generateCppCodeToolStripMenuItem_Click(object sender, EventArgs e) { - ShowCodeForm(new CppCodeGenerator()); + bool ptrIs64Bit = MessageBox.Show($"Pointer is 64bit (8byte) .?", "Pointer Size", MessageBoxButtons.YesNo) == DialogResult.Yes; + if (ptrIs64Bit && !Program.RemoteProcess.Is64) + MessageBox.Show("You targeting (x84) Process, so make sure u have 4bytes after every ClassPtr.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); + ShowCodeForm(new CppCodeGenerator(ptrIs64Bit)); } private void generateCSharpCodeToolStripMenuItem_Click(object sender, EventArgs e) { - ShowCodeForm(new CSharpCodeGenerator()); - } + bool ptrIs64Bit = MessageBox.Show("Pointer is 64bit (8byte) .?", "Pointer Size", MessageBoxButtons.YesNo) == DialogResult.Yes; + ShowCodeForm(new CSharpCodeGenerator(ptrIs64Bit)); + } private void aboutToolStripMenuItem_Click(object sender, EventArgs e) { @@ -393,6 +407,20 @@ private void attachToProcessToolStripSplitButton_ButtonClick(object sender, Even { if (pb.SelectedProcess != null) { + // Is 64Bit + Program.RemoteProcess.Is64 = System.Diagnostics.Process.GetProcessById(pb.SelectedProcess.Id.ToInt32()).Is64BitProcess(); + + if (Program.RemoteProcess.Is64) + { + Constants.Platform = "x64"; + Constants.AddressHexFormat = "X016"; + } + else + { + Constants.Platform = "x86"; + Constants.AddressHexFormat = "X08"; + } + AttachToProcess(pb.SelectedProcess); if (pb.LoadSymbols) @@ -510,7 +538,6 @@ private void processUpdateTimer_Tick(object sender, EventArgs e) private void classesView_ClassSelected(object sender, ClassNode node) { memoryViewControl.ClassNode = node; - memoryViewControl.Invalidate(); } @@ -554,8 +581,12 @@ public void AttachToProcess(ProcessInfo info) Program.RemoteProcess.Close(); - Program.RemoteProcess.Open(info); - Program.RemoteProcess.UpdateProcessInformations(); + if (MessageBox.Show("Use kprocesshacker to read/write process memory .?", "Use Kernal.?", MessageBoxButtons.YesNo) == DialogResult.Yes) + Program.RemoteProcess.Open(info, true); + else + Program.RemoteProcess.Open(info, false); + + Program.RemoteProcess.UpdateProcessInformations(); Program.Settings.LastProcess = Program.RemoteProcess.UnderlayingProcess.Name; } @@ -757,5 +788,12 @@ private void LoadAllSymbolsForCurrentProcess() .LoadAllSymbolsAsync(progress, loadSymbolsTaskToken.Token) .ContinueWith(_ => infoToolStripStatusLabel.Visible = false, TaskScheduler.FromCurrentSynchronizationContext()); } - } + + private void addNewClassToolStripMenuItem_Click(object sender, EventArgs e) + { + LinkedWindowFeatures.CreateDefaultClass(); + } + + + } } diff --git a/ReClass.NET/Forms/ProcessBrowserForm.Designer.cs b/ReClass.NET/Forms/ProcessBrowserForm.Designer.cs index d8677633..8cb4848b 100644 --- a/ReClass.NET/Forms/ProcessBrowserForm.Designer.cs +++ b/ReClass.NET/Forms/ProcessBrowserForm.Designer.cs @@ -28,230 +28,230 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - this.processDataGridView = new System.Windows.Forms.DataGridView(); - this.iconColumn = new System.Windows.Forms.DataGridViewImageColumn(); - this.processNameColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.pidColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.pathColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.filterCheckBox = new System.Windows.Forms.CheckBox(); - this.refreshButton = new System.Windows.Forms.Button(); - this.attachToProcessButton = new System.Windows.Forms.Button(); - this.loadSymbolsCheckBox = new System.Windows.Forms.CheckBox(); - this.filterGroupBox = new System.Windows.Forms.GroupBox(); - this.previousProcessLinkLabel = new System.Windows.Forms.LinkLabel(); - this.label2 = new System.Windows.Forms.Label(); - this.label1 = new System.Windows.Forms.Label(); - this.filterTextBox = new System.Windows.Forms.TextBox(); - this.bannerBox = new ReClassNET.UI.BannerBox(); - ((System.ComponentModel.ISupportInitialize)(this.processDataGridView)).BeginInit(); - this.filterGroupBox.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.bannerBox)).BeginInit(); - this.SuspendLayout(); - // - // processDataGridView - // - this.processDataGridView.AllowUserToAddRows = false; - this.processDataGridView.AllowUserToDeleteRows = false; - this.processDataGridView.AllowUserToResizeColumns = false; - this.processDataGridView.AllowUserToResizeRows = false; - this.processDataGridView.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + this.processDataGridView = new System.Windows.Forms.DataGridView(); + this.iconColumn = new System.Windows.Forms.DataGridViewImageColumn(); + this.processNameColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.pidColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.pathColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.filterCheckBox = new System.Windows.Forms.CheckBox(); + this.refreshButton = new System.Windows.Forms.Button(); + this.attachToProcessButton = new System.Windows.Forms.Button(); + this.loadSymbolsCheckBox = new System.Windows.Forms.CheckBox(); + this.filterGroupBox = new System.Windows.Forms.GroupBox(); + this.previousProcessLinkLabel = new System.Windows.Forms.LinkLabel(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.filterTextBox = new System.Windows.Forms.TextBox(); + this.bannerBox = new ReClassNET.UI.BannerBox(); + ((System.ComponentModel.ISupportInitialize)(this.processDataGridView)).BeginInit(); + this.filterGroupBox.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.bannerBox)).BeginInit(); + this.SuspendLayout(); + // + // processDataGridView + // + this.processDataGridView.AllowUserToAddRows = false; + this.processDataGridView.AllowUserToDeleteRows = false; + this.processDataGridView.AllowUserToResizeColumns = false; + this.processDataGridView.AllowUserToResizeRows = false; + this.processDataGridView.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.processDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.SingleHorizontal; - this.processDataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.processDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.processDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.SingleHorizontal; + this.processDataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.processDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.iconColumn, this.processNameColumn, this.pidColumn, this.pathColumn}); - this.processDataGridView.Location = new System.Drawing.Point(12, 199); - this.processDataGridView.MultiSelect = false; - this.processDataGridView.Name = "processDataGridView"; - this.processDataGridView.ReadOnly = true; - this.processDataGridView.RowHeadersVisible = false; - this.processDataGridView.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.processDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; - this.processDataGridView.Size = new System.Drawing.Size(549, 291); - this.processDataGridView.TabIndex = 0; - this.processDataGridView.CellMouseDoubleClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.processDataGridView_CellMouseDoubleClick); - // - // iconColumn - // - this.iconColumn.DataPropertyName = "icon"; - this.iconColumn.HeaderText = ""; - this.iconColumn.MinimumWidth = 18; - this.iconColumn.Name = "iconColumn"; - this.iconColumn.ReadOnly = true; - this.iconColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.iconColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.iconColumn.Width = 18; - // - // processNameColumn - // - this.processNameColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells; - this.processNameColumn.DataPropertyName = "name"; - this.processNameColumn.HeaderText = "Process"; - this.processNameColumn.Name = "processNameColumn"; - this.processNameColumn.ReadOnly = true; - this.processNameColumn.Width = 70; - // - // pidColumn - // - this.pidColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells; - this.pidColumn.DataPropertyName = "id"; - this.pidColumn.HeaderText = "PID"; - this.pidColumn.Name = "pidColumn"; - this.pidColumn.ReadOnly = true; - this.pidColumn.Width = 50; - // - // pathColumn - // - this.pathColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; - this.pathColumn.DataPropertyName = "path"; - this.pathColumn.HeaderText = "Path"; - this.pathColumn.Name = "pathColumn"; - this.pathColumn.ReadOnly = true; - // - // filterCheckBox - // - this.filterCheckBox.AutoSize = true; - this.filterCheckBox.Checked = true; - this.filterCheckBox.CheckState = System.Windows.Forms.CheckState.Checked; - this.filterCheckBox.Location = new System.Drawing.Point(9, 72); - this.filterCheckBox.Name = "filterCheckBox"; - this.filterCheckBox.Size = new System.Drawing.Size(158, 17); - this.filterCheckBox.TabIndex = 1; - this.filterCheckBox.Text = "Exclude common processes"; - this.filterCheckBox.UseVisualStyleBackColor = true; - this.filterCheckBox.CheckedChanged += new System.EventHandler(this.filterCheckBox_CheckedChanged); - // - // refreshButton - // - this.refreshButton.Image = global::ReClassNET.Properties.Resources.B16x16_Arrow_Refresh; - this.refreshButton.Location = new System.Drawing.Point(9, 99); - this.refreshButton.Name = "refreshButton"; - this.refreshButton.Size = new System.Drawing.Size(158, 23); - this.refreshButton.TabIndex = 2; - this.refreshButton.Text = "Refresh"; - this.refreshButton.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.refreshButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; - this.refreshButton.UseVisualStyleBackColor = true; - this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click); - // - // attachToProcessButton - // - this.attachToProcessButton.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + this.processDataGridView.Location = new System.Drawing.Point(12, 199); + this.processDataGridView.MultiSelect = false; + this.processDataGridView.Name = "processDataGridView"; + this.processDataGridView.ReadOnly = true; + this.processDataGridView.RowHeadersVisible = false; + this.processDataGridView.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.processDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; + this.processDataGridView.Size = new System.Drawing.Size(549, 291); + this.processDataGridView.TabIndex = 1; + this.processDataGridView.CellMouseDoubleClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.processDataGridView_CellMouseDoubleClick); + // + // iconColumn + // + this.iconColumn.DataPropertyName = "icon"; + this.iconColumn.HeaderText = ""; + this.iconColumn.MinimumWidth = 18; + this.iconColumn.Name = "iconColumn"; + this.iconColumn.ReadOnly = true; + this.iconColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.iconColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.iconColumn.Width = 18; + // + // processNameColumn + // + this.processNameColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells; + this.processNameColumn.DataPropertyName = "name"; + this.processNameColumn.HeaderText = "Process"; + this.processNameColumn.Name = "processNameColumn"; + this.processNameColumn.ReadOnly = true; + this.processNameColumn.Width = 69; + // + // pidColumn + // + this.pidColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells; + this.pidColumn.DataPropertyName = "id"; + this.pidColumn.HeaderText = "PID"; + this.pidColumn.Name = "pidColumn"; + this.pidColumn.ReadOnly = true; + this.pidColumn.Width = 49; + // + // pathColumn + // + this.pathColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; + this.pathColumn.DataPropertyName = "path"; + this.pathColumn.HeaderText = "Path"; + this.pathColumn.Name = "pathColumn"; + this.pathColumn.ReadOnly = true; + // + // filterCheckBox + // + this.filterCheckBox.AutoSize = true; + this.filterCheckBox.Checked = true; + this.filterCheckBox.CheckState = System.Windows.Forms.CheckState.Checked; + this.filterCheckBox.Location = new System.Drawing.Point(9, 72); + this.filterCheckBox.Name = "filterCheckBox"; + this.filterCheckBox.Size = new System.Drawing.Size(156, 17); + this.filterCheckBox.TabIndex = 2; + this.filterCheckBox.Text = "Exclude common processes"; + this.filterCheckBox.UseVisualStyleBackColor = true; + this.filterCheckBox.CheckedChanged += new System.EventHandler(this.filterCheckBox_CheckedChanged); + // + // refreshButton + // + this.refreshButton.Image = global::ReClassNET.Properties.Resources.B16x16_Arrow_Refresh; + this.refreshButton.Location = new System.Drawing.Point(9, 99); + this.refreshButton.Name = "refreshButton"; + this.refreshButton.Size = new System.Drawing.Size(158, 23); + this.refreshButton.TabIndex = 3; + this.refreshButton.Text = "Refresh"; + this.refreshButton.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.refreshButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.refreshButton.UseVisualStyleBackColor = true; + this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click); + // + // attachToProcessButton + // + this.attachToProcessButton.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.attachToProcessButton.DialogResult = System.Windows.Forms.DialogResult.OK; - this.attachToProcessButton.Image = global::ReClassNET.Properties.Resources.B16x16_Accept; - this.attachToProcessButton.Location = new System.Drawing.Point(12, 519); - this.attachToProcessButton.Name = "attachToProcessButton"; - this.attachToProcessButton.Size = new System.Drawing.Size(549, 23); - this.attachToProcessButton.TabIndex = 3; - this.attachToProcessButton.Text = "Attach to Process"; - this.attachToProcessButton.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.attachToProcessButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; - this.attachToProcessButton.UseVisualStyleBackColor = true; - // - // loadSymbolsCheckBox - // - this.loadSymbolsCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.loadSymbolsCheckBox.AutoSize = true; - this.loadSymbolsCheckBox.Location = new System.Drawing.Point(12, 496); - this.loadSymbolsCheckBox.Name = "loadSymbolsCheckBox"; - this.loadSymbolsCheckBox.Size = new System.Drawing.Size(92, 17); - this.loadSymbolsCheckBox.TabIndex = 4; - this.loadSymbolsCheckBox.Text = "Load Symbols"; - this.loadSymbolsCheckBox.UseVisualStyleBackColor = true; - // - // filterGroupBox - // - this.filterGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + this.attachToProcessButton.DialogResult = System.Windows.Forms.DialogResult.OK; + this.attachToProcessButton.Image = global::ReClassNET.Properties.Resources.B16x16_Accept; + this.attachToProcessButton.Location = new System.Drawing.Point(12, 519); + this.attachToProcessButton.Name = "attachToProcessButton"; + this.attachToProcessButton.Size = new System.Drawing.Size(549, 23); + this.attachToProcessButton.TabIndex = 3; + this.attachToProcessButton.Text = "Attach to Process"; + this.attachToProcessButton.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.attachToProcessButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.attachToProcessButton.UseVisualStyleBackColor = true; + // + // loadSymbolsCheckBox + // + this.loadSymbolsCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.loadSymbolsCheckBox.AutoSize = true; + this.loadSymbolsCheckBox.Location = new System.Drawing.Point(12, 496); + this.loadSymbolsCheckBox.Name = "loadSymbolsCheckBox"; + this.loadSymbolsCheckBox.Size = new System.Drawing.Size(91, 17); + this.loadSymbolsCheckBox.TabIndex = 2; + this.loadSymbolsCheckBox.Text = "Load Symbols"; + this.loadSymbolsCheckBox.UseVisualStyleBackColor = true; + // + // filterGroupBox + // + this.filterGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.filterGroupBox.Controls.Add(this.previousProcessLinkLabel); - this.filterGroupBox.Controls.Add(this.label2); - this.filterGroupBox.Controls.Add(this.label1); - this.filterGroupBox.Controls.Add(this.filterCheckBox); - this.filterGroupBox.Controls.Add(this.refreshButton); - this.filterGroupBox.Controls.Add(this.filterTextBox); - this.filterGroupBox.Location = new System.Drawing.Point(12, 60); - this.filterGroupBox.Name = "filterGroupBox"; - this.filterGroupBox.Size = new System.Drawing.Size(549, 133); - this.filterGroupBox.TabIndex = 5; - this.filterGroupBox.TabStop = false; - this.filterGroupBox.Text = "Filter"; - // - // previousProcessLinkLabel - // - this.previousProcessLinkLabel.AutoSize = true; - this.previousProcessLinkLabel.Location = new System.Drawing.Point(103, 47); - this.previousProcessLinkLabel.Name = "previousProcessLinkLabel"; - this.previousProcessLinkLabel.Size = new System.Drawing.Size(19, 13); - this.previousProcessLinkLabel.TabIndex = 3; - this.previousProcessLinkLabel.TabStop = true; - this.previousProcessLinkLabel.Text = "<>"; - this.previousProcessLinkLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.previousProcessLinkLabel_LinkClicked); - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(6, 47); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(92, 13); - this.label2.TabIndex = 2; - this.label2.Text = "Previous Process:"; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(6, 22); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(79, 13); - this.label1.TabIndex = 1; - this.label1.Text = "Process Name:"; - // - // filterTextBox - // - this.filterTextBox.Location = new System.Drawing.Point(103, 19); - this.filterTextBox.Name = "filterTextBox"; - this.filterTextBox.Size = new System.Drawing.Size(270, 20); - this.filterTextBox.TabIndex = 0; - this.filterTextBox.TextChanged += new System.EventHandler(this.filterTextBox_TextChanged); - // - // bannerBox - // - this.bannerBox.Dock = System.Windows.Forms.DockStyle.Top; - this.bannerBox.Icon = global::ReClassNET.Properties.Resources.B32x32_Magnifier; - this.bannerBox.Location = new System.Drawing.Point(0, 0); - this.bannerBox.Name = "bannerBox"; - this.bannerBox.Size = new System.Drawing.Size(573, 48); - this.bannerBox.TabIndex = 6; - this.bannerBox.Text = "Select the process to which ReClass.NET is to be attached."; - this.bannerBox.Title = "Attach to Process"; - // - // ProcessBrowserForm - // - this.AcceptButton = this.attachToProcessButton; - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(573, 554); - this.Controls.Add(this.bannerBox); - this.Controls.Add(this.filterGroupBox); - this.Controls.Add(this.loadSymbolsCheckBox); - this.Controls.Add(this.attachToProcessButton); - this.Controls.Add(this.processDataGridView); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; - this.MaximizeBox = false; - this.MinimizeBox = false; - this.Name = "ProcessBrowserForm"; - this.ShowInTaskbar = false; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "ReClass.NET - Attach to Process"; - ((System.ComponentModel.ISupportInitialize)(this.processDataGridView)).EndInit(); - this.filterGroupBox.ResumeLayout(false); - this.filterGroupBox.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.bannerBox)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); + this.filterGroupBox.Controls.Add(this.previousProcessLinkLabel); + this.filterGroupBox.Controls.Add(this.label2); + this.filterGroupBox.Controls.Add(this.label1); + this.filterGroupBox.Controls.Add(this.filterCheckBox); + this.filterGroupBox.Controls.Add(this.refreshButton); + this.filterGroupBox.Controls.Add(this.filterTextBox); + this.filterGroupBox.Location = new System.Drawing.Point(12, 60); + this.filterGroupBox.Name = "filterGroupBox"; + this.filterGroupBox.Size = new System.Drawing.Size(549, 133); + this.filterGroupBox.TabIndex = 0; + this.filterGroupBox.TabStop = false; + this.filterGroupBox.Text = "Filter"; + // + // previousProcessLinkLabel + // + this.previousProcessLinkLabel.AutoSize = true; + this.previousProcessLinkLabel.Location = new System.Drawing.Point(103, 47); + this.previousProcessLinkLabel.Name = "previousProcessLinkLabel"; + this.previousProcessLinkLabel.Size = new System.Drawing.Size(23, 13); + this.previousProcessLinkLabel.TabIndex = 1; + this.previousProcessLinkLabel.TabStop = true; + this.previousProcessLinkLabel.Text = "<>"; + this.previousProcessLinkLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.previousProcessLinkLabel_LinkClicked); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(6, 47); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(92, 13); + this.label2.TabIndex = 2; + this.label2.Text = "Previous Process:"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(6, 22); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(78, 13); + this.label1.TabIndex = 1; + this.label1.Text = "Process Name:"; + // + // filterTextBox + // + this.filterTextBox.Location = new System.Drawing.Point(103, 19); + this.filterTextBox.Name = "filterTextBox"; + this.filterTextBox.Size = new System.Drawing.Size(270, 20); + this.filterTextBox.TabIndex = 0; + this.filterTextBox.TextChanged += new System.EventHandler(this.filterTextBox_TextChanged); + // + // bannerBox + // + this.bannerBox.Dock = System.Windows.Forms.DockStyle.Top; + this.bannerBox.Icon = global::ReClassNET.Properties.Resources.B32x32_Magnifier; + this.bannerBox.Location = new System.Drawing.Point(0, 0); + this.bannerBox.Name = "bannerBox"; + this.bannerBox.Size = new System.Drawing.Size(573, 48); + this.bannerBox.TabIndex = 6; + this.bannerBox.Text = "Select the process to which ReClass.NET is to be attached."; + this.bannerBox.Title = "Attach to Process"; + // + // ProcessBrowserForm + // + this.AcceptButton = this.attachToProcessButton; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(573, 554); + this.Controls.Add(this.bannerBox); + this.Controls.Add(this.filterGroupBox); + this.Controls.Add(this.loadSymbolsCheckBox); + this.Controls.Add(this.attachToProcessButton); + this.Controls.Add(this.processDataGridView); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "ProcessBrowserForm"; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "ReClass.NET - Attach to Process"; + ((System.ComponentModel.ISupportInitialize)(this.processDataGridView)).EndInit(); + this.filterGroupBox.ResumeLayout(false); + this.filterGroupBox.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.bannerBox)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); } diff --git a/ReClass.NET/Forms/ScannerForm.cs b/ReClass.NET/Forms/ScannerForm.cs index 81eebc89..5eb5ea76 100644 --- a/ReClass.NET/Forms/ScannerForm.cs +++ b/ReClass.NET/Forms/ScannerForm.cs @@ -645,13 +645,16 @@ private ScanSettings CreateSearchSettings() long.TryParse(startAddressTextBox.Text, NumberStyles.HexNumber, null, out var startAddressVar); long.TryParse(stopAddressTextBox.Text, NumberStyles.HexNumber, null, out var endAddressVar); -#if RECLASSNET64 - settings.StartAddress = unchecked((IntPtr)startAddressVar); - settings.StopAddress = unchecked((IntPtr)endAddressVar); -#else - settings.StartAddress = unchecked((IntPtr)(int)startAddressVar); - settings.StopAddress = unchecked((IntPtr)(int)endAddressVar); -#endif + if (Program.RemoteProcess.Is64) + { + settings.StartAddress = unchecked((IntPtr)startAddressVar); + settings.StopAddress = unchecked((IntPtr)endAddressVar); + } + else + { + settings.StartAddress = unchecked((IntPtr)(int)startAddressVar); + settings.StopAddress = unchecked((IntPtr)(int)endAddressVar); + } settings.EnableFastScan = fastScanCheckBox.Checked; int.TryParse(fastScanAlignmentTextBox.Text, out var alignment); settings.FastScanAlignment = Math.Max(1, alignment); diff --git a/ReClass.NET/IconForm.cs b/ReClass.NET/IconForm.cs new file mode 100644 index 00000000..bbb1a8d7 --- /dev/null +++ b/ReClass.NET/IconForm.cs @@ -0,0 +1,30 @@ +using System.Windows.Forms; + +namespace ReClassNET +{ + public class IconForm : Form + { + public IconForm() + { + Icon = Properties.Resources.ReClassNet; + } + + private void InitializeComponent() + { + this.SuspendLayout(); + // + // IconForm + // + this.ClientSize = new System.Drawing.Size(284, 261); + this.Name = "IconForm"; + this.Load += new System.EventHandler(this.IconForm_Load); + this.ResumeLayout(false); + + } + + private void IconForm_Load(object sender, System.EventArgs e) + { + + } + } +} diff --git a/ReClass.NET/IconForm.resx b/ReClass.NET/IconForm.resx new file mode 100644 index 00000000..1af7de15 --- /dev/null +++ b/ReClass.NET/IconForm.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ReClass.NET/Memory/MemoryBuffer.cs b/ReClass.NET/Memory/MemoryBuffer.cs index 2910a478..c9fdc379 100644 --- a/ReClass.NET/Memory/MemoryBuffer.cs +++ b/ReClass.NET/Memory/MemoryBuffer.cs @@ -460,16 +460,15 @@ public IntPtr ReadIntPtr(int offset) { Contract.Requires(offset >= 0); -#if RECLASSNET64 - return (IntPtr)ReadInt64(offset); -#else - return (IntPtr)ReadInt32(offset); -#endif - } + if (Program.RemoteProcess.Is64) + return (IntPtr)ReadInt64(offset); + else + return (IntPtr)ReadInt32(offset); + } - #endregion + #endregion - public string ReadPrintableAsciiString(IntPtr offset, int length) + public string ReadPrintableAsciiString(IntPtr offset, int length) { Contract.Requires(offset.ToInt32() >= 0); Contract.Requires(length >= 0); diff --git a/ReClass.NET/Memory/NodeDissector.cs b/ReClass.NET/Memory/NodeDissector.cs index 041f20f4..34309bbc 100644 --- a/ReClass.NET/Memory/NodeDissector.cs +++ b/ReClass.NET/Memory/NodeDissector.cs @@ -55,13 +55,12 @@ public static Type GuessType(BaseHexNode node, MemoryBuffer memory) if (is8ByteAligned) { -#if RECLASSNET64 - var pointerType = GuessPointerType(data64.IntPtr, memory); - if (pointerType != null) - { - return pointerType; - } -#endif + if (Program.RemoteProcess.Is64) + { + var pointerType = GuessPointerType(data64.IntPtr, memory); + if (pointerType != null) + return pointerType; + } } { diff --git a/ReClass.NET/Memory/ProcessInfo.cs b/ReClass.NET/Memory/ProcessInfo.cs index fe60ae2f..96bffa05 100644 --- a/ReClass.NET/Memory/ProcessInfo.cs +++ b/ReClass.NET/Memory/ProcessInfo.cs @@ -10,7 +10,7 @@ public class ProcessInfo public IntPtr Id { get; } public string Name { get; } public string Path { get; } - public Image Icon => icon.Value; + public Image Icon => icon.Value; private readonly Lazy icon; @@ -22,6 +22,7 @@ public ProcessInfo(IntPtr id, string name, string path) Id = id; Name = name; Path = path; + icon = new Lazy(() => { using (var i = NativeMethods.GetIconForFile(Path)) diff --git a/ReClass.NET/Memory/RemoteProcess.cs b/ReClass.NET/Memory/RemoteProcess.cs index 3451375a..841f39de 100644 --- a/ReClass.NET/Memory/RemoteProcess.cs +++ b/ReClass.NET/Memory/RemoteProcess.cs @@ -21,7 +21,7 @@ namespace ReClassNET.Memory public class RemoteProcess : IDisposable { - private readonly object processSync = new object(); + private readonly object processSync = new object(); private readonly CoreFunctionsManager coreFunctions; @@ -55,8 +55,10 @@ public class RemoteProcess : IDisposable public SymbolStore Symbols => symbols; - /// Gets a copy of the current modules list. This list may change if the remote process (un)loads a module. - public IEnumerable Modules + public bool Is64 { get; internal set; } = true; + + /// Gets a copy of the current modules list. This list may change if the remote process (un)loads a module. + public IEnumerable Modules { get { @@ -104,7 +106,7 @@ public void Dispose() /// Opens the given process to gather informations from. /// The process information. - public void Open(ProcessInfo info) + public void Open(ProcessInfo info, bool UseKernal) { Contract.Requires(info != null); @@ -118,7 +120,7 @@ public void Open(ProcessInfo info) process = info; - handle = coreFunctions.OpenRemoteProcess(process.Id, ProcessAccess.Full); + handle = coreFunctions.OpenRemoteProcess(process.Id, ProcessAccess.Full, UseKernal, true); } ProcessAttached?.Invoke(this); @@ -136,7 +138,7 @@ public void Close() { debugger.Terminate(); - coreFunctions.CloseRemoteProcess(handle); + coreFunctions.CloseRemoteProcess(handle, (uint)process.Id.ToInt32()); handle = IntPtr.Zero; @@ -322,21 +324,17 @@ public double ReadRemoteDouble(IntPtr address) /// The data read as or 0 if the read fails. public IntPtr ReadRemoteIntPtr(IntPtr address) { -#if RECLASSNET64 - return (IntPtr)ReadRemoteInt64(address); -#else - return (IntPtr)ReadRemoteInt32(address); -#endif - } + return (IntPtr)ReadRemoteInt64(address); + } - #endregion + #endregion - /// Reads a string from the address in the remote process with the given length using the provided encoding. - /// The encoding used by the string. - /// The address of the string. - /// The length of the string. - /// The string. - public string ReadRemoteString(Encoding encoding, IntPtr address, int length) + /// Reads a string from the address in the remote process with the given length using the provided encoding. + /// The encoding used by the string. + /// The address of the string. + /// The length of the string. + /// The string. + public string ReadRemoteString(Encoding encoding, IntPtr address, int length) { Contract.Requires(encoding != null); Contract.Requires(length >= 0); @@ -410,13 +408,8 @@ public string ReadRemoteRuntimeTypeInformation(IntPtr address) if (objectLocatorPtr.MayBeValid()) { -#if RECLASSNET64 - rtti = ReadRemoteRuntimeTypeInformation64(objectLocatorPtr); -#else - rtti = ReadRemoteRuntimeTypeInformation32(objectLocatorPtr); -#endif - - rttiCache[address] = rtti; + rtti = ReadRemoteRuntimeTypeInformation64(objectLocatorPtr); + rttiCache[address] = rtti; } } return rtti; diff --git a/ReClass.NET/MemoryScanner/ScanSettings.cs b/ReClass.NET/MemoryScanner/ScanSettings.cs index b21b9793..3504de2f 100644 --- a/ReClass.NET/MemoryScanner/ScanSettings.cs +++ b/ReClass.NET/MemoryScanner/ScanSettings.cs @@ -12,13 +12,8 @@ public enum SettingState public class ScanSettings { public IntPtr StartAddress { get; set; } = IntPtr.Zero; - public IntPtr StopAddress { get; set; } = -#if RECLASSNET64 - (IntPtr)long.MaxValue; -#else - (IntPtr)int.MaxValue; -#endif - public SettingState ScanWritableMemory { get; set; } = SettingState.Yes; + public IntPtr StopAddress { get; set; } = Program.RemoteProcess.Is64 ? (IntPtr)long.MaxValue : (IntPtr)int.MaxValue; + public SettingState ScanWritableMemory { get; set; } = SettingState.Yes; public SettingState ScanExecutableMemory { get; set; } = SettingState.Indeterminate; public SettingState ScanCopyOnWriteMemory { get; set; } = SettingState.No; public bool ScanPrivateMemory { get; set; } = true; diff --git a/ReClass.NET/Nodes/BaseContainerNode.cs b/ReClass.NET/Nodes/BaseContainerNode.cs index a22f7a35..e2bb30f5 100644 --- a/ReClass.NET/Nodes/BaseContainerNode.cs +++ b/ReClass.NET/Nodes/BaseContainerNode.cs @@ -195,25 +195,40 @@ public virtual void InsertBytes(int index, int size, ref List createdN while (size != 0) { BaseNode node; -#if RECLASSNET64 - if (size >= 8) - { - node = new Hex64Node(); - } - else -#endif - if (size >= 4) - { - node = new Hex32Node(); - } - else if (size >= 2) - { - node = new Hex16Node(); - } - else - { - node = new Hex8Node(); - } + if (Program.RemoteProcess.Is64) + { + if (size >= 8) + { + node = new Hex64Node(); + } + else if (size >= 4) + { + node = new Hex32Node(); + } + else if (size >= 2) + { + node = new Hex16Node(); + } + else + { + node = new Hex8Node(); + } + } + else + { + if (size >= 4) + { + node = new Hex32Node(); + } + else if (size >= 2) + { + node = new Hex16Node(); + } + else + { + node = new Hex8Node(); + } + } node.ParentNode = this; node.Offset = offset; diff --git a/ReClass.NET/Nodes/BaseHexNode.cs b/ReClass.NET/Nodes/BaseHexNode.cs index 5c93f446..24226fde 100644 --- a/ReClass.NET/Nodes/BaseHexNode.cs +++ b/ReClass.NET/Nodes/BaseHexNode.cs @@ -91,9 +91,75 @@ protected Size Draw(ViewInfo view, int x, int y, string text, int length) return new Size(x - origX, view.Font.Height); } - public override int CalculateDrawnHeight(ViewInfo view) + protected Size DrawCompare(ViewInfo view, int x, int y, string text, int length) + { + Contract.Requires(view != null); + + if (IsHidden && !view.ShowOptions.ShowHidden) + { + return DrawHidden(view, x, y); + } + + // DrawInvalidMemoryIndicator(view, y); + + var origX = x; + + AddSelection(view, x, y, view.Font.Height); + + x += TextPadding; + x = AddAddressOffset(view, x, y, true, false); + + if (!string.IsNullOrEmpty(text)) + { + x = AddText(view, x, y, view.Settings.TextColor, HotSpot.NoneId, text); + } + + view.Memory.ReadBytes(Offset, buffer); + + var color = view.Settings.HexColor; + if (view.Settings.HighlightChangedValues) + { + var address = view.Address.Add(Offset); + + highlightTimer.RemoveWhere(kv => kv.Value.Value < CurrentHighlightTime); + + if (highlightTimer.TryGetValue(address, out var until)) + { + if (until.Value >= CurrentHighlightTime) + { + color = view.Settings.HighlightColor; + + if (view.Memory.HasChanged(Offset, MemorySize)) + { + until.Value = CurrentHighlightTime.Add(HightlightDuration); + } + } + } + else if (view.Memory.HasChanged(Offset, MemorySize)) + { + highlightTimer.Add(address, CurrentHighlightTime.Add(HightlightDuration)); + + color = view.Settings.HighlightColor; + } + } + + for (var i = 0; i < length; ++i) + { + x = AddText(view, x, y, color, i, $"{buffer[i]:X02}") + view.Font.Width; + } + + // x = AddComment(view, x, y); + + // AddTypeDrop(view, y); + // AddDelete(view, y); + + return new Size(x - origX, view.Font.Height); + } + + + public override int CalculateDrawnHeight(ViewInfo view) { - return IsHidden ? HiddenHeight : view.Font.Height; + return IsHidden && !view.ShowOptions.ShowHidden ? HiddenHeight : view.Font.Height; } /// Updates the node from the given spot. Sets the value of the selected byte. diff --git a/ReClass.NET/Nodes/BaseMatrixNode.cs b/ReClass.NET/Nodes/BaseMatrixNode.cs index fd31d0ef..174b2859 100644 --- a/ReClass.NET/Nodes/BaseMatrixNode.cs +++ b/ReClass.NET/Nodes/BaseMatrixNode.cs @@ -61,7 +61,52 @@ protected Size DrawMatrixType(ViewInfo view, int x, int y, string type, DrawMatr return new Size(x - origX, y - origY + view.Font.Height); } - protected delegate void DrawVectorValues(ref int x, ref int y); + protected Size DrawMatrixTypeCompare(ViewInfo view, int x, int y, string type, DrawMatrixValues drawValues) + { + Contract.Requires(view != null); + Contract.Requires(type != null); + Contract.Requires(drawValues != null); + + if (IsHidden && !view.ShowOptions.ShowHidden) + { + return DrawHidden(view, x, y); + } + + // DrawInvalidMemoryIndicator(view, y); + + var origX = x; + var origY = y; + + AddSelection(view, x, y, view.Font.Height); + + x += TextPadding; + + // x = AddIcon(view, x, y, Icons.Matrix, HotSpot.NoneId, HotSpotType.None); + + var tx = x; + + x = AddAddressOffset(view, x, y, true, false); + + x = AddText(view, x, y, view.Settings.TypeColor, HotSpot.NoneId, type) + view.Font.Width; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NameId, Name); + x = AddOpenClose(view, x, y); + + x += view.Font.Width; + + // x = AddComment(view, x, y); + + // AddTypeDrop(view, y); + // AddDelete(view, y); + + if (levelsOpen[view.Level]) + { + drawValues(tx, ref x, ref y); + } + + return new Size(x - origX, y - origY + view.Font.Height); + } + + protected delegate void DrawVectorValues(ref int x, ref int y); protected Size DrawVectorType(ViewInfo view, int x, int y, string type, DrawVectorValues drawValues) { Contract.Requires(view != null); @@ -104,9 +149,52 @@ protected Size DrawVectorType(ViewInfo view, int x, int y, string type, DrawVect return new Size(x - origX, y - origY + view.Font.Height); } - public override int CalculateDrawnHeight(ViewInfo view) + protected Size DrawVectorTypeCompare(ViewInfo view, int x, int y, string type, DrawVectorValues drawValues) + { + Contract.Requires(view != null); + Contract.Requires(type != null); + Contract.Requires(drawValues != null); + + if (IsHidden && !view.ShowOptions.ShowHidden) + { + return DrawHidden(view, x, y); + } + + // DrawInvalidMemoryIndicator(view, y); + + var origX = x; + var origY = y; + + AddSelection(view, x, y, view.Font.Height); + + x += TextPadding; + + // x = AddIcon(view, x, y, Icons.Vector, HotSpot.NoneId, HotSpotType.None); + x = AddAddressOffset(view, x, y, true, false); + + x = AddText(view, x, y, view.Settings.TypeColor, HotSpot.NoneId, type) + view.Font.Width; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NameId, Name); + // x = AddOpenClose(view, x, y); + + if (levelsOpen[view.Level]) + { + drawValues(ref x, ref y); + } + + x += view.Font.Width; + + // x = AddComment(view, x, y); + + // AddTypeDrop(view, y); + // AddDelete(view, y); + + return new Size(x - origX, y - origY + view.Font.Height); + } + + + public override int CalculateDrawnHeight(ViewInfo view) { - if (IsHidden) + if (IsHidden && !view.ShowOptions.ShowHidden) { return HiddenHeight; } diff --git a/ReClass.NET/Nodes/BaseNode.cs b/ReClass.NET/Nodes/BaseNode.cs index a7cdeb99..ddf8d714 100644 --- a/ReClass.NET/Nodes/BaseNode.cs +++ b/ReClass.NET/Nodes/BaseNode.cs @@ -47,7 +47,7 @@ public abstract class BaseNode public bool IsSelected { get; set; } /// Size of the node in bytes. - public abstract int MemorySize { get; } + public abstract int MemorySize { get; set; } public event NodeEventHandler NameChanged; public event NodeEventHandler CommentChanged; @@ -127,14 +127,21 @@ public virtual string GetToolTipText(HotSpot spot, MemoryBuffer memory) /// The pixel size the node occupies. public abstract Size Draw(ViewInfo view, int x, int y); - /// - /// Calculates the height of the node if drawn. - /// This method is used to determine if a node outside the visible area should be drawn. - /// The returned height must be equal to the height which is returned by the method. - /// + /// Draws the node for compare. /// The view information. - /// The calculated height. - public abstract int CalculateDrawnHeight(ViewInfo view); + /// The x coordinate. + /// The y coordinate. + /// The pixel size the node occupies. + public abstract Size DrawCompare(ViewInfo view, int x, int y); + + /// + /// Calculates the height of the node if drawn. + /// This method is used to determine if a node outside the visible area should be drawn. + /// The returned height must be equal to the height which is returned by the method. + /// + /// The view information. + /// The calculated height. + public abstract int CalculateDrawnHeight(ViewInfo view); /// Updates the node from the given . Sets the and of the node. /// The spot. @@ -232,36 +239,49 @@ protected int AddText(ViewInfo view, int x, int y, Color color, int hitId, strin return x + width; } - /// Draws the address and of the node. - /// The view information. - /// The x coordinate. - /// The y coordinate. - /// The new x coordinate after drawing the text. - protected int AddAddressOffset(ViewInfo view, int x, int y) + /// Draws the address and of the node. + /// The view information. + /// The x coordinate. + /// The y coordinate. + /// Show address offset. + /// Show address. + /// The new x coordinate after drawing the text. + protected int AddAddressOffset(ViewInfo view, int x, int y) { Contract.Requires(view != null); Contract.Requires(view.Context != null); Contract.Requires(view.Font != null); - if (view.Settings.ShowNodeOffset) - { + if (view.Settings.ShowNodeOffset) x = AddText(view, x, y, view.Settings.OffsetColor, HotSpot.NoneId, $"{Offset.ToInt32():X04}") + view.Font.Width; - } if (view.Settings.ShowNodeAddress) - { x = AddText(view, x, y, view.Settings.AddressColor, HotSpot.AddressId, view.Address.Add(Offset).ToString(Constants.AddressHexFormat)) + view.Font.Width; - } return x; } - /// Draws a bar which indicates the selection status of the node. A for this area gets added too. - /// The view information. - /// The x coordinate. - /// The y coordinate. - /// The height of the bar. - protected void AddSelection(ViewInfo view, int x, int y, int height) + protected int AddAddressOffset(ViewInfo view, int x, int y, bool ShowOffset, bool ShowAddress) + { + Contract.Requires(view != null); + Contract.Requires(view.Context != null); + Contract.Requires(view.Font != null); + + if (ShowOffset) + x = AddText(view, x, y, view.Settings.OffsetColor, HotSpot.NoneId, $"{Offset.ToInt32():X04}") + view.Font.Width; + + if (ShowAddress) + x = AddText(view, x, y, view.Settings.AddressColor, HotSpot.AddressId, view.Address.Add(Offset).ToString(Constants.AddressHexFormat)) + view.Font.Width; + + return x; + } + + /// Draws a bar which indicates the selection status of the node. A for this area gets added too. + /// The view information. + /// The x coordinate. + /// The y coordinate. + /// The height of the bar. + protected void AddSelection(ViewInfo view, int x, int y, int height) { Contract.Requires(view != null); Contract.Requires(view.Context != null); diff --git a/ReClass.NET/Nodes/BaseNumericNode.cs b/ReClass.NET/Nodes/BaseNumericNode.cs index b389614a..1d753022 100644 --- a/ReClass.NET/Nodes/BaseNumericNode.cs +++ b/ReClass.NET/Nodes/BaseNumericNode.cs @@ -55,9 +55,49 @@ protected Size DrawNumeric(ViewInfo view, int x, int y, Image icon, string type, return new Size(x - origX, view.Font.Height); } - public override int CalculateDrawnHeight(ViewInfo view) + protected Size DrawNumericCompare(ViewInfo view, int x, int y, Image icon, string type, string value, string alternativeValue) + { + Contract.Requires(view != null); + Contract.Requires(icon != null); + Contract.Requires(type != null); + Contract.Requires(value != null); + + if (IsHidden && !view.ShowOptions.ShowHidden) + { + return DrawHidden(view, x, y); + } + + // DrawInvalidMemoryIndicator(view, y); + + var origX = x; + + AddSelection(view, x, y, view.Font.Height); + + x += TextPadding; + + //x = AddIcon(view, x, y, icon, HotSpot.NoneId, HotSpotType.None); + x = AddAddressOffset(view, x, y, true, false); + + x = AddText(view, x, y, view.Settings.TypeColor, HotSpot.NoneId, type) + view.Font.Width; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NameId, Name) + view.Font.Width; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "=") + view.Font.Width; + x = AddText(view, x, y, view.Settings.ValueColor, 0, value) + view.Font.Width; + if (alternativeValue != null) + { + x = AddText(view, x, y, view.Settings.ValueColor, 1, alternativeValue) + view.Font.Width; + } + + // x = AddComment(view, x, y); + + // AddTypeDrop(view, y); + // AddDelete(view, y); + + return new Size(x - origX, view.Font.Height); + } + + public override int CalculateDrawnHeight(ViewInfo view) { - return IsHidden ? HiddenHeight : view.Font.Height; + return IsHidden && !view.ShowOptions.ShowHidden ? HiddenHeight : view.Font.Height; } } } diff --git a/ReClass.NET/Nodes/BaseTextNode.cs b/ReClass.NET/Nodes/BaseTextNode.cs index 0e5f5f82..b27ae03e 100644 --- a/ReClass.NET/Nodes/BaseTextNode.cs +++ b/ReClass.NET/Nodes/BaseTextNode.cs @@ -67,9 +67,51 @@ protected Size DrawText(ViewInfo view, int x, int y, string type) return new Size(x - origX, view.Font.Height); } - public override int CalculateDrawnHeight(ViewInfo view) + protected Size DrawTextCompare(ViewInfo view, int x, int y, string type) + { + Contract.Requires(view != null); + Contract.Requires(type != null); + + if (IsHidden && !view.ShowOptions.ShowHidden) + { + return DrawHidden(view, x, y); + } + + var length = MemorySize / CharacterSize; + var text = ReadValueFromMemory(view.Memory); + + // DrawInvalidMemoryIndicator(view, y); + + var origX = x; + + AddSelection(view, x, y, view.Font.Height); + + x += TextPadding; + // x = AddIcon(view, x, y, Icons.Text, HotSpot.NoneId, HotSpotType.None); + x = AddAddressOffset(view, x, y, true, false); + + x = AddText(view, x, y, view.Settings.TypeColor, HotSpot.NoneId, type) + view.Font.Width; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NameId, Name); + x = AddText(view, x, y, view.Settings.IndexColor, HotSpot.NoneId, "["); + x = AddText(view, x, y, view.Settings.IndexColor, 0, length.ToString()); + x = AddText(view, x, y, view.Settings.IndexColor, HotSpot.NoneId, "]") + view.Font.Width; + + x = AddText(view, x, y, view.Settings.TextColor, HotSpot.NoneId, "= '"); + x = AddText(view, x, y, view.Settings.TextColor, 1, text.LimitLength(150)); + x = AddText(view, x, y, view.Settings.TextColor, HotSpot.NoneId, "'") + view.Font.Width; + + // x = AddComment(view, x, y); + + // AddTypeDrop(view, y); + // AddDelete(view, y); + + return new Size(x - origX, view.Font.Height); + } + + + public override int CalculateDrawnHeight(ViewInfo view) { - return IsHidden ? HiddenHeight : view.Font.Height; + return IsHidden && !view.ShowOptions.ShowHidden ? HiddenHeight : view.Font.Height; } public override void Update(HotSpot spot) diff --git a/ReClass.NET/Nodes/BaseTextPtrNode.cs b/ReClass.NET/Nodes/BaseTextPtrNode.cs index 2e61bac9..2564c7dc 100644 --- a/ReClass.NET/Nodes/BaseTextPtrNode.cs +++ b/ReClass.NET/Nodes/BaseTextPtrNode.cs @@ -57,9 +57,53 @@ public Size DrawText(ViewInfo view, int x, int y, string type) return new Size(x - origX, view.Font.Height); } - public override int CalculateDrawnHeight(ViewInfo view) + /// Draws this node. + /// The view information. + /// The x coordinate. + /// The y coordinate. + /// The name of the type. + /// The pixel size the node occupies. + public Size DrawTextCompare(ViewInfo view, int x, int y, string type) + { + Contract.Requires(view != null); + Contract.Requires(type != null); + + if (IsHidden && !view.ShowOptions.ShowHidden) + { + return DrawHidden(view, x, y); + } + + var ptr = view.Memory.ReadIntPtr(Offset); + var text = view.Memory.Process.ReadRemoteString(Encoding, ptr, 64); + + // DrawInvalidMemoryIndicator(view, y); + + var origX = x; + + AddSelection(view, x, y, view.Font.Height); + + x += TextPadding; + // x = AddIcon(view, x, y, Icons.Text, HotSpot.NoneId, HotSpotType.None); + x = AddAddressOffset(view, x, y, true, false); + + x = AddText(view, x, y, view.Settings.TypeColor, HotSpot.NoneId, type) + view.Font.Width; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NameId, Name) + view.Font.Width; + + x = AddText(view, x, y, view.Settings.TextColor, HotSpot.NoneId, "= '"); + x = AddText(view, x, y, view.Settings.TextColor, HotSpot.NoneId, text); + x = AddText(view, x, y, view.Settings.TextColor, HotSpot.NoneId, "'") + view.Font.Width; + + // x = AddComment(view, x, y); + + // AddTypeDrop(view, y); + // AddDelete(view, y); + + return new Size(x - origX, view.Font.Height); + } + + public override int CalculateDrawnHeight(ViewInfo view) { - return IsHidden ? HiddenHeight : view.Font.Height; + return IsHidden && !view.ShowOptions.ShowHidden ? HiddenHeight : view.Font.Height; } } } diff --git a/ReClass.NET/Nodes/BitFieldNode.cs b/ReClass.NET/Nodes/BitFieldNode.cs index 768e474d..84b5857f 100644 --- a/ReClass.NET/Nodes/BitFieldNode.cs +++ b/ReClass.NET/Nodes/BitFieldNode.cs @@ -42,7 +42,7 @@ public int Bits } } - public override int MemorySize => size; + public override int MemorySize { get { return size; } set { } } public BitFieldNode() { @@ -146,7 +146,12 @@ public override Size Draw(ViewInfo view, int x, int y) return new Size(x - origX, y - origY + view.Font.Height); } - public override int CalculateDrawnHeight(ViewInfo view) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return Draw(view, x, y); + } + + public override int CalculateDrawnHeight(ViewInfo view) { if (IsHidden) { diff --git a/ReClass.NET/Nodes/BoolNode.cs b/ReClass.NET/Nodes/BoolNode.cs index 845a8e78..a9f54e34 100644 --- a/ReClass.NET/Nodes/BoolNode.cs +++ b/ReClass.NET/Nodes/BoolNode.cs @@ -6,7 +6,7 @@ namespace ReClassNET.Nodes public class BoolNode : BaseNumericNode { /// Size of the node in bytes. - public override int MemorySize => 1; + public override int MemorySize { get; set; } = 1; /// Draws this node. /// The view information. @@ -45,9 +45,41 @@ public override Size Draw(ViewInfo view, int x, int y) return new Size(x - origX, view.Font.Height); } - public override int CalculateDrawnHeight(ViewInfo view) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + if (IsHidden && !view.ShowOptions.ShowHidden) + { + return DrawHidden(view, x, y); + } + + //DrawInvalidMemoryIndicator(view, y); + + var origX = x; + + AddSelection(view, x, y, view.Font.Height); + + x += TextPadding + Icons.Dimensions; + + x = AddAddressOffset(view, x, y, true, false); + + x = AddText(view, x, y, view.Settings.TypeColor, HotSpot.NoneId, "Bool") + view.Font.Width; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NameId, Name) + view.Font.Width; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "=") + view.Font.Width; + + var value = view.Memory.ReadUInt8(Offset); + x = AddText(view, x, y, view.Settings.ValueColor, 0, value == 0 ? "false" : "true") + view.Font.Width; + + // x = AddComment(view, x, y); + + // AddTypeDrop(view, y); + // AddDelete(view, y); + + return new Size(x - origX, view.Font.Height); + } + + public override int CalculateDrawnHeight(ViewInfo view) { - return IsHidden ? HiddenHeight : view.Font.Height; + return IsHidden && !view.ShowOptions.ShowHidden ? HiddenHeight : view.Font.Height; } /// Updates the node from the given spot and sets the value. diff --git a/ReClass.NET/Nodes/ClassInstanceArrayNode.cs b/ReClass.NET/Nodes/ClassInstanceArrayNode.cs index 351489fa..9e958114 100644 --- a/ReClass.NET/Nodes/ClassInstanceArrayNode.cs +++ b/ReClass.NET/Nodes/ClassInstanceArrayNode.cs @@ -8,7 +8,7 @@ namespace ReClassNET.Nodes public class ClassInstanceArrayNode : BaseArrayNode { /// Size of the node in bytes. - public override int MemorySize => InnerNode.MemorySize * Count; + public override int MemorySize { get { return InnerNode.MemorySize * Count; } set { } } public override bool PerformCycleCheck => true; @@ -28,7 +28,12 @@ public override Size Draw(ViewInfo view, int x, int y) return Draw(view, x, y, "Array", HotSpotType.ChangeType); } - protected override Size DrawChild(ViewInfo view, int x, int y) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return Draw(view, x, y); + } + + protected override Size DrawChild(ViewInfo view, int x, int y) { var v = view.Clone(); v.Address = view.Address.Add(Offset) + InnerNode.MemorySize * CurrentIndex; diff --git a/ReClass.NET/Nodes/ClassInstanceNode.cs b/ReClass.NET/Nodes/ClassInstanceNode.cs index 7090d87b..1c2f99e6 100644 --- a/ReClass.NET/Nodes/ClassInstanceNode.cs +++ b/ReClass.NET/Nodes/ClassInstanceNode.cs @@ -9,7 +9,7 @@ namespace ReClassNET.Nodes public class ClassInstanceNode : BaseReferenceNode { /// Size of the node in bytes. - public override int MemorySize => InnerNode.MemorySize; + public override int MemorySize { get { return InnerNode.MemorySize; } set { } } public override bool PerformCycleCheck => true; @@ -73,7 +73,12 @@ public override Size Draw(ViewInfo view, int x, int y) return size; } - public override int CalculateDrawnHeight(ViewInfo view) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return Draw(view, x, y); + } + + public override int CalculateDrawnHeight(ViewInfo view) { if (IsHidden) { diff --git a/ReClass.NET/Nodes/ClassNode.cs b/ReClass.NET/Nodes/ClassNode.cs index 23cbc7b1..b576bc80 100644 --- a/ReClass.NET/Nodes/ClassNode.cs +++ b/ReClass.NET/Nodes/ClassNode.cs @@ -17,14 +17,10 @@ public class ClassNode : BaseContainerNode { public static event ClassCreatedEventHandler ClassCreated; -#if RECLASSNET64 - public static IntPtr DefaultAddress { get; } = (IntPtr)0x140000000; -#else - public static IntPtr DefaultAddress { get; } = (IntPtr)0x400000; -#endif + public static IntPtr DefaultAddress { get; } = Program.RemoteProcess.Is64 ? (IntPtr)0x140000000 : (IntPtr)0x400000; /// Size of the node in bytes. - public override int MemorySize => Nodes.Sum(n => n.MemorySize); + public override int MemorySize { get { return Nodes.Sum(n => n.MemorySize); } set { } } private NodeUuid uuid; public NodeUuid Uuid @@ -162,9 +158,109 @@ public override Size Draw(ViewInfo view, int x, int y) return size; } - public override int CalculateDrawnHeight(ViewInfo view) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + var viewType = (MemoryCompareControl.ViewTypes)view.Tag; + var otherViews = (List)view.Tag2; + + AddSelection(view, 0, y, view.Font.Height); + + var origX = x; + var origY = y; + + x = AddOpenClose(view, x, y); + + var tx = x; + + x = AddIcon(view, x, y, Icons.Class, -1, HotSpotType.None); + // x = AddText(view, x, y, view.Settings.OffsetColor, 0, AddressFormula) + view.Font.Width; + + x = AddText(view, x, y, view.Settings.TypeColor, HotSpot.NoneId, "Class") + view.Font.Width; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NameId, Name) + view.Font.Width; + // x = AddText(view, x, y, view.Settings.ValueColor, HotSpot.NoneId, $"[{MemorySize}]") + view.Font.Width; + // x = AddComment(view, x, y); + + y += view.Font.Height; + + var size = new Size(x - origX, y - origY); + + if (levelsOpen[view.Level]) + { + var childOffset = tx - origX; + + var nv = view.Clone(); + nv.Level++; + foreach (var node in Nodes) + { + if (node is BaseHexNode && !view.ShowOptions.ShowHex) + continue; + + // Is Pointer and Don't compare + if (node is ClassPtrNode && !view.ShowOptions.ComparePointer) + { + // Don't do anything + } + else + { + if (otherViews != null && viewType != MemoryCompareControl.ViewTypes.NotMatter) + { + if (viewType == MemoryCompareControl.ViewTypes.Matches) + { + byte[] toCheck = view.Memory.ReadBytes(node.Offset, node.MemorySize); + if (!otherViews.All(M => M.ReadBytes(node.Offset, node.MemorySize).SequenceEqual(toCheck))) + continue; + } + else if (viewType == MemoryCompareControl.ViewTypes.NotMatches) + { + byte[] toCheck = view.Memory.ReadBytes(node.Offset, node.MemorySize); + if (otherViews.All(M => M.ReadBytes(node.Offset, node.MemorySize).SequenceEqual(toCheck))) + continue; + } + } + } + + + // Draw the node if it is in the visible area. + if (view.ClientArea.Contains(tx, y)) + { + var innerSize = node.DrawCompare(nv, tx, y); + + size = Utils.AggregateNodeSizes(size, innerSize.Extend(childOffset, 0)); + + y += innerSize.Height; + } + else + { + // Otherwise calculate the height... + var calculatedHeight = node.CalculateDrawnHeight(nv); + + // and check if the node area overlaps with the visible area... + if (new Rectangle(tx, y, 9999999, calculatedHeight).IntersectsWith(view.ClientArea)) + { + // then draw the node... + var innerSize = node.DrawCompare(nv, tx, y); + + size = Utils.AggregateNodeSizes(size, innerSize.Extend(childOffset, 0)); + + y += innerSize.Height; + } + else + { + // or skip drawing and just use the calculated height. + size = Utils.AggregateNodeSizes(size, new Size(0, calculatedHeight)); + + y += calculatedHeight; + } + } + } + } + + return size; + } + + public override int CalculateDrawnHeight(ViewInfo view) { - if (IsHidden) + if (IsHidden && !view.ShowOptions.ShowHidden) { return HiddenHeight; } diff --git a/ReClass.NET/Nodes/ClassPtrArrayNode.cs b/ReClass.NET/Nodes/ClassPtrArrayNode.cs index e87c6e3a..a254014a 100644 --- a/ReClass.NET/Nodes/ClassPtrArrayNode.cs +++ b/ReClass.NET/Nodes/ClassPtrArrayNode.cs @@ -9,7 +9,7 @@ public class ClassPtrArrayNode : BaseArrayNode { private readonly MemoryBuffer memory = new MemoryBuffer(); - public override int MemorySize => IntPtr.Size * Count; + public override int MemorySize { get { return IntPtr.Size * Count; } set { } } public override bool PerformCycleCheck => false; @@ -26,7 +26,12 @@ public override Size Draw(ViewInfo view, int x, int y) return Draw(view, x, y, "PtrArray", HotSpotType.ChangeType); } - protected override Size DrawChild(ViewInfo view, int x, int y) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return Draw(view, x, y); + } + + protected override Size DrawChild(ViewInfo view, int x, int y) { var ptr = view.Memory.ReadIntPtr(Offset + IntPtr.Size * CurrentIndex); diff --git a/ReClass.NET/Nodes/ClassPtrNode.cs b/ReClass.NET/Nodes/ClassPtrNode.cs index 2a857db5..008ad5fe 100644 --- a/ReClass.NET/Nodes/ClassPtrNode.cs +++ b/ReClass.NET/Nodes/ClassPtrNode.cs @@ -1,6 +1,8 @@ using System; +using System.Collections.Generic; using System.Drawing; using System.Globalization; +using System.Linq; using ReClassNET.Extensions; using ReClassNET.Memory; using ReClassNET.UI; @@ -12,11 +14,11 @@ public class ClassPtrNode : BaseReferenceNode { private readonly MemoryBuffer memory = new MemoryBuffer(); - public override int MemorySize => IntPtr.Size; + public override int MemorySize { get; set; } = Program.RemoteProcess.Is64 ? 8 : 4; public override bool PerformCycleCheck => false; - public override void Intialize() + public override void Intialize() { var node = ClassNode.Create(); node.Intialize(); @@ -82,9 +84,80 @@ public override Size Draw(ViewInfo view, int x, int y) return size; } - public override int CalculateDrawnHeight(ViewInfo view) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + var viewType = (MemoryCompareControl.ViewTypes)view.Tag; + var otherViews = (List)view.Tag2; + if (IsHidden && !view.ShowOptions.ShowHidden) + { + return DrawHidden(view, x, y); + } + + // DrawInvalidMemoryIndicator(view, y); + + var origX = x; + var origY = y; + + AddSelection(view, x, y, view.Font.Height); + + x = AddOpenClose(view, x, y); + // x = AddIcon(view, x, y, Icons.Pointer, -1, HotSpotType.None); + + var tx = x; + x = AddAddressOffset(view, x, y, true, false); + + x = AddText(view, x, y, view.Settings.TypeColor, HotSpot.NoneId, "Ptr") + view.Font.Width; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NameId, Name) + view.Font.Width; + // x = AddText(view, x, y, view.Settings.ValueColor, HotSpot.NoneId, $"<{InnerNode.Name}>") + view.Font.Width; + // x = AddIcon(view, x, y, Icons.Change, 4, HotSpotType.ChangeType) + view.Font.Width; + + IntPtr ptr = view.Memory.ReadIntPtr(Offset); + + x = AddText(view, x, y, view.Settings.OffsetColor, HotSpot.NoneId, "->") + view.Font.Width; + x = AddText(view, x, y, view.Settings.ValueColor, 0, "0x" + ptr.ToString(Constants.AddressHexFormat)) + view.Font.Width; + + // x = AddComment(view, x, y); + + // AddTypeDrop(view, y); + // AddDelete(view, y); + + y += view.Font.Height; + + var size = new Size(x - origX, y - origY); + + if (levelsOpen[view.Level]) + { + memory.Size = InnerNode.MemorySize; + memory.Process = view.Memory.Process; + memory.Update(ptr); + + var v = view.Clone(); + v.Address = ptr; + v.Memory = memory; + v.Tag = viewType; + v.Tag2 = otherViews.Select(M => // Update all other MemoryBuffer + { + var newMem = new MemoryBuffer(M); + IntPtr newPtr = M.ReadIntPtr(Offset); + newMem.Size = InnerNode.MemorySize; + newMem.Process = view.Memory.Process; + newMem.Update(newPtr); + + return newMem; + }).ToList(); + + var innerSize = InnerNode.DrawCompare(v, tx, y); + + size.Width = Math.Max(size.Width, innerSize.Width + tx - origX); + size.Height += innerSize.Height; + } + + return size; + } + + public override int CalculateDrawnHeight(ViewInfo view) { - if (IsHidden) + if (IsHidden && !view.ShowOptions.ShowHidden) { return HiddenHeight; } @@ -105,13 +178,13 @@ public override void Update(HotSpot spot) { if (spot.Text.TryGetHexString(out var hexValue) && long.TryParse(hexValue, NumberStyles.HexNumber, null, out var val)) { -#if RECLASSNET64 - var address = (IntPtr)val; -#else - var address = (IntPtr)unchecked((int)val); -#endif + IntPtr address; + if (Program.RemoteProcess.Is64) + address = (IntPtr)val; + else + address = (IntPtr)unchecked((int)val); - spot.Memory.Process.WriteRemoteMemory(spot.Address, address); + spot.Memory.Process.WriteRemoteMemory(spot.Address, address); } } } diff --git a/ReClass.NET/Nodes/DoubleNode.cs b/ReClass.NET/Nodes/DoubleNode.cs index 93bc588a..0fe5c474 100644 --- a/ReClass.NET/Nodes/DoubleNode.cs +++ b/ReClass.NET/Nodes/DoubleNode.cs @@ -6,14 +6,19 @@ namespace ReClassNET.Nodes { public class DoubleNode : BaseNumericNode { - public override int MemorySize => 8; + public override int MemorySize { get; set; } = 8; public override Size Draw(ViewInfo view, int x, int y) { return DrawNumeric(view, x, y, Icons.Double, "Double", ReadValueFromMemory(view.Memory).ToString("0.000"), null); } - public override void Update(HotSpot spot) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return DrawNumericCompare(view, x, y, Icons.Double, "Double", ReadValueFromMemory(view.Memory).ToString("0.000"), null); + } + + public override void Update(HotSpot spot) { base.Update(spot); diff --git a/ReClass.NET/Nodes/FloatNode.cs b/ReClass.NET/Nodes/FloatNode.cs index 43a64302..aa245307 100644 --- a/ReClass.NET/Nodes/FloatNode.cs +++ b/ReClass.NET/Nodes/FloatNode.cs @@ -6,14 +6,19 @@ namespace ReClassNET.Nodes { public class FloatNode : BaseNumericNode { - public override int MemorySize => 4; + public override int MemorySize { get; set; } = 4; public override Size Draw(ViewInfo view, int x, int y) { return DrawNumeric(view, x, y, Icons.Float, "Float", ReadValueFromMemory(view.Memory).ToString("0.000"), null); } - public override void Update(HotSpot spot) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return DrawNumericCompare(view, x, y, Icons.Float, "Float", ReadValueFromMemory(view.Memory).ToString("0.000"), null); + } + + public override void Update(HotSpot spot) { base.Update(spot); diff --git a/ReClass.NET/Nodes/FunctionNode.cs b/ReClass.NET/Nodes/FunctionNode.cs index 6e9b915c..34cdbbb9 100644 --- a/ReClass.NET/Nodes/FunctionNode.cs +++ b/ReClass.NET/Nodes/FunctionNode.cs @@ -16,7 +16,7 @@ public class FunctionNode : BaseFunctionNode private int memorySize = IntPtr.Size; /// Size of the node in bytes. - public override int MemorySize => memorySize; + public override int MemorySize { get; set; } = Program.RemoteProcess.Is64 ? 8 : 4; public override string GetToolTipText(HotSpot spot, MemoryBuffer memory) { @@ -86,7 +86,12 @@ public override Size Draw(ViewInfo view, int x, int y) return size; } - public override int CalculateDrawnHeight(ViewInfo view) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return Draw(view, x, y); + } + + public override int CalculateDrawnHeight(ViewInfo view) { if (IsHidden) { diff --git a/ReClass.NET/Nodes/FunctionPtrNode.cs b/ReClass.NET/Nodes/FunctionPtrNode.cs index 1ab2f3c8..f940eed3 100644 --- a/ReClass.NET/Nodes/FunctionPtrNode.cs +++ b/ReClass.NET/Nodes/FunctionPtrNode.cs @@ -5,14 +5,21 @@ namespace ReClassNET.Nodes { public class FunctionPtrNode : BaseFunctionPtrNode { - /// Draws this node. - /// The view information. - /// The x coordinate. - /// The y coordinate. - /// The pixel size the node occupies. - public override Size Draw(ViewInfo view, int x, int y) + public override int MemorySize { set => throw new System.NotImplementedException(); } + + /// Draws this node. + /// The view information. + /// The x coordinate. + /// The y coordinate. + /// The pixel size the node occupies. + public override Size Draw(ViewInfo view, int x, int y) { return Draw(view, x, y, "FunctionPtr", Name); } - } + + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return Draw(view, x, y); + } + } } diff --git a/ReClass.NET/Nodes/Hex16Node.cs b/ReClass.NET/Nodes/Hex16Node.cs index a93d13f5..882fecad 100644 --- a/ReClass.NET/Nodes/Hex16Node.cs +++ b/ReClass.NET/Nodes/Hex16Node.cs @@ -7,7 +7,7 @@ namespace ReClassNET.Nodes public class Hex16Node : BaseHexNode { /// Size of the node in bytes. - public override int MemorySize => 2; + public override int MemorySize { get; set; } = 2; /// Gets informations about this node to show in a tool tip. /// The spot. @@ -30,7 +30,12 @@ public override Size Draw(ViewInfo view, int x, int y) return Draw(view, x, y, view.Settings.ShowNodeText ? view.Memory.ReadPrintableAsciiString(Offset, 2) + " " : null, 2); } - public override void Update(HotSpot spot) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return DrawCompare(view, x, y, view.Settings.ShowNodeText ? view.Memory.ReadPrintableAsciiString(Offset, 2) + " " : null, 2); + } + + public override void Update(HotSpot spot) { Update(spot, 2); } diff --git a/ReClass.NET/Nodes/Hex32Node.cs b/ReClass.NET/Nodes/Hex32Node.cs index 8310408d..fa858b04 100644 --- a/ReClass.NET/Nodes/Hex32Node.cs +++ b/ReClass.NET/Nodes/Hex32Node.cs @@ -8,7 +8,7 @@ namespace ReClassNET.Nodes public class Hex32Node : BaseHexCommentNode { /// Size of the node in bytes. - public override int MemorySize => 4; + public override int MemorySize { get; set; } = 4; public override bool UseMemoryPreviewToolTip(HotSpot spot, MemoryBuffer memory, out IntPtr address) { @@ -40,7 +40,12 @@ public override Size Draw(ViewInfo view, int x, int y) return Draw(view, x, y, view.Settings.ShowNodeText ? view.Memory.ReadPrintableAsciiString(Offset, 4) + " " : null, 4); } - public override void Update(HotSpot spot) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return DrawCompare(view, x, y, view.Settings.ShowNodeText ? view.Memory.ReadPrintableAsciiString(Offset, 4) + " " : null, 4); + } + + public override void Update(HotSpot spot) { Update(spot, 4); } diff --git a/ReClass.NET/Nodes/Hex64Node.cs b/ReClass.NET/Nodes/Hex64Node.cs index ab297773..34eede2f 100644 --- a/ReClass.NET/Nodes/Hex64Node.cs +++ b/ReClass.NET/Nodes/Hex64Node.cs @@ -8,7 +8,7 @@ namespace ReClassNET.Nodes public class Hex64Node : BaseHexCommentNode { /// Size of the node in bytes. - public override int MemorySize => 8; + public override int MemorySize { get; set; } = 8; public override bool UseMemoryPreviewToolTip(HotSpot spot, MemoryBuffer memory, out IntPtr address) { @@ -40,7 +40,12 @@ public override Size Draw(ViewInfo view, int x, int y) return Draw(view, x, y, view.Settings.ShowNodeText ? view.Memory.ReadPrintableAsciiString(Offset, 8) + " " : null, 8); } - public override void Update(HotSpot spot) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return DrawCompare(view, x, y, view.Settings.ShowNodeText ? view.Memory.ReadPrintableAsciiString(Offset, 8) + " " : null, 8); + } + + public override void Update(HotSpot spot) { Update(spot, 8); } diff --git a/ReClass.NET/Nodes/Hex8Node.cs b/ReClass.NET/Nodes/Hex8Node.cs index f5ab9465..74ae8f18 100644 --- a/ReClass.NET/Nodes/Hex8Node.cs +++ b/ReClass.NET/Nodes/Hex8Node.cs @@ -6,7 +6,7 @@ namespace ReClassNET.Nodes { public class Hex8Node : BaseHexNode { - public override int MemorySize => 1; + public override int MemorySize { get; set; } = 1; public override string GetToolTipText(HotSpot spot, MemoryBuffer memory) { @@ -20,7 +20,12 @@ public override Size Draw(ViewInfo view, int x, int y) return Draw(view, x, y, view.Settings.ShowNodeText ? view.Memory.ReadPrintableAsciiString(Offset, 1) + " " : null, 1); } - public override void Update(HotSpot spot) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return DrawCompare(view, x, y, view.Settings.ShowNodeText ? view.Memory.ReadPrintableAsciiString(Offset, 1) + " " : null, 1); + } + + public override void Update(HotSpot spot) { Update(spot, 1); } diff --git a/ReClass.NET/Nodes/Int16Node.cs b/ReClass.NET/Nodes/Int16Node.cs index 213d85a0..79d444ea 100644 --- a/ReClass.NET/Nodes/Int16Node.cs +++ b/ReClass.NET/Nodes/Int16Node.cs @@ -9,7 +9,7 @@ namespace ReClassNET.Nodes { public class Int16Node : BaseNumericNode { - public override int MemorySize => 2; + public override int MemorySize { get; set; } = 2; public override Size Draw(ViewInfo view, int x, int y) { @@ -17,7 +17,13 @@ public override Size Draw(ViewInfo view, int x, int y) return DrawNumeric(view, x, y, Icons.Signed, "Int16", value.ToString(), $"0x{value:X}"); } - public override void Update(HotSpot spot) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + var value = ReadValueFromMemory(view.Memory); + return DrawNumericCompare(view, x, y, Icons.Signed, "Int16", value.ToString(), $"0x{value:X}"); + } + + public override void Update(HotSpot spot) { base.Update(spot); diff --git a/ReClass.NET/Nodes/Int32Node.cs b/ReClass.NET/Nodes/Int32Node.cs index 5c5d9ceb..7a870313 100644 --- a/ReClass.NET/Nodes/Int32Node.cs +++ b/ReClass.NET/Nodes/Int32Node.cs @@ -9,7 +9,7 @@ namespace ReClassNET.Nodes { public class Int32Node : BaseNumericNode { - public override int MemorySize => 4; + public override int MemorySize { get; set; } = 4; public override Size Draw(ViewInfo view, int x, int y) { @@ -17,7 +17,13 @@ public override Size Draw(ViewInfo view, int x, int y) return DrawNumeric(view, x, y, Icons.Signed, "Int32", value.ToString(), $"0x{value:X}"); } - public override void Update(HotSpot spot) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + var value = ReadValueFromMemory(view.Memory); + return DrawNumericCompare(view, x, y, Icons.Signed, "Int32", value.ToString(), $"0x{value:X}"); + } + + public override void Update(HotSpot spot) { base.Update(spot); diff --git a/ReClass.NET/Nodes/Int64Node.cs b/ReClass.NET/Nodes/Int64Node.cs index ab26c3f8..66d49646 100644 --- a/ReClass.NET/Nodes/Int64Node.cs +++ b/ReClass.NET/Nodes/Int64Node.cs @@ -9,7 +9,7 @@ namespace ReClassNET.Nodes { public class Int64Node : BaseNumericNode { - public override int MemorySize => 8; + public override int MemorySize { get; set; } = 8; public override Size Draw(ViewInfo view, int x, int y) { @@ -17,7 +17,13 @@ public override Size Draw(ViewInfo view, int x, int y) return DrawNumeric(view, x, y, Icons.Signed, "Int64", value.ToString(), $"0x{value:X}"); } - public override void Update(HotSpot spot) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + var value = ReadValueFromMemory(view.Memory); + return DrawNumericCompare(view, x, y, Icons.Signed, "Int64", value.ToString(), $"0x{value:X}"); + } + + public override void Update(HotSpot spot) { base.Update(spot); diff --git a/ReClass.NET/Nodes/Int8Node.cs b/ReClass.NET/Nodes/Int8Node.cs index 99316a5a..7ecc8e2d 100644 --- a/ReClass.NET/Nodes/Int8Node.cs +++ b/ReClass.NET/Nodes/Int8Node.cs @@ -9,7 +9,7 @@ namespace ReClassNET.Nodes { public class Int8Node : BaseNumericNode { - public override int MemorySize => 1; + public override int MemorySize { get; set; } = 1; public override Size Draw(ViewInfo view, int x, int y) { @@ -17,7 +17,13 @@ public override Size Draw(ViewInfo view, int x, int y) return DrawNumeric(view, x, y, Icons.Signed, "Int8", value.ToString(), $"0x{value:X}"); } - public override void Update(HotSpot spot) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + var value = ReadValueFromMemory(view.Memory); + return DrawNumericCompare(view, x, y, Icons.Signed, "Int8", value.ToString(), $"0x{value:X}"); + } + + public override void Update(HotSpot spot) { base.Update(spot); diff --git a/ReClass.NET/Nodes/Matrix3x3Node.cs b/ReClass.NET/Nodes/Matrix3x3Node.cs index 296a6332..6d262e46 100644 --- a/ReClass.NET/Nodes/Matrix3x3Node.cs +++ b/ReClass.NET/Nodes/Matrix3x3Node.cs @@ -32,7 +32,7 @@ private struct Matrix3x3Data public override int ValueTypeSize => sizeof(float); - public override int MemorySize => 9 * ValueTypeSize; + public override int MemorySize { get { return 9 * ValueTypeSize; } set { } } /// Draws this node. /// The view information. @@ -80,7 +80,48 @@ public override Size Draw(ViewInfo view, int x2, int y2) }); } - protected override int CalculateValuesHeight(ViewInfo view) + public override Size DrawCompare(ViewInfo view, int x2, int y2) + { + return DrawMatrixTypeCompare(view, x2, y2, "Matrix (3x3)", (int defaultX, ref int maxX, ref int y) => + { + var value = view.Memory.ReadObject(Offset); + + y += view.Font.Height; + var x = defaultX; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + x = AddText(view, x, y, view.Settings.ValueColor, 0, $"{value._11,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 1, $"{value._12,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 2, $"{value._13,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + maxX = Math.Max(x, maxX); + + y += view.Font.Height; + x = defaultX; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + x = AddText(view, x, y, view.Settings.ValueColor, 3, $"{value._21,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 4, $"{value._22,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 5, $"{value._23,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + maxX = Math.Max(x, maxX); + + y += view.Font.Height; + x = defaultX; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + x = AddText(view, x, y, view.Settings.ValueColor, 6, $"{value._31,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 7, $"{value._32,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 8, $"{value._33,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + maxX = Math.Max(x, maxX); + }); + } + + protected override int CalculateValuesHeight(ViewInfo view) { return 3 * view.Font.Height; } diff --git a/ReClass.NET/Nodes/Matrix3x4Node.cs b/ReClass.NET/Nodes/Matrix3x4Node.cs index b3f3f625..5c005767 100644 --- a/ReClass.NET/Nodes/Matrix3x4Node.cs +++ b/ReClass.NET/Nodes/Matrix3x4Node.cs @@ -38,7 +38,7 @@ private struct Matrix3x4Data public override int ValueTypeSize => sizeof(float); - public override int MemorySize => 12 * ValueTypeSize; + public override int MemorySize { get { return 12 * ValueTypeSize; } set { } } /// Draws this node. /// The view information. @@ -92,7 +92,54 @@ public override Size Draw(ViewInfo view, int x2, int y2) }); } - protected override int CalculateValuesHeight(ViewInfo view) + public override Size DrawCompare(ViewInfo view, int x2, int y2) + { + return DrawMatrixTypeCompare(view, x2, y2, "Matrix (3x4)", (int defaultX, ref int maxX, ref int y) => + { + var value = view.Memory.ReadObject(Offset); + + y += view.Font.Height; + var x = defaultX; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + x = AddText(view, x, y, view.Settings.ValueColor, 0, $"{value._11,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 1, $"{value._12,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 2, $"{value._13,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 3, $"{value._14,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + maxX = Math.Max(x, maxX); + + y += view.Font.Height; + x = defaultX; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + x = AddText(view, x, y, view.Settings.ValueColor, 4, $"{value._21,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 5, $"{value._22,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 6, $"{value._23,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 7, $"{value._24,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + maxX = Math.Max(x, maxX); + + y += view.Font.Height; + x = defaultX; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + x = AddText(view, x, y, view.Settings.ValueColor, 8, $"{value._31,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 9, $"{value._32,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 10, $"{value._33,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 11, $"{value._34,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + maxX = Math.Max(x, maxX); + }); + } + + protected override int CalculateValuesHeight(ViewInfo view) { return 3 * view.Font.Height; } diff --git a/ReClass.NET/Nodes/Matrix4x4Node.cs b/ReClass.NET/Nodes/Matrix4x4Node.cs index deb1e748..15f43525 100644 --- a/ReClass.NET/Nodes/Matrix4x4Node.cs +++ b/ReClass.NET/Nodes/Matrix4x4Node.cs @@ -46,7 +46,7 @@ private struct Matrix4x4Data public override int ValueTypeSize => sizeof(float); - public override int MemorySize => 16 * ValueTypeSize; + public override int MemorySize { get { return 16 * ValueTypeSize; } set { } } /// Draws this node. /// The view information. @@ -113,7 +113,67 @@ public override Size Draw(ViewInfo view, int x2, int y2) }); } - protected override int CalculateValuesHeight(ViewInfo view) + public override Size DrawCompare(ViewInfo view, int x2, int y2) + { + return DrawMatrixTypeCompare(view, x2, y2, "Matrix (4x4)", (int defaultX, ref int maxX, ref int y) => + { + var value = view.Memory.ReadObject(Offset); + + y += view.Font.Height; + var x = defaultX; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + x = AddText(view, x, y, view.Settings.ValueColor, 0, $"{value._11,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 1, $"{value._12,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 2, $"{value._13,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 3, $"{value._14,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + maxX = Math.Max(x, maxX); + + y += view.Font.Height; + x = defaultX; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + x = AddText(view, x, y, view.Settings.ValueColor, 4, $"{value._21,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 5, $"{value._22,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 6, $"{value._23,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 7, $"{value._24,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + maxX = Math.Max(x, maxX); + + y += view.Font.Height; + x = defaultX; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + x = AddText(view, x, y, view.Settings.ValueColor, 8, $"{value._31,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 9, $"{value._32,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 10, $"{value._33,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 11, $"{value._34,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + maxX = Math.Max(x, maxX); + + y += view.Font.Height; + x = defaultX; + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + x = AddText(view, x, y, view.Settings.ValueColor, 12, $"{value._41,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 13, $"{value._42,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 14, $"{value._43,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 15, $"{value._44,14:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "|"); + maxX = Math.Max(x, maxX); + }); + } + + protected override int CalculateValuesHeight(ViewInfo view) { return 4 * view.Font.Height; } diff --git a/ReClass.NET/Nodes/UInt16Node.cs b/ReClass.NET/Nodes/UInt16Node.cs index 1c279379..bfab52f8 100644 --- a/ReClass.NET/Nodes/UInt16Node.cs +++ b/ReClass.NET/Nodes/UInt16Node.cs @@ -9,7 +9,7 @@ namespace ReClassNET.Nodes { public class UInt16Node : BaseNumericNode { - public override int MemorySize => 2; + public override int MemorySize { get; set; } = 2; public override Size Draw(ViewInfo view, int x, int y) { @@ -17,7 +17,13 @@ public override Size Draw(ViewInfo view, int x, int y) return DrawNumeric(view, x, y, Icons.Unsigned, "UInt16", value.ToString(), $"0x{value:X}"); } - public override void Update(HotSpot spot) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + var value = ReadValueFromMemory(view.Memory); + return DrawNumericCompare(view, x, y, Icons.Unsigned, "UInt16", value.ToString(), $"0x{value:X}"); + } + + public override void Update(HotSpot spot) { base.Update(spot); diff --git a/ReClass.NET/Nodes/UInt32Node.cs b/ReClass.NET/Nodes/UInt32Node.cs index fee519af..fa4a1dc2 100644 --- a/ReClass.NET/Nodes/UInt32Node.cs +++ b/ReClass.NET/Nodes/UInt32Node.cs @@ -9,7 +9,7 @@ namespace ReClassNET.Nodes { public class UInt32Node : BaseNumericNode { - public override int MemorySize => 4; + public override int MemorySize { get; set; } = 4; public override Size Draw(ViewInfo view, int x, int y) { @@ -17,7 +17,13 @@ public override Size Draw(ViewInfo view, int x, int y) return DrawNumeric(view, x, y, Icons.Unsigned, "UInt32", value.ToString(), $"0x{value:X}"); } - public override void Update(HotSpot spot) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + var value = ReadValueFromMemory(view.Memory); + return DrawNumericCompare(view, x, y, Icons.Unsigned, "UInt32", value.ToString(), $"0x{value:X}"); + } + + public override void Update(HotSpot spot) { base.Update(spot); diff --git a/ReClass.NET/Nodes/UInt64Node.cs b/ReClass.NET/Nodes/UInt64Node.cs index 6a2a61d5..ce34f2bf 100644 --- a/ReClass.NET/Nodes/UInt64Node.cs +++ b/ReClass.NET/Nodes/UInt64Node.cs @@ -9,7 +9,7 @@ namespace ReClassNET.Nodes { public class UInt64Node : BaseNumericNode { - public override int MemorySize => 8; + public override int MemorySize { get; set; } = 8; public override Size Draw(ViewInfo view, int x, int y) { @@ -17,7 +17,13 @@ public override Size Draw(ViewInfo view, int x, int y) return DrawNumeric(view, x, y, Icons.Unsigned, "UInt64", value.ToString(), $"0x{value:X}"); } - public override void Update(HotSpot spot) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + var value = ReadValueFromMemory(view.Memory); + return DrawNumericCompare(view, x, y, Icons.Unsigned, "UInt64", value.ToString(), $"0x{value:X}"); + } + + public override void Update(HotSpot spot) { base.Update(spot); diff --git a/ReClass.NET/Nodes/UInt8Node.cs b/ReClass.NET/Nodes/UInt8Node.cs index 6292ac20..9815b27c 100644 --- a/ReClass.NET/Nodes/UInt8Node.cs +++ b/ReClass.NET/Nodes/UInt8Node.cs @@ -9,7 +9,7 @@ namespace ReClassNET.Nodes { public class UInt8Node : BaseNumericNode { - public override int MemorySize => 1; + public override int MemorySize { get; set; } = 1; public override Size Draw(ViewInfo view, int x, int y) { @@ -17,7 +17,13 @@ public override Size Draw(ViewInfo view, int x, int y) return DrawNumeric(view, x, y, Icons.Unsigned, "UInt8", value.ToString(), $"0x{value:X}"); } - public override void Update(HotSpot spot) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + var value = ReadValueFromMemory(view.Memory); + return DrawNumericCompare(view, x, y, Icons.Unsigned, "UInt8", value.ToString(), $"0x{value:X}"); + } + + public override void Update(HotSpot spot) { base.Update(spot); diff --git a/ReClass.NET/Nodes/UTF16TextNode.cs b/ReClass.NET/Nodes/UTF16TextNode.cs index 8ed4897b..536d1e43 100644 --- a/ReClass.NET/Nodes/UTF16TextNode.cs +++ b/ReClass.NET/Nodes/UTF16TextNode.cs @@ -8,9 +8,16 @@ public class Utf16TextNode : BaseTextNode { public override Encoding Encoding => Encoding.Unicode; - public override Size Draw(ViewInfo view, int x, int y) + public override int MemorySize { set => throw new System.NotImplementedException(); } + + public override Size Draw(ViewInfo view, int x, int y) { return DrawText(view, x, y, "Text16"); } - } + + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return DrawTextCompare(view, x, y, "Text16"); + } + } } diff --git a/ReClass.NET/Nodes/UTF16TextPtrNode.cs b/ReClass.NET/Nodes/UTF16TextPtrNode.cs index 9b6bd111..0d097695 100644 --- a/ReClass.NET/Nodes/UTF16TextPtrNode.cs +++ b/ReClass.NET/Nodes/UTF16TextPtrNode.cs @@ -8,9 +8,16 @@ public class Utf16TextPtrNode : BaseTextPtrNode { public override Encoding Encoding => Encoding.Unicode; - public override Size Draw(ViewInfo view, int x, int y) + public override int MemorySize { set => throw new System.NotImplementedException(); } + + public override Size Draw(ViewInfo view, int x, int y) { return DrawText(view, x, y, "Text16Ptr"); } - } + + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return DrawTextCompare(view, x, y, "Text16Ptr"); + } + } } diff --git a/ReClass.NET/Nodes/UTF32TextNode.cs b/ReClass.NET/Nodes/UTF32TextNode.cs index 2c3dd84b..353b1840 100644 --- a/ReClass.NET/Nodes/UTF32TextNode.cs +++ b/ReClass.NET/Nodes/UTF32TextNode.cs @@ -8,9 +8,16 @@ public class Utf32TextNode : BaseTextNode { public override Encoding Encoding => Encoding.UTF32; - public override Size Draw(ViewInfo view, int x, int y) + public override int MemorySize { set => throw new System.NotImplementedException(); } + + public override Size Draw(ViewInfo view, int x, int y) { return DrawText(view, x, y, "Text32"); } - } + + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return DrawTextCompare(view, x, y, "Text32"); + } + } } diff --git a/ReClass.NET/Nodes/UTF32TextPtrNode.cs b/ReClass.NET/Nodes/UTF32TextPtrNode.cs index cd14be3a..09892946 100644 --- a/ReClass.NET/Nodes/UTF32TextPtrNode.cs +++ b/ReClass.NET/Nodes/UTF32TextPtrNode.cs @@ -8,9 +8,16 @@ public class Utf32TextPtrNode : BaseTextPtrNode { public override Encoding Encoding => Encoding.UTF32; - public override Size Draw(ViewInfo view, int x, int y) + public override int MemorySize { set => throw new System.NotImplementedException(); } + + public override Size Draw(ViewInfo view, int x, int y) { return DrawText(view, x, y, "Text32Ptr"); } - } + + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return DrawTextCompare(view, x, y, "Text32Ptr"); + } + } } diff --git a/ReClass.NET/Nodes/UTF8TextNode.cs b/ReClass.NET/Nodes/UTF8TextNode.cs index c724f2a8..3e1911c8 100644 --- a/ReClass.NET/Nodes/UTF8TextNode.cs +++ b/ReClass.NET/Nodes/UTF8TextNode.cs @@ -8,9 +8,16 @@ public class Utf8TextNode : BaseTextNode { public override Encoding Encoding => Encoding.UTF8; - public override Size Draw(ViewInfo view, int x, int y) + public override int MemorySize { set => throw new System.NotImplementedException(); } + + public override Size Draw(ViewInfo view, int x, int y) { return DrawText(view, x, y, "Text8"); } - } + + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return DrawTextCompare(view, x, y, "Text8"); + } + } } diff --git a/ReClass.NET/Nodes/UTF8TextPtrNode.cs b/ReClass.NET/Nodes/UTF8TextPtrNode.cs index 501463b3..f89e7fdd 100644 --- a/ReClass.NET/Nodes/UTF8TextPtrNode.cs +++ b/ReClass.NET/Nodes/UTF8TextPtrNode.cs @@ -8,9 +8,15 @@ public class Utf8TextPtrNode : BaseTextPtrNode { public override Encoding Encoding => Encoding.UTF8; - public override Size Draw(ViewInfo view, int x, int y) + public override int MemorySize { set => throw new System.NotImplementedException(); } + + public override Size Draw(ViewInfo view, int x, int y) { return DrawText(view, x, y, "Text8Ptr"); } - } + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return DrawTextCompare(view, x, y, "Text8Ptr"); + } + } } diff --git a/ReClass.NET/Nodes/VMethodNode.cs b/ReClass.NET/Nodes/VMethodNode.cs index aaf17416..2136d4f6 100644 --- a/ReClass.NET/Nodes/VMethodNode.cs +++ b/ReClass.NET/Nodes/VMethodNode.cs @@ -9,7 +9,9 @@ public class VMethodNode : BaseFunctionPtrNode { public string MethodName => string.IsNullOrEmpty(Name) ? $"Function{Offset.ToInt32() / IntPtr.Size}" : Name; - public VMethodNode() + public override int MemorySize { set => throw new NotImplementedException(); } + + public VMethodNode() { Contract.Ensures(Name != null); @@ -25,5 +27,10 @@ public override Size Draw(ViewInfo view, int x, int y) { return Draw(view, x, y, $"({Offset.ToInt32() / IntPtr.Size})", MethodName); } - } + + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return Draw(view, x, y); + } + } } diff --git a/ReClass.NET/Nodes/VTableNode.cs b/ReClass.NET/Nodes/VTableNode.cs index ff06d6f3..5b2e711c 100644 --- a/ReClass.NET/Nodes/VTableNode.cs +++ b/ReClass.NET/Nodes/VTableNode.cs @@ -11,7 +11,7 @@ public class VTableNode : BaseContainerNode { private readonly MemoryBuffer memory = new MemoryBuffer(); - public override int MemorySize => IntPtr.Size; + public override int MemorySize { get; set; } = Program.RemoteProcess.Is64 ? 8 : 4; public override void Intialize() { @@ -86,7 +86,12 @@ public override Size Draw(ViewInfo view, int x, int y) return size; } - public override int CalculateDrawnHeight(ViewInfo view) + public override Size DrawCompare(ViewInfo view, int x, int y) + { + return Draw(view, x, y); + } + + public override int CalculateDrawnHeight(ViewInfo view) { if (IsHidden) { @@ -159,5 +164,5 @@ public override bool RemoveNode(BaseNode node) } return removed; } - } + } } diff --git a/ReClass.NET/Nodes/Vector2Node.cs b/ReClass.NET/Nodes/Vector2Node.cs index 713dca38..90eade57 100644 --- a/ReClass.NET/Nodes/Vector2Node.cs +++ b/ReClass.NET/Nodes/Vector2Node.cs @@ -17,7 +17,7 @@ private struct Vector2Data public override int ValueTypeSize => sizeof(float); - public override int MemorySize => 2 * ValueTypeSize; + public override int MemorySize { get { return 2 * ValueTypeSize; } set { } } /// Draws this node. /// The view information. @@ -38,7 +38,21 @@ public override Size Draw(ViewInfo view, int x2, int y2) }); } - protected override int CalculateValuesHeight(ViewInfo view) + public override Size DrawCompare(ViewInfo view, int x2, int y2) + { + return DrawVectorTypeCompare(view, x2, y2, "Vector2", (ref int x, ref int y) => + { + var value = view.Memory.ReadObject(Offset); + + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "("); + x = AddText(view, x, y, view.Settings.ValueColor, 0, $"{value.X:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 1, $"{value.Y:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ")"); + }); + } + + protected override int CalculateValuesHeight(ViewInfo view) { return 0; } diff --git a/ReClass.NET/Nodes/Vector3Node.cs b/ReClass.NET/Nodes/Vector3Node.cs index bc5140d9..a8a53cba 100644 --- a/ReClass.NET/Nodes/Vector3Node.cs +++ b/ReClass.NET/Nodes/Vector3Node.cs @@ -19,7 +19,7 @@ private struct Vector3Data public override int ValueTypeSize => sizeof(float); - public override int MemorySize => 3 * ValueTypeSize; + public override int MemorySize { get { return 3 * ValueTypeSize; } set { } } /// Draws this node. /// The view information. @@ -42,7 +42,23 @@ public override Size Draw(ViewInfo view, int x2, int y2) }); } - protected override int CalculateValuesHeight(ViewInfo view) + public override Size DrawCompare(ViewInfo view, int x2, int y2) + { + return DrawVectorTypeCompare(view, x2, y2, "Vector3", (ref int x, ref int y) => + { + var value = view.Memory.ReadObject(Offset); + + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "("); + x = AddText(view, x, y, view.Settings.ValueColor, 0, $"{value.X:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 1, $"{value.Y:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 2, $"{value.Z:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ")"); + }); + } + + protected override int CalculateValuesHeight(ViewInfo view) { return 0; } diff --git a/ReClass.NET/Nodes/Vector4Node.cs b/ReClass.NET/Nodes/Vector4Node.cs index 1db6ce03..33b50e7a 100644 --- a/ReClass.NET/Nodes/Vector4Node.cs +++ b/ReClass.NET/Nodes/Vector4Node.cs @@ -21,7 +21,7 @@ private struct Vector4Data public override int ValueTypeSize => sizeof(float); - public override int MemorySize => 4 * ValueTypeSize; + public override int MemorySize { get { return 4 * ValueTypeSize; } set { } } /// Draws this node. /// The view information. @@ -46,7 +46,25 @@ public override Size Draw(ViewInfo view, int x2, int y2) }); } - protected override int CalculateValuesHeight(ViewInfo view) + public override Size DrawCompare(ViewInfo view, int x2, int y2) + { + return DrawVectorTypeCompare(view, x2, y2, "Vector4", (ref int x, ref int y) => + { + var value = view.Memory.ReadObject(Offset); + + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, "("); + x = AddText(view, x, y, view.Settings.ValueColor, 0, $"{value.X:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 1, $"{value.Y:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 2, $"{value.Z:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ","); + x = AddText(view, x, y, view.Settings.ValueColor, 3, $"{value.W:0.000}"); + x = AddText(view, x, y, view.Settings.NameColor, HotSpot.NoneId, ")"); + }); + } + + protected override int CalculateValuesHeight(ViewInfo view) { return 0; } diff --git a/ReClass.NET/ProcessExtension.cs b/ReClass.NET/ProcessExtension.cs new file mode 100644 index 00000000..74d1747d --- /dev/null +++ b/ReClass.NET/ProcessExtension.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Diagnostics; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; + +namespace ReClassNET +{ + public static class ProcessExtension + { + [DllImport("kernel32.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool IsWow64Process([In] IntPtr processHandle, [Out, MarshalAs(UnmanagedType.Bool)] out bool wow64Process); + + public static bool Is64BitProcess(this Process process) + { + if (!Environment.Is64BitOperatingSystem) + return false; + + if (!IsWow64Process(process.Handle, out bool isWow64Process)) + throw new Win32Exception(Marshal.GetLastWin32Error()); + + return !isWow64Process; + } + } +} diff --git a/ReClass.NET/Properties/Resources.Designer.cs b/ReClass.NET/Properties/Resources.Designer.cs index acde293f..6f68879b 100644 --- a/ReClass.NET/Properties/Resources.Designer.cs +++ b/ReClass.NET/Properties/Resources.Designer.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // -// Dieser Code wurde von einem Tool generiert. -// Laufzeitversion:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn -// der Code erneut generiert wird. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -13,12 +13,12 @@ namespace ReClassNET.Properties { /// - /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// A strongly-typed resource class, for looking up localized strings, etc. /// - // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert - // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. - // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen - // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] @@ -33,7 +33,7 @@ internal Resources() { } /// - /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// Returns the cached ResourceManager instance used by this class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager { @@ -47,8 +47,8 @@ internal Resources() { } /// - /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle - /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Globalization.CultureInfo Culture { @@ -61,7 +61,7 @@ internal Resources() { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Accept { get { @@ -71,7 +71,7 @@ internal static System.Drawing.Bitmap B16x16_Accept { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Array_Type { get { @@ -81,7 +81,7 @@ internal static System.Drawing.Bitmap B16x16_Array_Type { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Arrow_Refresh { get { @@ -91,7 +91,7 @@ internal static System.Drawing.Bitmap B16x16_Arrow_Refresh { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Add { get { @@ -101,7 +101,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Add { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Add_Bytes_1024 { get { @@ -111,7 +111,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Add_Bytes_1024 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Add_Bytes_2048 { get { @@ -121,7 +121,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Add_Bytes_2048 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Add_Bytes_256 { get { @@ -131,7 +131,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Add_Bytes_256 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Add_Bytes_4 { get { @@ -141,7 +141,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Add_Bytes_4 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Add_Bytes_4096 { get { @@ -151,7 +151,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Add_Bytes_4096 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Add_Bytes_64 { get { @@ -161,7 +161,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Add_Bytes_64 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Add_Bytes_8 { get { @@ -171,7 +171,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Add_Bytes_8 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Add_Bytes_X { get { @@ -181,7 +181,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Add_Bytes_X { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Array { get { @@ -191,7 +191,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Array { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Bits { get { @@ -201,7 +201,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Bits { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Bool { get { @@ -211,7 +211,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Bool { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Class_Add { get { @@ -221,7 +221,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Class_Add { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Class_Instance { get { @@ -231,7 +231,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Class_Instance { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Class_Pointer { get { @@ -241,7 +241,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Class_Pointer { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Class_Remove { get { @@ -251,7 +251,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Class_Remove { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Delete { get { @@ -261,7 +261,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Delete { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Double { get { @@ -271,7 +271,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Double { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Drop_Down { get { @@ -281,7 +281,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Drop_Down { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Float { get { @@ -291,7 +291,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Float { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Function { get { @@ -301,7 +301,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Function { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Function_Pointer { get { @@ -311,7 +311,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Function_Pointer { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Hex_16 { get { @@ -321,7 +321,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Hex_16 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Hex_32 { get { @@ -331,7 +331,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Hex_32 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Hex_64 { get { @@ -341,7 +341,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Hex_64 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Hex_8 { get { @@ -351,7 +351,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Hex_8 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Insert_Bytes_1024 { get { @@ -361,7 +361,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Insert_Bytes_1024 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Insert_Bytes_2048 { get { @@ -371,7 +371,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Insert_Bytes_2048 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Insert_Bytes_256 { get { @@ -381,7 +381,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Insert_Bytes_256 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Insert_Bytes_4 { get { @@ -391,7 +391,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Insert_Bytes_4 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Insert_Bytes_4096 { get { @@ -401,7 +401,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Insert_Bytes_4096 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Insert_Bytes_64 { get { @@ -411,7 +411,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Insert_Bytes_64 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Insert_Bytes_8 { get { @@ -421,7 +421,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Insert_Bytes_8 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Insert_Bytes_X { get { @@ -431,7 +431,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Insert_Bytes_X { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Int_16 { get { @@ -441,7 +441,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Int_16 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Int_32 { get { @@ -451,7 +451,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Int_32 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Int_64 { get { @@ -461,7 +461,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Int_64 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Int_8 { get { @@ -471,7 +471,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Int_8 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Matrix_3x3 { get { @@ -481,7 +481,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Matrix_3x3 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Matrix_3x4 { get { @@ -491,7 +491,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Matrix_3x4 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Matrix_4x4 { get { @@ -501,7 +501,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Matrix_4x4 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Pointer_Array { get { @@ -511,7 +511,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Pointer_Array { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Remove { get { @@ -521,7 +521,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Remove { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Text { get { @@ -531,7 +531,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Text { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Text_Pointer { get { @@ -541,7 +541,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Text_Pointer { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_UInt_16 { get { @@ -551,7 +551,7 @@ internal static System.Drawing.Bitmap B16x16_Button_UInt_16 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_UInt_32 { get { @@ -561,7 +561,7 @@ internal static System.Drawing.Bitmap B16x16_Button_UInt_32 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_UInt_64 { get { @@ -571,7 +571,7 @@ internal static System.Drawing.Bitmap B16x16_Button_UInt_64 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_UInt_8 { get { @@ -581,7 +581,7 @@ internal static System.Drawing.Bitmap B16x16_Button_UInt_8 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_UText { get { @@ -591,7 +591,7 @@ internal static System.Drawing.Bitmap B16x16_Button_UText { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_UText_Pointer { get { @@ -601,7 +601,7 @@ internal static System.Drawing.Bitmap B16x16_Button_UText_Pointer { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Vector_2 { get { @@ -611,7 +611,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Vector_2 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Vector_3 { get { @@ -621,7 +621,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Vector_3 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_Vector_4 { get { @@ -631,7 +631,7 @@ internal static System.Drawing.Bitmap B16x16_Button_Vector_4 { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Button_VTable { get { @@ -641,7 +641,7 @@ internal static System.Drawing.Bitmap B16x16_Button_VTable { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Camera { get { @@ -651,7 +651,7 @@ internal static System.Drawing.Bitmap B16x16_Camera { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Canvas_Size { get { @@ -661,7 +661,7 @@ internal static System.Drawing.Bitmap B16x16_Canvas_Size { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Category { get { @@ -671,7 +671,7 @@ internal static System.Drawing.Bitmap B16x16_Category { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Chart_Delete { get { @@ -681,7 +681,7 @@ internal static System.Drawing.Bitmap B16x16_Chart_Delete { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Class_Type { get { @@ -691,7 +691,7 @@ internal static System.Drawing.Bitmap B16x16_Class_Type { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Closed_Icon { get { @@ -701,7 +701,7 @@ internal static System.Drawing.Bitmap B16x16_Closed_Icon { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Cogs { get { @@ -711,7 +711,7 @@ internal static System.Drawing.Bitmap B16x16_Cogs { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Color_Wheel { get { @@ -721,7 +721,7 @@ internal static System.Drawing.Bitmap B16x16_Color_Wheel { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Control_Pause { get { @@ -731,7 +731,7 @@ internal static System.Drawing.Bitmap B16x16_Control_Pause { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Control_Play { get { @@ -741,7 +741,7 @@ internal static System.Drawing.Bitmap B16x16_Control_Play { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Control_Stop { get { @@ -751,7 +751,7 @@ internal static System.Drawing.Bitmap B16x16_Control_Stop { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Custom_Type { get { @@ -761,7 +761,7 @@ internal static System.Drawing.Bitmap B16x16_Custom_Type { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Double_Type { get { @@ -771,7 +771,7 @@ internal static System.Drawing.Bitmap B16x16_Double_Type { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Drive_Go { get { @@ -781,7 +781,7 @@ internal static System.Drawing.Bitmap B16x16_Drive_Go { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Enum_Type { get { @@ -791,7 +791,7 @@ internal static System.Drawing.Bitmap B16x16_Enum_Type { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Error { get { @@ -801,7 +801,7 @@ internal static System.Drawing.Bitmap B16x16_Error { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Exchange_Button { get { @@ -811,7 +811,7 @@ internal static System.Drawing.Bitmap B16x16_Exchange_Button { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Eye { get { @@ -821,7 +821,7 @@ internal static System.Drawing.Bitmap B16x16_Eye { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Find_Access { get { @@ -831,7 +831,7 @@ internal static System.Drawing.Bitmap B16x16_Find_Access { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Find_Write { get { @@ -841,7 +841,7 @@ internal static System.Drawing.Bitmap B16x16_Find_Write { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Float_Type { get { @@ -851,7 +851,7 @@ internal static System.Drawing.Bitmap B16x16_Float_Type { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Folder { get { @@ -861,7 +861,7 @@ internal static System.Drawing.Bitmap B16x16_Folder { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Folder_Add { get { @@ -871,7 +871,7 @@ internal static System.Drawing.Bitmap B16x16_Folder_Add { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Function_Type { get { @@ -881,7 +881,7 @@ internal static System.Drawing.Bitmap B16x16_Function_Type { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Gear { get { @@ -891,7 +891,7 @@ internal static System.Drawing.Bitmap B16x16_Gear { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Help { get { @@ -901,7 +901,7 @@ internal static System.Drawing.Bitmap B16x16_Help { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Information { get { @@ -911,7 +911,7 @@ internal static System.Drawing.Bitmap B16x16_Information { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Interface_Type { get { @@ -921,7 +921,7 @@ internal static System.Drawing.Bitmap B16x16_Interface_Type { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Left_Button { get { @@ -931,7 +931,7 @@ internal static System.Drawing.Bitmap B16x16_Left_Button { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Magnifier { get { @@ -941,7 +941,7 @@ internal static System.Drawing.Bitmap B16x16_Magnifier { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Magnifier_Arrow { get { @@ -951,7 +951,7 @@ internal static System.Drawing.Bitmap B16x16_Magnifier_Arrow { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Magnifier_Remove { get { @@ -961,7 +961,7 @@ internal static System.Drawing.Bitmap B16x16_Magnifier_Remove { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Matrix_Type { get { @@ -971,7 +971,7 @@ internal static System.Drawing.Bitmap B16x16_Matrix_Type { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Open_Icon { get { @@ -981,7 +981,7 @@ internal static System.Drawing.Bitmap B16x16_Open_Icon { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Page_Code { get { @@ -991,7 +991,7 @@ internal static System.Drawing.Bitmap B16x16_Page_Code { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Page_Code_Add { get { @@ -1001,7 +1001,7 @@ internal static System.Drawing.Bitmap B16x16_Page_Code_Add { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Page_Code_Cpp { get { @@ -1011,7 +1011,7 @@ internal static System.Drawing.Bitmap B16x16_Page_Code_Cpp { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Page_Code_Csharp { get { @@ -1021,7 +1021,7 @@ internal static System.Drawing.Bitmap B16x16_Page_Code_Csharp { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Page_Copy { get { @@ -1031,7 +1031,7 @@ internal static System.Drawing.Bitmap B16x16_Page_Copy { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Page_Paste { get { @@ -1041,7 +1041,7 @@ internal static System.Drawing.Bitmap B16x16_Page_Paste { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Page_White_Stack { get { @@ -1051,7 +1051,7 @@ internal static System.Drawing.Bitmap B16x16_Page_White_Stack { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Pdb { get { @@ -1061,7 +1061,7 @@ internal static System.Drawing.Bitmap B16x16_Pdb { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Plugin { get { @@ -1071,7 +1071,7 @@ internal static System.Drawing.Bitmap B16x16_Plugin { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Pointer_Type { get { @@ -1081,7 +1081,7 @@ internal static System.Drawing.Bitmap B16x16_Pointer_Type { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Quit { get { @@ -1091,7 +1091,7 @@ internal static System.Drawing.Bitmap B16x16_Quit { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Redo { get { @@ -1101,7 +1101,7 @@ internal static System.Drawing.Bitmap B16x16_Redo { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Right_Button { get { @@ -1111,7 +1111,7 @@ internal static System.Drawing.Bitmap B16x16_Right_Button { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Save { get { @@ -1121,7 +1121,7 @@ internal static System.Drawing.Bitmap B16x16_Save { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Save_As { get { @@ -1131,7 +1131,7 @@ internal static System.Drawing.Bitmap B16x16_Save_As { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Settings_Edit { get { @@ -1141,7 +1141,7 @@ internal static System.Drawing.Bitmap B16x16_Settings_Edit { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Signed_Type { get { @@ -1151,7 +1151,7 @@ internal static System.Drawing.Bitmap B16x16_Signed_Type { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Table_Gear { get { @@ -1161,7 +1161,7 @@ internal static System.Drawing.Bitmap B16x16_Table_Gear { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Text_List_Bullets { get { @@ -1171,7 +1171,7 @@ internal static System.Drawing.Bitmap B16x16_Text_List_Bullets { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Text_Type { get { @@ -1181,7 +1181,7 @@ internal static System.Drawing.Bitmap B16x16_Text_Type { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Textfield_Rename { get { @@ -1191,7 +1191,7 @@ internal static System.Drawing.Bitmap B16x16_Textfield_Rename { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Tree_Collapse { get { @@ -1201,7 +1201,7 @@ internal static System.Drawing.Bitmap B16x16_Tree_Collapse { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Tree_Expand { get { @@ -1211,7 +1211,7 @@ internal static System.Drawing.Bitmap B16x16_Tree_Expand { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Undo { get { @@ -1221,7 +1221,7 @@ internal static System.Drawing.Bitmap B16x16_Undo { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Unsigned_Type { get { @@ -1231,7 +1231,7 @@ internal static System.Drawing.Bitmap B16x16_Unsigned_Type { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Vector_Type { get { @@ -1241,7 +1241,7 @@ internal static System.Drawing.Bitmap B16x16_Vector_Type { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B16x16_Warning { get { @@ -1251,7 +1251,7 @@ internal static System.Drawing.Bitmap B16x16_Warning { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B32x32_3D_Glasses { get { @@ -1261,7 +1261,7 @@ internal static System.Drawing.Bitmap B32x32_3D_Glasses { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B32x32_Canvas_Size { get { @@ -1271,7 +1271,7 @@ internal static System.Drawing.Bitmap B32x32_Canvas_Size { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B32x32_Cogs { get { @@ -1281,7 +1281,7 @@ internal static System.Drawing.Bitmap B32x32_Cogs { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B32x32_Eye { get { @@ -1291,7 +1291,7 @@ internal static System.Drawing.Bitmap B32x32_Eye { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B32x32_Magnifier { get { @@ -1301,7 +1301,7 @@ internal static System.Drawing.Bitmap B32x32_Magnifier { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B32x32_Page_Code { get { @@ -1311,7 +1311,7 @@ internal static System.Drawing.Bitmap B32x32_Page_Code { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap B32x32_Plugin { get { @@ -1321,8 +1321,8 @@ internal static System.Drawing.Bitmap B32x32_Plugin { } /// - /// Sucht eine lokalisierte Zeichenfolge, die 2018/01/18 10:06:36 - /// ähnelt. + /// Looks up a localized string similar to 2019/04/25 09:15:56 + ///. /// internal static string BuildDate { get { @@ -1331,7 +1331,27 @@ internal static string BuildDate { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Icon ähnlich wie (Symbol). + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap compare16x16 { + get { + object obj = ResourceManager.GetObject("compare16x16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap compare32x32 { + get { + object obj = ResourceManager.GetObject("compare32x32", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). /// internal static System.Drawing.Icon ReClassNet { get { diff --git a/ReClass.NET/Properties/Resources.resx b/ReClass.NET/Properties/Resources.resx index ec7ad954..a0f3fdf6 100644 --- a/ReClass.NET/Properties/Resources.resx +++ b/ReClass.NET/Properties/Resources.resx @@ -118,388 +118,394 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\Images\B16x16_Tree_Collapse.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Images\B32x32_Plugin.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Control_Stop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Class_Add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Class_Remove.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Table_Gear.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Matrix_3x3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Pointer_Array.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Exchange_Button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\Images\B16x16_Enum_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Chart_Delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Images\B16x16_Button_VTable.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Images\B16x16_Button_Insert_Bytes_4096.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Images\B16x16_Button_Hex_8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Images\B16x16_Button_Insert_Bytes_X.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Images\B16x16_Plugin.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Images\B16x16_Button_Add_Bytes_4096.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Images\B16x16_Settings_Edit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Images\B16x16_Closed_Icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Images\B16x16_Button_Class_Pointer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Double_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Text_List_Bullets.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Pdb.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\Images\B16x16_Page_Code_Csharp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_UText.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Category.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Error.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B32x32_Cogs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Interface_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_UInt_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Matrix_3x4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Remove.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Folder_Add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_UInt_8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\Images\B16x16_Button_Text.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Int_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Images\B16x16_Button_UText_Pointer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Insert_Bytes_8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Insert_Bytes_256.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_UInt_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\Images\B16x16_Text_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Bits.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Images\B16x16_Pointer_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Images\B16x16_Double_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Add_Bytes_1024.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Add_Bytes_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Matrix_4x4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Array_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Insert_Bytes_2048.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Custom_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Closed_Icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_UInt_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Add_Bytes_8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\Images\B16x16_Page_Code.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Arrow_Refresh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_UText.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Save.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Table_Gear.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Matrix_3x3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Settings_Edit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Gear.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Float.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Page_Code_Add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Text_List_Bullets.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Page_Paste.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Canvas_Size.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Hex_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Add_Bytes_4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Tree_Expand.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Textfield_Rename.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Int_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Chart_Delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Images\B32x32_Magnifier.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Images\B16x16_Button_Vector_4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Images\B16x16_Button_UInt_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Images\B16x16_Button_Function.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Images\B16x16_Color_Wheel.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Images\B32x32_3D_Glasses.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\Images\B16x16_Folder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Tree_Collapse.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Images\B16x16_Array_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\Images\B32x32_Page_Code.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Function_Pointer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Pdb.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Gear.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Insert_Bytes_2048.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Control_Pause.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Page_Copy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Array.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Class_Remove.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Add_Bytes_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Control_Play.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Drive_Go.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Array.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Int_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Class_Instance.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Camera.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Information.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B32x32_Eye.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Warning.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Add_Bytes_2048.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Quit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Left_Button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Int_8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B32x32_Plugin.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Matrix_4x4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Vector_3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Camera.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Insert_Bytes_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Insert_Bytes_4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Eye.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Images\B16x16_Arrow_Refresh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\Images\B16x16_Button_Bool.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Control_Stop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Drop_Down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Class_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Function_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B32x32_Cogs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Right_Button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Float_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Control_Play.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Drive_Go.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Accept.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Add_Bytes_2048.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Hex_8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Right_Button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Matrix_3x4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_UInt_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Class_Instance.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Textfield_Rename.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Float_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Magnifier_Remove.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Page_Paste.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Images\B16x16_Button_UText_Pointer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\Images\B16x16_Unsigned_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Add_Bytes_X.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Images\B32x32_Magnifier.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Images\B16x16_Button_Text_Pointer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Undo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Vector_3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Add_Bytes_256.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Signed_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_VTable.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Function_Pointer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Hex_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Page_Code_Cpp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Save_As.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Matrix_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Vector_4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Class_Add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\Images\B16x16_Open_Icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Left_Button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Redo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Icon\ReClassNet.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Help.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\BuildDate.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-16 + + ..\Resources\Images\B16x16_Button_Text_Pointer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Add_Bytes_8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Insert_Bytes_4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Add_Bytes_256.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Class_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_UInt_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Insert_Bytes_256.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Add_Bytes_1024.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Insert_Bytes_X.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Insert_Bytes_1024.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Error.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Page_Code_Cpp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Vector_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Color_Wheel.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Hex_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Category.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Signed_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Insert_Bytes_8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Interface_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Page_White_Stack.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Warning.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Insert_Bytes_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Quit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\Images\B16x16_Button_Vector_2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Accept.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Insert_Bytes_1024.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Help.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Save.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Function.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Icon\ReClassNet.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Vector_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Folder_Add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Control_Pause.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Int_8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Magnifier.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Class_Pointer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Exchange_Button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Int_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Cogs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Page_Copy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Drop_Down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Magnifier_Remove.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_UInt_8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Magnifier.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Hex_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Page_White_Stack.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Images\B16x16_Button_Insert_Bytes_4096.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\Images\B16x16_Button_Int_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Float.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Images\B16x16_Function_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Images\B16x16_Button_Double.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Hex_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Matrix_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Information.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Add_Bytes_4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Tree_Expand.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Find_Access.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Save_As.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Find_Write.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Custom_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Eye.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Add_Bytes_4096.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\Images\B16x16_Magnifier_Arrow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B32x32_3D_Glasses.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Bits.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B32x32_Eye.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Double.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Images\B16x16_Button_Add_Bytes_X.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Images\B16x16_Page_Code_Add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\Images\B32x32_Canvas_Size.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Canvas_Size.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\BuildDate.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-16 - - ..\Resources\Images\B16x16_Redo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Hex_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Undo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Button_Pointer_Array.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Pointer_Type.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images\B16x16_Button_Remove.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Images\B16x16_Plugin.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Images\B16x16_Cogs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Images\B16x16_Button_Delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Images\B16x16_Find_Write.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Images\B16x16_Find_Access.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Images\compare16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Images\compare32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/ReClass.NET/ReClass.NET.csproj b/ReClass.NET/ReClass.NET.csproj index 2849a2fd..fdee62e9 100644 --- a/ReClass.NET/ReClass.NET.csproj +++ b/ReClass.NET/ReClass.NET.csproj @@ -70,6 +70,7 @@ Full %28none%29 3 + false x86 @@ -82,7 +83,7 @@ 4 - x64 + AnyCPU true full false @@ -92,6 +93,7 @@ prompt 4 false + false x64 @@ -122,8 +124,8 @@ - - ..\packages\System.Data.SQLite.Core.1.0.106.0\lib\net46\System.Data.SQLite.dll + + ..\packages\System.Data.SQLite.Core.1.0.110.0\lib\net46\System.Data.SQLite.dll @@ -136,6 +138,10 @@ + + ..\packages\InputSimulator.1.0.4.0\lib\net20\WindowsInput.dll + True + @@ -168,6 +174,12 @@ + + Form + + + ClassCompare.cs + Form @@ -246,6 +258,7 @@ + Component @@ -271,6 +284,7 @@ + @@ -294,7 +308,7 @@ Component - + Form @@ -333,13 +347,34 @@ MemoryRecordList.cs + + UserControl + + + MemoryCompareControl.cs + MemoryViewControl.cs + + Component + Component + + UserControl + + + ScrollableSplitTable.cs + + + Component + + + SplitTablePanel.cs + @@ -478,6 +513,7 @@ + @@ -491,6 +527,9 @@ AboutForm.cs + + ClassCompare.cs + NamedAddressesForm.cs @@ -513,6 +552,9 @@ ScannerForm.cs + + IconForm.cs + ClassNodeView.cs Designer @@ -536,6 +578,9 @@ MemoryRecordList.cs + + MemoryCompareControl.cs + MemoryViewControl.cs @@ -557,6 +602,12 @@ Resources.Designer.cs + + ScrollableSplitTable.cs + + + SplitTablePanel.cs + SettingsSingleFileGenerator @@ -958,6 +1009,12 @@ + + + + + + powershell -Command "((Get-Date).ToUniversalTime()).ToString(\"yyyy\/MM\/dd HH:mm:ss\") | Out-File '$(ProjectDir)Resources\BuildDate.txt'" @@ -967,8 +1024,10 @@ Missing file: "{0}". - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 243, 17 + + + 364, 17 + + + 65 + + \ No newline at end of file diff --git a/ReClass.NET/UI/MemoryPreviewPopUp.cs b/ReClass.NET/UI/MemoryPreviewPopUp.cs index 4bf532ff..d221735e 100644 --- a/ReClass.NET/UI/MemoryPreviewPopUp.cs +++ b/ReClass.NET/UI/MemoryPreviewPopUp.cs @@ -23,10 +23,9 @@ private class MemoryPreviewPanel : Panel { private const int MinNodeCount = 10; - public ViewInfo ViewInfo => viewInfo; + public ViewInfo ViewInfo { get; } - private readonly ViewInfo viewInfo; - private readonly List nodes; + private readonly List nodes; public MemoryPreviewPanel(FontEx font) { @@ -36,7 +35,7 @@ public MemoryPreviewPanel(FontEx font) nodes = new List(); - viewInfo = new ViewInfo + ViewInfo = new ViewInfo { Font = font, @@ -51,20 +50,23 @@ public MemoryPreviewPanel(FontEx font) CalculateSize(); } - /// Sets the absolute number of nodes and resizes the underlaying memory buffer. - /// Number of nodes. - private void SetNodeCount(int count) + private BaseHexNode CreateNode(int index) + { + if (Program.RemoteProcess.Is64) + return new Hex64Node { Offset = (IntPtr)(index * 8) }; + else + return new Hex32Node { Offset = (IntPtr)(index * 4) }; + } + + /// Sets the absolute number of nodes and resizes the underlaying memory buffer. + /// Number of nodes. + private void SetNodeCount(int count) { - BaseHexNode CreateNode(int index) - { -#if RECLASSNET64 - return new Hex64Node { Offset = (IntPtr)(index * 8) }; -#else - return new Hex32Node { Offset = (IntPtr)(index * 4) }; -#endif - } + // Convert to 32Node (Just clear and [if (nodes.Count < count)] will exec) + if (!Program.RemoteProcess.Is64 && nodes.Count > 0 && nodes[0] is Hex64Node) + nodes.Clear(); - if (nodes.Count < count) + if (nodes.Count < count) { nodes.AddRange(Enumerable.Range(nodes.Count, count - nodes.Count).Select(CreateNode)); } @@ -73,7 +75,7 @@ BaseHexNode CreateNode(int index) nodes.RemoveRange(count, nodes.Count - count); } - viewInfo.Memory.Size = nodes.Select(n => n.MemorySize).Sum(); + ViewInfo.Memory.Size = nodes.Select(n => n.MemorySize).Sum(); } /// Changes the number of nodes with the provided delta. @@ -98,29 +100,29 @@ private void CalculateSize() { var size = new Size( ToolTipWidth, - nodes.Sum(n => n.CalculateDrawnHeight(viewInfo)) + ToolTipPadding + nodes.Sum(n => n.CalculateDrawnHeight(ViewInfo)) + ToolTipPadding ); - viewInfo.ClientArea = new Rectangle(ToolTipPadding / 2, ToolTipPadding / 2, size.Width - ToolTipPadding, size.Height - ToolTipPadding); + ViewInfo.ClientArea = new Rectangle(ToolTipPadding / 2, ToolTipPadding / 2, size.Width - ToolTipPadding, size.Height - ToolTipPadding); Size = MinimumSize = MaximumSize = size; } protected override void OnPaint(PaintEventArgs e) { - viewInfo.HotSpots.Clear(); + ViewInfo.HotSpots.Clear(); // Some settings are not usefull for the preview. - viewInfo.Settings = Program.Settings.Clone(); - viewInfo.Settings.ShowNodeAddress = false; + ViewInfo.Settings = Program.Settings.Clone(); + ViewInfo.Settings.ShowNodeAddress = false; - viewInfo.Context = e.Graphics; + ViewInfo.Context = e.Graphics; - using (var brush = new SolidBrush(viewInfo.Settings.BackgroundColor)) + using (var brush = new SolidBrush(ViewInfo.Settings.BackgroundColor)) { e.Graphics.FillRectangle(brush, ClientRectangle); } - using (var pen = new Pen(viewInfo.Settings.BackgroundColor.Invert(), 1)) + using (var pen = new Pen(ViewInfo.Settings.BackgroundColor.Invert(), 1)) { e.Graphics.DrawRectangle(pen, new Rectangle(Bounds.X, Bounds.Y, Bounds.Width - 1, Bounds.Height - 1)); } @@ -129,7 +131,7 @@ protected override void OnPaint(PaintEventArgs e) int y = 2; foreach (var node in nodes) { - y += node.Draw(viewInfo, x, y).Height; + y += node.Draw(ViewInfo, x, y).Height; } } } diff --git a/ReClass.NET/UI/MemoryViewControl.Designer.cs b/ReClass.NET/UI/MemoryViewControl.Designer.cs index 1b33921f..6978de8c 100644 --- a/ReClass.NET/UI/MemoryViewControl.Designer.cs +++ b/ReClass.NET/UI/MemoryViewControl.Designer.cs @@ -28,101 +28,101 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - this.selectedNodeContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components); - this.changeTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.hex64ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.hex32ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.hex16ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.hex8ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); - this.int64ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.int32ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.int16ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.int8ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); - this.uInt64ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.uInt32ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.uInt16ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.uInt8ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); - this.boolToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.bitsToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator(); - this.floatToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.doubleToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); - this.vector4ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.vector3ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.vector2ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); - this.matrix4x4ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.matrix3x4ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.matrix3x3ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator(); - this.uTF8TextToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.uTF8TextPointerToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.uTF16TextToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.uTF16TextPointerToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator(); - this.classInstanceToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.classPointerToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator(); - this.arrayToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.arrayOfPointersToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.vTablePointerToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.functionPointerToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.functionToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); - this.addBytesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.add4BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.add8BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.add64BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.add256BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.add1024BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.add2048BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.add4096BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.insertBytesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.insert4BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.insert8BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.insert64BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.insert256BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.insert1024BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.insert2048BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.insert4096BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.createClassFromNodesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator(); - this.dissectNodesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); - this.searchForEqualValuesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator15 = new System.Windows.Forms.ToolStripSeparator(); - this.findOutWhatAccessesThisAddressToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.findOutWhatWritesToThisAddressToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator14 = new System.Windows.Forms.ToolStripSeparator(); - this.copyNodeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.pasteNodesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator17 = new System.Windows.Forms.ToolStripSeparator(); - this.removeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator(); - this.hideNodesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.unhideNodesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.unhideChildNodesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.unhideNodesAboveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.unhideNodesBelowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator18 = new System.Windows.Forms.ToolStripSeparator(); - this.copyAddressToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator16 = new System.Windows.Forms.ToolStripSeparator(); - this.showCodeOfClassToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.shrinkClassToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.repaintTimer = new System.Windows.Forms.Timer(this.components); - this.editBox = new ReClassNET.UI.HotSpotTextBox(); - this.nodeInfoToolTip = new System.Windows.Forms.ToolTip(this.components); - this.selectedNodeContextMenuStrip.SuspendLayout(); - this.SuspendLayout(); - // - // selectedNodeContextMenuStrip - // - this.selectedNodeContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.components = new System.ComponentModel.Container(); + this.selectedNodeContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components); + this.changeTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.hex64ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.hex32ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.hex16ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.hex8ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.int64ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.int32ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.int16ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.int8ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); + this.uInt64ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.uInt32ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.uInt16ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.uInt8ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); + this.boolToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.bitsToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator(); + this.floatToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.doubleToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); + this.vector4ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.vector3ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.vector2ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); + this.matrix4x4ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.matrix3x4ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.matrix3x3ToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator(); + this.uTF8TextToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.uTF8TextPointerToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.uTF16TextToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.uTF16TextPointerToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator(); + this.classInstanceToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.classPointerToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator(); + this.arrayToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.arrayOfPointersToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.vTablePointerToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.functionPointerToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.functionToolStripMenuItem = new ReClassNET.UI.TypeToolStripMenuItem(); + this.addBytesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.add4BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.add8BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.add64BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.add256BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.add1024BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.add2048BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.add4096BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.insertBytesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.insert4BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.insert8BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.insert64BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.insert256BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.insert1024BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.insert2048BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.insert4096BytesToolStripMenuItem = new ReClassNET.UI.IntegerToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.createClassFromNodesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator(); + this.dissectNodesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.searchForEqualValuesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator15 = new System.Windows.Forms.ToolStripSeparator(); + this.findOutWhatAccessesThisAddressToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.findOutWhatWritesToThisAddressToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator14 = new System.Windows.Forms.ToolStripSeparator(); + this.copyNodeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.pasteNodesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator17 = new System.Windows.Forms.ToolStripSeparator(); + this.removeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator(); + this.hideNodesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.unhideNodesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.unhideChildNodesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.unhideNodesAboveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.unhideNodesBelowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator18 = new System.Windows.Forms.ToolStripSeparator(); + this.copyAddressToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator16 = new System.Windows.Forms.ToolStripSeparator(); + this.showCodeOfClassToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.shrinkClassToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.repaintTimer = new System.Windows.Forms.Timer(this.components); + this.editBox = new ReClassNET.UI.HotSpotTextBox(); + this.nodeInfoToolTip = new System.Windows.Forms.ToolTip(this.components); + this.selectedNodeContextMenuStrip.SuspendLayout(); + this.SuspendLayout(); + // + // selectedNodeContextMenuStrip + // + this.selectedNodeContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.changeTypeToolStripMenuItem, this.addBytesToolStripMenuItem, this.insertBytesToolStripMenuItem, @@ -148,13 +148,13 @@ private void InitializeComponent() this.toolStripSeparator16, this.showCodeOfClassToolStripMenuItem, this.shrinkClassToolStripMenuItem}); - this.selectedNodeContextMenuStrip.Name = "selectedNodeContextMenuStrip"; - this.selectedNodeContextMenuStrip.Size = new System.Drawing.Size(270, 432); - this.selectedNodeContextMenuStrip.Opening += new System.ComponentModel.CancelEventHandler(this.selectedNodeContextMenuStrip_Opening); - // - // changeTypeToolStripMenuItem - // - this.changeTypeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.selectedNodeContextMenuStrip.Name = "selectedNodeContextMenuStrip"; + this.selectedNodeContextMenuStrip.Size = new System.Drawing.Size(270, 410); + this.selectedNodeContextMenuStrip.Opening += new System.ComponentModel.CancelEventHandler(this.selectedNodeContextMenuStrip_Opening); + // + // changeTypeToolStripMenuItem + // + this.changeTypeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.hex64ToolStripMenuItem, this.hex32ToolStripMenuItem, this.hex16ToolStripMenuItem, @@ -197,356 +197,356 @@ private void InitializeComponent() this.vTablePointerToolStripMenuItem, this.functionPointerToolStripMenuItem, this.functionToolStripMenuItem}); - this.changeTypeToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Exchange_Button; - this.changeTypeToolStripMenuItem.Name = "changeTypeToolStripMenuItem"; - this.changeTypeToolStripMenuItem.Size = new System.Drawing.Size(269, 22); - this.changeTypeToolStripMenuItem.Text = "Change Type"; - // - // hex64ToolStripMenuItem - // - this.hex64ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Hex_64; - this.hex64ToolStripMenuItem.Name = "hex64ToolStripMenuItem"; - this.hex64ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.hex64ToolStripMenuItem.Text = "Hex 64"; - this.hex64ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Hex64Node); - this.hex64ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // hex32ToolStripMenuItem - // - this.hex32ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Hex_32; - this.hex32ToolStripMenuItem.Name = "hex32ToolStripMenuItem"; - this.hex32ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.hex32ToolStripMenuItem.Text = "Hex 32"; - this.hex32ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Hex32Node); - this.hex32ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // hex16ToolStripMenuItem - // - this.hex16ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Hex_16; - this.hex16ToolStripMenuItem.Name = "hex16ToolStripMenuItem"; - this.hex16ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.hex16ToolStripMenuItem.Text = "Hex 16"; - this.hex16ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Hex16Node); - this.hex16ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // hex8ToolStripMenuItem - // - this.hex8ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Hex_8; - this.hex8ToolStripMenuItem.Name = "hex8ToolStripMenuItem"; - this.hex8ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.hex8ToolStripMenuItem.Text = "Hex 8"; - this.hex8ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Hex8Node); - this.hex8ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // toolStripSeparator3 - // - this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(169, 6); - // - // int64ToolStripMenuItem - // - this.int64ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Int_64; - this.int64ToolStripMenuItem.Name = "int64ToolStripMenuItem"; - this.int64ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.int64ToolStripMenuItem.Text = "Int 64"; - this.int64ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Int64Node); - this.int64ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // int32ToolStripMenuItem - // - this.int32ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Int_32; - this.int32ToolStripMenuItem.Name = "int32ToolStripMenuItem"; - this.int32ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.int32ToolStripMenuItem.Text = "Int 32"; - this.int32ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Int32Node); - this.int32ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // int16ToolStripMenuItem - // - this.int16ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Int_16; - this.int16ToolStripMenuItem.Name = "int16ToolStripMenuItem"; - this.int16ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.int16ToolStripMenuItem.Text = "Int 16"; - this.int16ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Int16Node); - this.int16ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // int8ToolStripMenuItem - // - this.int8ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Int_8; - this.int8ToolStripMenuItem.Name = "int8ToolStripMenuItem"; - this.int8ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.int8ToolStripMenuItem.Text = "Int 8"; - this.int8ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Int8Node); - this.int8ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // toolStripSeparator4 - // - this.toolStripSeparator4.Name = "toolStripSeparator4"; - this.toolStripSeparator4.Size = new System.Drawing.Size(169, 6); - // - // uInt64ToolStripMenuItem - // - this.uInt64ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UInt_64; - this.uInt64ToolStripMenuItem.Name = "uInt64ToolStripMenuItem"; - this.uInt64ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.uInt64ToolStripMenuItem.Text = "UInt 64"; - this.uInt64ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.UInt64Node); - this.uInt64ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // uInt32ToolStripMenuItem - // - this.uInt32ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UInt_32; - this.uInt32ToolStripMenuItem.Name = "uInt32ToolStripMenuItem"; - this.uInt32ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.uInt32ToolStripMenuItem.Text = "UInt 32"; - this.uInt32ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.UInt32Node); - this.uInt32ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // uInt16ToolStripMenuItem - // - this.uInt16ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UInt_16; - this.uInt16ToolStripMenuItem.Name = "uInt16ToolStripMenuItem"; - this.uInt16ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.uInt16ToolStripMenuItem.Text = "UInt 16"; - this.uInt16ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.UInt16Node); - this.uInt16ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // uInt8ToolStripMenuItem - // - this.uInt8ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UInt_8; - this.uInt8ToolStripMenuItem.Name = "uInt8ToolStripMenuItem"; - this.uInt8ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.uInt8ToolStripMenuItem.Text = "UInt 8"; - this.uInt8ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.UInt8Node); - this.uInt8ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // toolStripSeparator5 - // - this.toolStripSeparator5.Name = "toolStripSeparator5"; - this.toolStripSeparator5.Size = new System.Drawing.Size(169, 6); - // - // boolToolStripMenuItem - // - this.boolToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Bool; - this.boolToolStripMenuItem.Name = "boolToolStripMenuItem"; - this.boolToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.boolToolStripMenuItem.Text = "Bool"; - this.boolToolStripMenuItem.Value = typeof(ReClassNET.Nodes.BoolNode); - this.boolToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // bitsToolStripMenuItem - // - this.bitsToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Bits; - this.bitsToolStripMenuItem.Name = "bitsToolStripMenuItem"; - this.bitsToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.bitsToolStripMenuItem.Text = "Bits"; - this.bitsToolStripMenuItem.Value = typeof(ReClassNET.Nodes.BitFieldNode); - this.bitsToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // toolStripSeparator11 - // - this.toolStripSeparator11.Name = "toolStripSeparator11"; - this.toolStripSeparator11.Size = new System.Drawing.Size(169, 6); - // - // floatToolStripMenuItem - // - this.floatToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Float; - this.floatToolStripMenuItem.Name = "floatToolStripMenuItem"; - this.floatToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.floatToolStripMenuItem.Text = "Float"; - this.floatToolStripMenuItem.Value = typeof(ReClassNET.Nodes.FloatNode); - this.floatToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // doubleToolStripMenuItem - // - this.doubleToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Double; - this.doubleToolStripMenuItem.Name = "doubleToolStripMenuItem"; - this.doubleToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.doubleToolStripMenuItem.Text = "Double"; - this.doubleToolStripMenuItem.Value = typeof(ReClassNET.Nodes.DoubleNode); - this.doubleToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // toolStripSeparator6 - // - this.toolStripSeparator6.Name = "toolStripSeparator6"; - this.toolStripSeparator6.Size = new System.Drawing.Size(169, 6); - // - // vector4ToolStripMenuItem - // - this.vector4ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Vector_4; - this.vector4ToolStripMenuItem.Name = "vector4ToolStripMenuItem"; - this.vector4ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.vector4ToolStripMenuItem.Text = "Vector 4"; - this.vector4ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Vector4Node); - this.vector4ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // vector3ToolStripMenuItem - // - this.vector3ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Vector_3; - this.vector3ToolStripMenuItem.Name = "vector3ToolStripMenuItem"; - this.vector3ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.vector3ToolStripMenuItem.Text = "Vector 3"; - this.vector3ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Vector3Node); - this.vector3ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // vector2ToolStripMenuItem - // - this.vector2ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Vector_2; - this.vector2ToolStripMenuItem.Name = "vector2ToolStripMenuItem"; - this.vector2ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.vector2ToolStripMenuItem.Text = "Vector 2"; - this.vector2ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Vector2Node); - this.vector2ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // toolStripSeparator7 - // - this.toolStripSeparator7.Name = "toolStripSeparator7"; - this.toolStripSeparator7.Size = new System.Drawing.Size(169, 6); - // - // matrix4x4ToolStripMenuItem - // - this.matrix4x4ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Matrix_4x4; - this.matrix4x4ToolStripMenuItem.Name = "matrix4x4ToolStripMenuItem"; - this.matrix4x4ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.matrix4x4ToolStripMenuItem.Text = "Matrix 4x4"; - this.matrix4x4ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Matrix4x4Node); - this.matrix4x4ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // matrix3x4ToolStripMenuItem - // - this.matrix3x4ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Matrix_3x4; - this.matrix3x4ToolStripMenuItem.Name = "matrix3x4ToolStripMenuItem"; - this.matrix3x4ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.matrix3x4ToolStripMenuItem.Text = "Matrix 3x4"; - this.matrix3x4ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Matrix3x4Node); - this.matrix3x4ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // matrix3x3ToolStripMenuItem - // - this.matrix3x3ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Matrix_3x3; - this.matrix3x3ToolStripMenuItem.Name = "matrix3x3ToolStripMenuItem"; - this.matrix3x3ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.matrix3x3ToolStripMenuItem.Text = "Matrix 3x3"; - this.matrix3x3ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Matrix3x3Node); - this.matrix3x3ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // toolStripSeparator8 - // - this.toolStripSeparator8.Name = "toolStripSeparator8"; - this.toolStripSeparator8.Size = new System.Drawing.Size(169, 6); - // - // uTF8TextToolStripMenuItem - // - this.uTF8TextToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Text; - this.uTF8TextToolStripMenuItem.Name = "uTF8TextToolStripMenuItem"; - this.uTF8TextToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.uTF8TextToolStripMenuItem.Text = "UTF8 Text"; - this.uTF8TextToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Utf8TextNode); - this.uTF8TextToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // uTF8TextPointerToolStripMenuItem - // - this.uTF8TextPointerToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Text_Pointer; - this.uTF8TextPointerToolStripMenuItem.Name = "uTF8TextPointerToolStripMenuItem"; - this.uTF8TextPointerToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.uTF8TextPointerToolStripMenuItem.Text = "UTF8 Text Pointer"; - this.uTF8TextPointerToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Utf8TextPtrNode); - this.uTF8TextPointerToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // uTF16TextToolStripMenuItem - // - this.uTF16TextToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UText; - this.uTF16TextToolStripMenuItem.Name = "uTF16TextToolStripMenuItem"; - this.uTF16TextToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.uTF16TextToolStripMenuItem.Text = "UTF16 Text"; - this.uTF16TextToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Utf16TextNode); - this.uTF16TextToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // uTF16TextPointerToolStripMenuItem - // - this.uTF16TextPointerToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UText_Pointer; - this.uTF16TextPointerToolStripMenuItem.Name = "uTF16TextPointerToolStripMenuItem"; - this.uTF16TextPointerToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.uTF16TextPointerToolStripMenuItem.Text = "UTF16 Text Pointer"; - this.uTF16TextPointerToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Utf16TextPtrNode); - this.uTF16TextPointerToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // toolStripSeparator9 - // - this.toolStripSeparator9.Name = "toolStripSeparator9"; - this.toolStripSeparator9.Size = new System.Drawing.Size(169, 6); - // - // classInstanceToolStripMenuItem - // - this.classInstanceToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Class_Instance; - this.classInstanceToolStripMenuItem.Name = "classInstanceToolStripMenuItem"; - this.classInstanceToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.classInstanceToolStripMenuItem.Text = "Class Instance"; - this.classInstanceToolStripMenuItem.Value = typeof(ReClassNET.Nodes.ClassInstanceNode); - this.classInstanceToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // classPointerToolStripMenuItem - // - this.classPointerToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Class_Pointer; - this.classPointerToolStripMenuItem.Name = "classPointerToolStripMenuItem"; - this.classPointerToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.classPointerToolStripMenuItem.Text = "Class Pointer"; - this.classPointerToolStripMenuItem.Value = typeof(ReClassNET.Nodes.ClassPtrNode); - this.classPointerToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // toolStripSeparator10 - // - this.toolStripSeparator10.Name = "toolStripSeparator10"; - this.toolStripSeparator10.Size = new System.Drawing.Size(169, 6); - // - // arrayToolStripMenuItem - // - this.arrayToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Array; - this.arrayToolStripMenuItem.Name = "arrayToolStripMenuItem"; - this.arrayToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.arrayToolStripMenuItem.Text = "Array of Classes"; - this.arrayToolStripMenuItem.Value = typeof(ReClassNET.Nodes.ClassInstanceArrayNode); - this.arrayToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // arrayOfPointersToolStripMenuItem - // - this.arrayOfPointersToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Pointer_Array; - this.arrayOfPointersToolStripMenuItem.Name = "arrayOfPointersToolStripMenuItem"; - this.arrayOfPointersToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.arrayOfPointersToolStripMenuItem.Text = "Array of Pointers"; - this.arrayOfPointersToolStripMenuItem.Value = typeof(ReClassNET.Nodes.ClassPtrArrayNode); - this.arrayOfPointersToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // vTablePointerToolStripMenuItem - // - this.vTablePointerToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_VTable; - this.vTablePointerToolStripMenuItem.Name = "vTablePointerToolStripMenuItem"; - this.vTablePointerToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.vTablePointerToolStripMenuItem.Text = "VTable Pointer"; - this.vTablePointerToolStripMenuItem.Value = typeof(ReClassNET.Nodes.VTableNode); - this.vTablePointerToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // functionPointerToolStripMenuItem - // - this.functionPointerToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Function_Pointer; - this.functionPointerToolStripMenuItem.Name = "functionPointerToolStripMenuItem"; - this.functionPointerToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.functionPointerToolStripMenuItem.Text = "Function Pointer"; - this.functionPointerToolStripMenuItem.Value = typeof(ReClassNET.Nodes.FunctionPtrNode); - this.functionPointerToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // functionToolStripMenuItem - // - this.functionToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Function; - this.functionToolStripMenuItem.Name = "functionToolStripMenuItem"; - this.functionToolStripMenuItem.Size = new System.Drawing.Size(172, 22); - this.functionToolStripMenuItem.Text = "Function"; - this.functionToolStripMenuItem.Value = typeof(ReClassNET.Nodes.FunctionNode); - this.functionToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); - // - // addBytesToolStripMenuItem - // - this.addBytesToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.changeTypeToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Exchange_Button; + this.changeTypeToolStripMenuItem.Name = "changeTypeToolStripMenuItem"; + this.changeTypeToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.changeTypeToolStripMenuItem.Text = "Change Type"; + // + // hex64ToolStripMenuItem + // + this.hex64ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Hex_64; + this.hex64ToolStripMenuItem.Name = "hex64ToolStripMenuItem"; + this.hex64ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.hex64ToolStripMenuItem.Text = "Hex 64"; + this.hex64ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Hex64Node); + this.hex64ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // hex32ToolStripMenuItem + // + this.hex32ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Hex_32; + this.hex32ToolStripMenuItem.Name = "hex32ToolStripMenuItem"; + this.hex32ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.hex32ToolStripMenuItem.Text = "Hex 32"; + this.hex32ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Hex32Node); + this.hex32ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // hex16ToolStripMenuItem + // + this.hex16ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Hex_16; + this.hex16ToolStripMenuItem.Name = "hex16ToolStripMenuItem"; + this.hex16ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.hex16ToolStripMenuItem.Text = "Hex 16"; + this.hex16ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Hex16Node); + this.hex16ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // hex8ToolStripMenuItem + // + this.hex8ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Hex_8; + this.hex8ToolStripMenuItem.Name = "hex8ToolStripMenuItem"; + this.hex8ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.hex8ToolStripMenuItem.Text = "Hex 8"; + this.hex8ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Hex8Node); + this.hex8ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(177, 6); + // + // int64ToolStripMenuItem + // + this.int64ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Int_64; + this.int64ToolStripMenuItem.Name = "int64ToolStripMenuItem"; + this.int64ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.int64ToolStripMenuItem.Text = "Int 64"; + this.int64ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Int64Node); + this.int64ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // int32ToolStripMenuItem + // + this.int32ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Int_32; + this.int32ToolStripMenuItem.Name = "int32ToolStripMenuItem"; + this.int32ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.int32ToolStripMenuItem.Text = "Int 32"; + this.int32ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Int32Node); + this.int32ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // int16ToolStripMenuItem + // + this.int16ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Int_16; + this.int16ToolStripMenuItem.Name = "int16ToolStripMenuItem"; + this.int16ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.int16ToolStripMenuItem.Text = "Int 16"; + this.int16ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Int16Node); + this.int16ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // int8ToolStripMenuItem + // + this.int8ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Int_8; + this.int8ToolStripMenuItem.Name = "int8ToolStripMenuItem"; + this.int8ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.int8ToolStripMenuItem.Text = "Int 8"; + this.int8ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Int8Node); + this.int8ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // toolStripSeparator4 + // + this.toolStripSeparator4.Name = "toolStripSeparator4"; + this.toolStripSeparator4.Size = new System.Drawing.Size(177, 6); + // + // uInt64ToolStripMenuItem + // + this.uInt64ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UInt_64; + this.uInt64ToolStripMenuItem.Name = "uInt64ToolStripMenuItem"; + this.uInt64ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.uInt64ToolStripMenuItem.Text = "UInt 64"; + this.uInt64ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.UInt64Node); + this.uInt64ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // uInt32ToolStripMenuItem + // + this.uInt32ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UInt_32; + this.uInt32ToolStripMenuItem.Name = "uInt32ToolStripMenuItem"; + this.uInt32ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.uInt32ToolStripMenuItem.Text = "UInt 32"; + this.uInt32ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.UInt32Node); + this.uInt32ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // uInt16ToolStripMenuItem + // + this.uInt16ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UInt_16; + this.uInt16ToolStripMenuItem.Name = "uInt16ToolStripMenuItem"; + this.uInt16ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.uInt16ToolStripMenuItem.Text = "UInt 16"; + this.uInt16ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.UInt16Node); + this.uInt16ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // uInt8ToolStripMenuItem + // + this.uInt8ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UInt_8; + this.uInt8ToolStripMenuItem.Name = "uInt8ToolStripMenuItem"; + this.uInt8ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.uInt8ToolStripMenuItem.Text = "UInt 8"; + this.uInt8ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.UInt8Node); + this.uInt8ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // toolStripSeparator5 + // + this.toolStripSeparator5.Name = "toolStripSeparator5"; + this.toolStripSeparator5.Size = new System.Drawing.Size(177, 6); + // + // boolToolStripMenuItem + // + this.boolToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Bool; + this.boolToolStripMenuItem.Name = "boolToolStripMenuItem"; + this.boolToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.boolToolStripMenuItem.Text = "Bool"; + this.boolToolStripMenuItem.Value = typeof(ReClassNET.Nodes.BoolNode); + this.boolToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // bitsToolStripMenuItem + // + this.bitsToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Bits; + this.bitsToolStripMenuItem.Name = "bitsToolStripMenuItem"; + this.bitsToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.bitsToolStripMenuItem.Text = "Bits"; + this.bitsToolStripMenuItem.Value = typeof(ReClassNET.Nodes.BitFieldNode); + this.bitsToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // toolStripSeparator11 + // + this.toolStripSeparator11.Name = "toolStripSeparator11"; + this.toolStripSeparator11.Size = new System.Drawing.Size(177, 6); + // + // floatToolStripMenuItem + // + this.floatToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Float; + this.floatToolStripMenuItem.Name = "floatToolStripMenuItem"; + this.floatToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.floatToolStripMenuItem.Text = "Float"; + this.floatToolStripMenuItem.Value = typeof(ReClassNET.Nodes.FloatNode); + this.floatToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // doubleToolStripMenuItem + // + this.doubleToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Double; + this.doubleToolStripMenuItem.Name = "doubleToolStripMenuItem"; + this.doubleToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.doubleToolStripMenuItem.Text = "Double"; + this.doubleToolStripMenuItem.Value = typeof(ReClassNET.Nodes.DoubleNode); + this.doubleToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // toolStripSeparator6 + // + this.toolStripSeparator6.Name = "toolStripSeparator6"; + this.toolStripSeparator6.Size = new System.Drawing.Size(177, 6); + // + // vector4ToolStripMenuItem + // + this.vector4ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Vector_4; + this.vector4ToolStripMenuItem.Name = "vector4ToolStripMenuItem"; + this.vector4ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.vector4ToolStripMenuItem.Text = "Vector 4"; + this.vector4ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Vector4Node); + this.vector4ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // vector3ToolStripMenuItem + // + this.vector3ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Vector_3; + this.vector3ToolStripMenuItem.Name = "vector3ToolStripMenuItem"; + this.vector3ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.vector3ToolStripMenuItem.Text = "Vector 3"; + this.vector3ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Vector3Node); + this.vector3ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // vector2ToolStripMenuItem + // + this.vector2ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Vector_2; + this.vector2ToolStripMenuItem.Name = "vector2ToolStripMenuItem"; + this.vector2ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.vector2ToolStripMenuItem.Text = "Vector 2"; + this.vector2ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Vector2Node); + this.vector2ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // toolStripSeparator7 + // + this.toolStripSeparator7.Name = "toolStripSeparator7"; + this.toolStripSeparator7.Size = new System.Drawing.Size(177, 6); + // + // matrix4x4ToolStripMenuItem + // + this.matrix4x4ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Matrix_4x4; + this.matrix4x4ToolStripMenuItem.Name = "matrix4x4ToolStripMenuItem"; + this.matrix4x4ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.matrix4x4ToolStripMenuItem.Text = "Matrix 4x4"; + this.matrix4x4ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Matrix4x4Node); + this.matrix4x4ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // matrix3x4ToolStripMenuItem + // + this.matrix3x4ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Matrix_3x4; + this.matrix3x4ToolStripMenuItem.Name = "matrix3x4ToolStripMenuItem"; + this.matrix3x4ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.matrix3x4ToolStripMenuItem.Text = "Matrix 3x4"; + this.matrix3x4ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Matrix3x4Node); + this.matrix3x4ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // matrix3x3ToolStripMenuItem + // + this.matrix3x3ToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Matrix_3x3; + this.matrix3x3ToolStripMenuItem.Name = "matrix3x3ToolStripMenuItem"; + this.matrix3x3ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.matrix3x3ToolStripMenuItem.Text = "Matrix 3x3"; + this.matrix3x3ToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Matrix3x3Node); + this.matrix3x3ToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // toolStripSeparator8 + // + this.toolStripSeparator8.Name = "toolStripSeparator8"; + this.toolStripSeparator8.Size = new System.Drawing.Size(177, 6); + // + // uTF8TextToolStripMenuItem + // + this.uTF8TextToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Text; + this.uTF8TextToolStripMenuItem.Name = "uTF8TextToolStripMenuItem"; + this.uTF8TextToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.uTF8TextToolStripMenuItem.Text = "UTF8 Text"; + this.uTF8TextToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Utf8TextNode); + this.uTF8TextToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // uTF8TextPointerToolStripMenuItem + // + this.uTF8TextPointerToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Text_Pointer; + this.uTF8TextPointerToolStripMenuItem.Name = "uTF8TextPointerToolStripMenuItem"; + this.uTF8TextPointerToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.uTF8TextPointerToolStripMenuItem.Text = "UTF8 Text Pointer"; + this.uTF8TextPointerToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Utf8TextPtrNode); + this.uTF8TextPointerToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // uTF16TextToolStripMenuItem + // + this.uTF16TextToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UText; + this.uTF16TextToolStripMenuItem.Name = "uTF16TextToolStripMenuItem"; + this.uTF16TextToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.uTF16TextToolStripMenuItem.Text = "UTF16 Text"; + this.uTF16TextToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Utf16TextNode); + this.uTF16TextToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // uTF16TextPointerToolStripMenuItem + // + this.uTF16TextPointerToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_UText_Pointer; + this.uTF16TextPointerToolStripMenuItem.Name = "uTF16TextPointerToolStripMenuItem"; + this.uTF16TextPointerToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.uTF16TextPointerToolStripMenuItem.Text = "UTF16 Text Pointer"; + this.uTF16TextPointerToolStripMenuItem.Value = typeof(ReClassNET.Nodes.Utf16TextPtrNode); + this.uTF16TextPointerToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // toolStripSeparator9 + // + this.toolStripSeparator9.Name = "toolStripSeparator9"; + this.toolStripSeparator9.Size = new System.Drawing.Size(177, 6); + // + // classInstanceToolStripMenuItem + // + this.classInstanceToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Class_Instance; + this.classInstanceToolStripMenuItem.Name = "classInstanceToolStripMenuItem"; + this.classInstanceToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.classInstanceToolStripMenuItem.Text = "Class Instance"; + this.classInstanceToolStripMenuItem.Value = typeof(ReClassNET.Nodes.ClassInstanceNode); + this.classInstanceToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // classPointerToolStripMenuItem + // + this.classPointerToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Class_Pointer; + this.classPointerToolStripMenuItem.Name = "classPointerToolStripMenuItem"; + this.classPointerToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.classPointerToolStripMenuItem.Text = "Class Pointer"; + this.classPointerToolStripMenuItem.Value = typeof(ReClassNET.Nodes.ClassPtrNode); + this.classPointerToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // toolStripSeparator10 + // + this.toolStripSeparator10.Name = "toolStripSeparator10"; + this.toolStripSeparator10.Size = new System.Drawing.Size(177, 6); + // + // arrayToolStripMenuItem + // + this.arrayToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Array; + this.arrayToolStripMenuItem.Name = "arrayToolStripMenuItem"; + this.arrayToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.arrayToolStripMenuItem.Text = "Array of Classes"; + this.arrayToolStripMenuItem.Value = typeof(ReClassNET.Nodes.ClassInstanceArrayNode); + this.arrayToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // arrayOfPointersToolStripMenuItem + // + this.arrayOfPointersToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Pointer_Array; + this.arrayOfPointersToolStripMenuItem.Name = "arrayOfPointersToolStripMenuItem"; + this.arrayOfPointersToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.arrayOfPointersToolStripMenuItem.Text = "Array of Pointers"; + this.arrayOfPointersToolStripMenuItem.Value = typeof(ReClassNET.Nodes.ClassPtrArrayNode); + this.arrayOfPointersToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // vTablePointerToolStripMenuItem + // + this.vTablePointerToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_VTable; + this.vTablePointerToolStripMenuItem.Name = "vTablePointerToolStripMenuItem"; + this.vTablePointerToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.vTablePointerToolStripMenuItem.Text = "VTable Pointer"; + this.vTablePointerToolStripMenuItem.Value = typeof(ReClassNET.Nodes.VTableNode); + this.vTablePointerToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // functionPointerToolStripMenuItem + // + this.functionPointerToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Function_Pointer; + this.functionPointerToolStripMenuItem.Name = "functionPointerToolStripMenuItem"; + this.functionPointerToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.functionPointerToolStripMenuItem.Text = "Function Pointer"; + this.functionPointerToolStripMenuItem.Value = typeof(ReClassNET.Nodes.FunctionPtrNode); + this.functionPointerToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // functionToolStripMenuItem + // + this.functionToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Function; + this.functionToolStripMenuItem.Name = "functionToolStripMenuItem"; + this.functionToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.functionToolStripMenuItem.Text = "Function"; + this.functionToolStripMenuItem.Value = typeof(ReClassNET.Nodes.FunctionNode); + this.functionToolStripMenuItem.Click += new System.EventHandler(this.memoryTypeToolStripMenuItem_Click); + // + // addBytesToolStripMenuItem + // + this.addBytesToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.add4BytesToolStripMenuItem, this.add8BytesToolStripMenuItem, this.add64BytesToolStripMenuItem, @@ -554,77 +554,77 @@ private void InitializeComponent() this.add1024BytesToolStripMenuItem, this.add2048BytesToolStripMenuItem, this.add4096BytesToolStripMenuItem}); - this.addBytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_X; - this.addBytesToolStripMenuItem.Name = "addBytesToolStripMenuItem"; - this.addBytesToolStripMenuItem.Size = new System.Drawing.Size(269, 22); - this.addBytesToolStripMenuItem.Text = "Add Bytes"; - // - // add4BytesToolStripMenuItem - // - this.add4BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_4; - this.add4BytesToolStripMenuItem.Name = "add4BytesToolStripMenuItem"; - this.add4BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); - this.add4BytesToolStripMenuItem.Text = "Add 4 Bytes"; - this.add4BytesToolStripMenuItem.Value = 4; - this.add4BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); - // - // add8BytesToolStripMenuItem - // - this.add8BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_8; - this.add8BytesToolStripMenuItem.Name = "add8BytesToolStripMenuItem"; - this.add8BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); - this.add8BytesToolStripMenuItem.Text = "Add 8 Bytes"; - this.add8BytesToolStripMenuItem.Value = 8; - this.add8BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); - // - // add64BytesToolStripMenuItem - // - this.add64BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_64; - this.add64BytesToolStripMenuItem.Name = "add64BytesToolStripMenuItem"; - this.add64BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); - this.add64BytesToolStripMenuItem.Text = "Add 64 Bytes"; - this.add64BytesToolStripMenuItem.Value = 64; - this.add64BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); - // - // add256BytesToolStripMenuItem - // - this.add256BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_256; - this.add256BytesToolStripMenuItem.Name = "add256BytesToolStripMenuItem"; - this.add256BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); - this.add256BytesToolStripMenuItem.Text = "Add 256 Bytes"; - this.add256BytesToolStripMenuItem.Value = 256; - this.add256BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); - // - // add1024BytesToolStripMenuItem - // - this.add1024BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_1024; - this.add1024BytesToolStripMenuItem.Name = "add1024BytesToolStripMenuItem"; - this.add1024BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); - this.add1024BytesToolStripMenuItem.Text = "Add 1024 Bytes"; - this.add1024BytesToolStripMenuItem.Value = 1024; - this.add1024BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); - // - // add2048BytesToolStripMenuItem - // - this.add2048BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_2048; - this.add2048BytesToolStripMenuItem.Name = "add2048BytesToolStripMenuItem"; - this.add2048BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); - this.add2048BytesToolStripMenuItem.Text = "Add 2048 Bytes"; - this.add2048BytesToolStripMenuItem.Value = 2048; - this.add2048BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); - // - // add4096BytesToolStripMenuItem - // - this.add4096BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_4096; - this.add4096BytesToolStripMenuItem.Name = "add4096BytesToolStripMenuItem"; - this.add4096BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); - this.add4096BytesToolStripMenuItem.Text = "Add 4096 Bytes"; - this.add4096BytesToolStripMenuItem.Value = 4096; - this.add4096BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); - // - // insertBytesToolStripMenuItem - // - this.insertBytesToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.addBytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_X; + this.addBytesToolStripMenuItem.Name = "addBytesToolStripMenuItem"; + this.addBytesToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.addBytesToolStripMenuItem.Text = "Add Bytes"; + // + // add4BytesToolStripMenuItem + // + this.add4BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_4; + this.add4BytesToolStripMenuItem.Name = "add4BytesToolStripMenuItem"; + this.add4BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.add4BytesToolStripMenuItem.Text = "Add 4 Bytes"; + this.add4BytesToolStripMenuItem.Value = 4; + this.add4BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); + // + // add8BytesToolStripMenuItem + // + this.add8BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_8; + this.add8BytesToolStripMenuItem.Name = "add8BytesToolStripMenuItem"; + this.add8BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.add8BytesToolStripMenuItem.Text = "Add 8 Bytes"; + this.add8BytesToolStripMenuItem.Value = 8; + this.add8BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); + // + // add64BytesToolStripMenuItem + // + this.add64BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_64; + this.add64BytesToolStripMenuItem.Name = "add64BytesToolStripMenuItem"; + this.add64BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.add64BytesToolStripMenuItem.Text = "Add 64 Bytes"; + this.add64BytesToolStripMenuItem.Value = 64; + this.add64BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); + // + // add256BytesToolStripMenuItem + // + this.add256BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_256; + this.add256BytesToolStripMenuItem.Name = "add256BytesToolStripMenuItem"; + this.add256BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.add256BytesToolStripMenuItem.Text = "Add 256 Bytes"; + this.add256BytesToolStripMenuItem.Value = 256; + this.add256BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); + // + // add1024BytesToolStripMenuItem + // + this.add1024BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_1024; + this.add1024BytesToolStripMenuItem.Name = "add1024BytesToolStripMenuItem"; + this.add1024BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.add1024BytesToolStripMenuItem.Text = "Add 1024 Bytes"; + this.add1024BytesToolStripMenuItem.Value = 1024; + this.add1024BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); + // + // add2048BytesToolStripMenuItem + // + this.add2048BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_2048; + this.add2048BytesToolStripMenuItem.Name = "add2048BytesToolStripMenuItem"; + this.add2048BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.add2048BytesToolStripMenuItem.Text = "Add 2048 Bytes"; + this.add2048BytesToolStripMenuItem.Value = 2048; + this.add2048BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); + // + // add4096BytesToolStripMenuItem + // + this.add4096BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Add_Bytes_4096; + this.add4096BytesToolStripMenuItem.Name = "add4096BytesToolStripMenuItem"; + this.add4096BytesToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.add4096BytesToolStripMenuItem.Text = "Add 4096 Bytes"; + this.add4096BytesToolStripMenuItem.Value = 4096; + this.add4096BytesToolStripMenuItem.Click += new System.EventHandler(this.addBytesToolStripMenuItem_Click); + // + // insertBytesToolStripMenuItem + // + this.insertBytesToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.insert4BytesToolStripMenuItem, this.insert8BytesToolStripMenuItem, this.insert64BytesToolStripMenuItem, @@ -632,282 +632,282 @@ private void InitializeComponent() this.insert1024BytesToolStripMenuItem, this.insert2048BytesToolStripMenuItem, this.insert4096BytesToolStripMenuItem}); - this.insertBytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_X; - this.insertBytesToolStripMenuItem.Name = "insertBytesToolStripMenuItem"; - this.insertBytesToolStripMenuItem.Size = new System.Drawing.Size(269, 22); - this.insertBytesToolStripMenuItem.Text = "Insert Bytes"; - // - // insert4BytesToolStripMenuItem - // - this.insert4BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_4; - this.insert4BytesToolStripMenuItem.Name = "insert4BytesToolStripMenuItem"; - this.insert4BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); - this.insert4BytesToolStripMenuItem.Text = "Insert 4 Bytes"; - this.insert4BytesToolStripMenuItem.Value = 4; - this.insert4BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); - // - // insert8BytesToolStripMenuItem - // - this.insert8BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_8; - this.insert8BytesToolStripMenuItem.Name = "insert8BytesToolStripMenuItem"; - this.insert8BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); - this.insert8BytesToolStripMenuItem.Text = "Insert 8 Bytes"; - this.insert8BytesToolStripMenuItem.Value = 8; - this.insert8BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); - // - // insert64BytesToolStripMenuItem - // - this.insert64BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_64; - this.insert64BytesToolStripMenuItem.Name = "insert64BytesToolStripMenuItem"; - this.insert64BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); - this.insert64BytesToolStripMenuItem.Text = "Insert 64 Bytes"; - this.insert64BytesToolStripMenuItem.Value = 64; - this.insert64BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); - // - // insert256BytesToolStripMenuItem - // - this.insert256BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_256; - this.insert256BytesToolStripMenuItem.Name = "insert256BytesToolStripMenuItem"; - this.insert256BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); - this.insert256BytesToolStripMenuItem.Text = "Insert 256 Bytes"; - this.insert256BytesToolStripMenuItem.Value = 256; - this.insert256BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); - // - // insert1024BytesToolStripMenuItem - // - this.insert1024BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_1024; - this.insert1024BytesToolStripMenuItem.Name = "insert1024BytesToolStripMenuItem"; - this.insert1024BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); - this.insert1024BytesToolStripMenuItem.Text = "Insert 1024 Bytes"; - this.insert1024BytesToolStripMenuItem.Value = 1024; - this.insert1024BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); - // - // insert2048BytesToolStripMenuItem - // - this.insert2048BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_2048; - this.insert2048BytesToolStripMenuItem.Name = "insert2048BytesToolStripMenuItem"; - this.insert2048BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); - this.insert2048BytesToolStripMenuItem.Text = "Insert 2048 Bytes"; - this.insert2048BytesToolStripMenuItem.Value = 2048; - this.insert2048BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); - // - // insert4096BytesToolStripMenuItem - // - this.insert4096BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_4096; - this.insert4096BytesToolStripMenuItem.Name = "insert4096BytesToolStripMenuItem"; - this.insert4096BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); - this.insert4096BytesToolStripMenuItem.Text = "Insert 4096 Bytes"; - this.insert4096BytesToolStripMenuItem.Value = 4096; - this.insert4096BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); - // - // toolStripSeparator1 - // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(266, 6); - // - // createClassFromNodesToolStripMenuItem - // - this.createClassFromNodesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Class_Add; - this.createClassFromNodesToolStripMenuItem.Name = "createClassFromNodesToolStripMenuItem"; - this.createClassFromNodesToolStripMenuItem.Size = new System.Drawing.Size(269, 22); - this.createClassFromNodesToolStripMenuItem.Text = "Create Class from Nodes"; - this.createClassFromNodesToolStripMenuItem.Click += new System.EventHandler(this.createClassFromNodesToolStripMenuItem_Click); - // - // toolStripSeparator13 - // - this.toolStripSeparator13.Name = "toolStripSeparator13"; - this.toolStripSeparator13.Size = new System.Drawing.Size(266, 6); - // - // dissectNodesToolStripMenuItem - // - this.dissectNodesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Camera; - this.dissectNodesToolStripMenuItem.Name = "dissectNodesToolStripMenuItem"; - this.dissectNodesToolStripMenuItem.Size = new System.Drawing.Size(269, 22); - this.dissectNodesToolStripMenuItem.Text = "Dissect Node(s)"; - this.dissectNodesToolStripMenuItem.Click += new System.EventHandler(this.dissectNodesToolStripMenuItem_Click); - // - // toolStripSeparator2 - // - this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(266, 6); - // - // searchForEqualValuesToolStripMenuItem - // - this.searchForEqualValuesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Eye; - this.searchForEqualValuesToolStripMenuItem.Name = "searchForEqualValuesToolStripMenuItem"; - this.searchForEqualValuesToolStripMenuItem.Size = new System.Drawing.Size(269, 22); - this.searchForEqualValuesToolStripMenuItem.Text = "Search for equal values..."; - this.searchForEqualValuesToolStripMenuItem.Click += new System.EventHandler(this.searchForEqualValuesToolStripMenuItem_Click); - // - // toolStripSeparator15 - // - this.toolStripSeparator15.Name = "toolStripSeparator15"; - this.toolStripSeparator15.Size = new System.Drawing.Size(266, 6); - // - // findOutWhatAccessesThisAddressToolStripMenuItem - // - this.findOutWhatAccessesThisAddressToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Find_Access; - this.findOutWhatAccessesThisAddressToolStripMenuItem.Name = "findOutWhatAccessesThisAddressToolStripMenuItem"; - this.findOutWhatAccessesThisAddressToolStripMenuItem.Size = new System.Drawing.Size(269, 22); - this.findOutWhatAccessesThisAddressToolStripMenuItem.Text = "Find out what accesses this address..."; - this.findOutWhatAccessesThisAddressToolStripMenuItem.Click += new System.EventHandler(this.findOutWhatAccessesThisAddressToolStripMenuItem_Click); - // - // findOutWhatWritesToThisAddressToolStripMenuItem - // - this.findOutWhatWritesToThisAddressToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Find_Write; - this.findOutWhatWritesToThisAddressToolStripMenuItem.Name = "findOutWhatWritesToThisAddressToolStripMenuItem"; - this.findOutWhatWritesToThisAddressToolStripMenuItem.Size = new System.Drawing.Size(269, 22); - this.findOutWhatWritesToThisAddressToolStripMenuItem.Text = "Find out what writes to this address..."; - this.findOutWhatWritesToThisAddressToolStripMenuItem.Click += new System.EventHandler(this.findOutWhatWritesToThisAddressToolStripMenuItem_Click); - // - // toolStripSeparator14 - // - this.toolStripSeparator14.Name = "toolStripSeparator14"; - this.toolStripSeparator14.Size = new System.Drawing.Size(266, 6); - // - // copyNodeToolStripMenuItem - // - this.copyNodeToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Page_Copy; - this.copyNodeToolStripMenuItem.Name = "copyNodeToolStripMenuItem"; - this.copyNodeToolStripMenuItem.Size = new System.Drawing.Size(269, 22); - this.copyNodeToolStripMenuItem.Text = "Copy Node(s)"; - this.copyNodeToolStripMenuItem.Click += new System.EventHandler(this.copyNodeToolStripMenuItem_Click); - // - // pasteNodesToolStripMenuItem - // - this.pasteNodesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Page_Paste; - this.pasteNodesToolStripMenuItem.Name = "pasteNodesToolStripMenuItem"; - this.pasteNodesToolStripMenuItem.Size = new System.Drawing.Size(269, 22); - this.pasteNodesToolStripMenuItem.Text = "Paste Node(s)"; - this.pasteNodesToolStripMenuItem.Click += new System.EventHandler(this.pasteNodesToolStripMenuItem_Click); - // - // toolStripSeparator17 - // - this.toolStripSeparator17.Name = "toolStripSeparator17"; - this.toolStripSeparator17.Size = new System.Drawing.Size(266, 6); - // - // removeToolStripMenuItem - // - this.removeToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Delete; - this.removeToolStripMenuItem.Name = "removeToolStripMenuItem"; - this.removeToolStripMenuItem.Size = new System.Drawing.Size(269, 22); - this.removeToolStripMenuItem.Text = "Remove Node(s)"; - this.removeToolStripMenuItem.Click += new System.EventHandler(this.removeToolStripMenuItem_Click); - // - // toolStripSeparator12 - // - this.toolStripSeparator12.Name = "toolStripSeparator12"; - this.toolStripSeparator12.Size = new System.Drawing.Size(266, 6); - // - // hideNodesToolStripMenuItem - // - this.hideNodesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Eye; - this.hideNodesToolStripMenuItem.Name = "hideNodesToolStripMenuItem"; - this.hideNodesToolStripMenuItem.Size = new System.Drawing.Size(269, 22); - this.hideNodesToolStripMenuItem.Text = "Hide selected Node(s)"; - this.hideNodesToolStripMenuItem.Click += new System.EventHandler(this.hideNodesToolStripMenuItem_Click); - // - // unhideNodesToolStripMenuItem - // - this.unhideNodesToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.insertBytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_X; + this.insertBytesToolStripMenuItem.Name = "insertBytesToolStripMenuItem"; + this.insertBytesToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.insertBytesToolStripMenuItem.Text = "Insert Bytes"; + // + // insert4BytesToolStripMenuItem + // + this.insert4BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_4; + this.insert4BytesToolStripMenuItem.Name = "insert4BytesToolStripMenuItem"; + this.insert4BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); + this.insert4BytesToolStripMenuItem.Text = "Insert 4 Bytes"; + this.insert4BytesToolStripMenuItem.Value = 4; + this.insert4BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); + // + // insert8BytesToolStripMenuItem + // + this.insert8BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_8; + this.insert8BytesToolStripMenuItem.Name = "insert8BytesToolStripMenuItem"; + this.insert8BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); + this.insert8BytesToolStripMenuItem.Text = "Insert 8 Bytes"; + this.insert8BytesToolStripMenuItem.Value = 8; + this.insert8BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); + // + // insert64BytesToolStripMenuItem + // + this.insert64BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_64; + this.insert64BytesToolStripMenuItem.Name = "insert64BytesToolStripMenuItem"; + this.insert64BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); + this.insert64BytesToolStripMenuItem.Text = "Insert 64 Bytes"; + this.insert64BytesToolStripMenuItem.Value = 64; + this.insert64BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); + // + // insert256BytesToolStripMenuItem + // + this.insert256BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_256; + this.insert256BytesToolStripMenuItem.Name = "insert256BytesToolStripMenuItem"; + this.insert256BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); + this.insert256BytesToolStripMenuItem.Text = "Insert 256 Bytes"; + this.insert256BytesToolStripMenuItem.Value = 256; + this.insert256BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); + // + // insert1024BytesToolStripMenuItem + // + this.insert1024BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_1024; + this.insert1024BytesToolStripMenuItem.Name = "insert1024BytesToolStripMenuItem"; + this.insert1024BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); + this.insert1024BytesToolStripMenuItem.Text = "Insert 1024 Bytes"; + this.insert1024BytesToolStripMenuItem.Value = 1024; + this.insert1024BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); + // + // insert2048BytesToolStripMenuItem + // + this.insert2048BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_2048; + this.insert2048BytesToolStripMenuItem.Name = "insert2048BytesToolStripMenuItem"; + this.insert2048BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); + this.insert2048BytesToolStripMenuItem.Text = "Insert 2048 Bytes"; + this.insert2048BytesToolStripMenuItem.Value = 2048; + this.insert2048BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); + // + // insert4096BytesToolStripMenuItem + // + this.insert4096BytesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Insert_Bytes_4096; + this.insert4096BytesToolStripMenuItem.Name = "insert4096BytesToolStripMenuItem"; + this.insert4096BytesToolStripMenuItem.Size = new System.Drawing.Size(161, 22); + this.insert4096BytesToolStripMenuItem.Text = "Insert 4096 Bytes"; + this.insert4096BytesToolStripMenuItem.Value = 4096; + this.insert4096BytesToolStripMenuItem.Click += new System.EventHandler(this.insertBytesToolStripMenuItem_Click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(266, 6); + // + // createClassFromNodesToolStripMenuItem + // + this.createClassFromNodesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Class_Add; + this.createClassFromNodesToolStripMenuItem.Name = "createClassFromNodesToolStripMenuItem"; + this.createClassFromNodesToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.createClassFromNodesToolStripMenuItem.Text = "Create Class from Nodes"; + this.createClassFromNodesToolStripMenuItem.Click += new System.EventHandler(this.createClassFromNodesToolStripMenuItem_Click); + // + // toolStripSeparator13 + // + this.toolStripSeparator13.Name = "toolStripSeparator13"; + this.toolStripSeparator13.Size = new System.Drawing.Size(266, 6); + // + // dissectNodesToolStripMenuItem + // + this.dissectNodesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Camera; + this.dissectNodesToolStripMenuItem.Name = "dissectNodesToolStripMenuItem"; + this.dissectNodesToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.dissectNodesToolStripMenuItem.Text = "Dissect Node(s)"; + this.dissectNodesToolStripMenuItem.Click += new System.EventHandler(this.dissectNodesToolStripMenuItem_Click); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(266, 6); + // + // searchForEqualValuesToolStripMenuItem + // + this.searchForEqualValuesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Eye; + this.searchForEqualValuesToolStripMenuItem.Name = "searchForEqualValuesToolStripMenuItem"; + this.searchForEqualValuesToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.searchForEqualValuesToolStripMenuItem.Text = "Search for equal values..."; + this.searchForEqualValuesToolStripMenuItem.Click += new System.EventHandler(this.searchForEqualValuesToolStripMenuItem_Click); + // + // toolStripSeparator15 + // + this.toolStripSeparator15.Name = "toolStripSeparator15"; + this.toolStripSeparator15.Size = new System.Drawing.Size(266, 6); + // + // findOutWhatAccessesThisAddressToolStripMenuItem + // + this.findOutWhatAccessesThisAddressToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Find_Access; + this.findOutWhatAccessesThisAddressToolStripMenuItem.Name = "findOutWhatAccessesThisAddressToolStripMenuItem"; + this.findOutWhatAccessesThisAddressToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.findOutWhatAccessesThisAddressToolStripMenuItem.Text = "Find out what accesses this address..."; + this.findOutWhatAccessesThisAddressToolStripMenuItem.Click += new System.EventHandler(this.findOutWhatAccessesThisAddressToolStripMenuItem_Click); + // + // findOutWhatWritesToThisAddressToolStripMenuItem + // + this.findOutWhatWritesToThisAddressToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Find_Write; + this.findOutWhatWritesToThisAddressToolStripMenuItem.Name = "findOutWhatWritesToThisAddressToolStripMenuItem"; + this.findOutWhatWritesToThisAddressToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.findOutWhatWritesToThisAddressToolStripMenuItem.Text = "Find out what writes to this address..."; + this.findOutWhatWritesToThisAddressToolStripMenuItem.Click += new System.EventHandler(this.findOutWhatWritesToThisAddressToolStripMenuItem_Click); + // + // toolStripSeparator14 + // + this.toolStripSeparator14.Name = "toolStripSeparator14"; + this.toolStripSeparator14.Size = new System.Drawing.Size(266, 6); + // + // copyNodeToolStripMenuItem + // + this.copyNodeToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Page_Copy; + this.copyNodeToolStripMenuItem.Name = "copyNodeToolStripMenuItem"; + this.copyNodeToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.copyNodeToolStripMenuItem.Text = "Copy Node(s)"; + this.copyNodeToolStripMenuItem.Click += new System.EventHandler(this.copyNodeToolStripMenuItem_Click); + // + // pasteNodesToolStripMenuItem + // + this.pasteNodesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Page_Paste; + this.pasteNodesToolStripMenuItem.Name = "pasteNodesToolStripMenuItem"; + this.pasteNodesToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.pasteNodesToolStripMenuItem.Text = "Paste Node(s)"; + this.pasteNodesToolStripMenuItem.Click += new System.EventHandler(this.pasteNodesToolStripMenuItem_Click); + // + // toolStripSeparator17 + // + this.toolStripSeparator17.Name = "toolStripSeparator17"; + this.toolStripSeparator17.Size = new System.Drawing.Size(266, 6); + // + // removeToolStripMenuItem + // + this.removeToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Button_Delete; + this.removeToolStripMenuItem.Name = "removeToolStripMenuItem"; + this.removeToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.removeToolStripMenuItem.Text = "Remove Node(s)"; + this.removeToolStripMenuItem.Click += new System.EventHandler(this.removeToolStripMenuItem_Click); + // + // toolStripSeparator12 + // + this.toolStripSeparator12.Name = "toolStripSeparator12"; + this.toolStripSeparator12.Size = new System.Drawing.Size(266, 6); + // + // hideNodesToolStripMenuItem + // + this.hideNodesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Eye; + this.hideNodesToolStripMenuItem.Name = "hideNodesToolStripMenuItem"; + this.hideNodesToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.hideNodesToolStripMenuItem.Text = "Hide selected Node(s)"; + this.hideNodesToolStripMenuItem.Click += new System.EventHandler(this.hideNodesToolStripMenuItem_Click); + // + // unhideNodesToolStripMenuItem + // + this.unhideNodesToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.unhideChildNodesToolStripMenuItem, this.unhideNodesAboveToolStripMenuItem, this.unhideNodesBelowToolStripMenuItem}); - this.unhideNodesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Eye; - this.unhideNodesToolStripMenuItem.Name = "unhideNodesToolStripMenuItem"; - this.unhideNodesToolStripMenuItem.Size = new System.Drawing.Size(269, 22); - this.unhideNodesToolStripMenuItem.Text = "Unhide..."; - this.unhideNodesToolStripMenuItem.Click += new System.EventHandler(this.unhideChildNodesToolStripMenuItem_Click); - // - // unhideChildNodesToolStripMenuItem - // - this.unhideChildNodesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Eye; - this.unhideChildNodesToolStripMenuItem.Name = "unhideChildNodesToolStripMenuItem"; - this.unhideChildNodesToolStripMenuItem.Size = new System.Drawing.Size(180, 22); - this.unhideChildNodesToolStripMenuItem.Text = "... Child Node(s)"; - this.unhideChildNodesToolStripMenuItem.Click += new System.EventHandler(this.unhideChildNodesToolStripMenuItem_Click); - // - // unhideNodesAboveToolStripMenuItem - // - this.unhideNodesAboveToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Eye; - this.unhideNodesAboveToolStripMenuItem.Name = "unhideNodesAboveToolStripMenuItem"; - this.unhideNodesAboveToolStripMenuItem.Size = new System.Drawing.Size(180, 22); - this.unhideNodesAboveToolStripMenuItem.Text = "... Node(s) above"; - this.unhideNodesAboveToolStripMenuItem.Click += new System.EventHandler(this.unhideNodesAboveToolStripMenuItem_Click); - // - // unhideNodesBelowToolStripMenuItem - // - this.unhideNodesBelowToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Eye; - this.unhideNodesBelowToolStripMenuItem.Name = "unhideNodesBelowToolStripMenuItem"; - this.unhideNodesBelowToolStripMenuItem.Size = new System.Drawing.Size(180, 22); - this.unhideNodesBelowToolStripMenuItem.Text = "... Node(s) below"; - this.unhideNodesBelowToolStripMenuItem.Click += new System.EventHandler(this.unhideNodesBelowToolStripMenuItem_Click); - // - // toolStripSeparator18 - // - this.toolStripSeparator18.Name = "toolStripSeparator18"; - this.toolStripSeparator18.Size = new System.Drawing.Size(266, 6); - // - // copyAddressToolStripMenuItem - // - this.copyAddressToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Page_Copy; - this.copyAddressToolStripMenuItem.Name = "copyAddressToolStripMenuItem"; - this.copyAddressToolStripMenuItem.Size = new System.Drawing.Size(269, 22); - this.copyAddressToolStripMenuItem.Text = "Copy Address"; - this.copyAddressToolStripMenuItem.Click += new System.EventHandler(this.copyAddressToolStripMenuItem_Click); - // - // toolStripSeparator16 - // - this.toolStripSeparator16.Name = "toolStripSeparator16"; - this.toolStripSeparator16.Size = new System.Drawing.Size(266, 6); - // - // showCodeOfClassToolStripMenuItem - // - this.showCodeOfClassToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Page_Code_Cpp; - this.showCodeOfClassToolStripMenuItem.Name = "showCodeOfClassToolStripMenuItem"; - this.showCodeOfClassToolStripMenuItem.Size = new System.Drawing.Size(269, 22); - this.showCodeOfClassToolStripMenuItem.Text = "Show C++ Code of Class"; - this.showCodeOfClassToolStripMenuItem.Click += new System.EventHandler(this.showCodeOfClassToolStripMenuItem_Click); - // - // shrinkClassToolStripMenuItem - // - this.shrinkClassToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Chart_Delete; - this.shrinkClassToolStripMenuItem.Name = "shrinkClassToolStripMenuItem"; - this.shrinkClassToolStripMenuItem.Size = new System.Drawing.Size(269, 22); - this.shrinkClassToolStripMenuItem.Text = "Shrink Class"; - this.shrinkClassToolStripMenuItem.Click += new System.EventHandler(this.shrinkClassToolStripMenuItem_Click); - // - // repaintTimer - // - this.repaintTimer.Enabled = true; - this.repaintTimer.Interval = 250; - this.repaintTimer.Tick += new System.EventHandler(this.repaintTimer_Tick); - // - // editBox - // - this.editBox.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.editBox.Location = new System.Drawing.Point(36, 81); - this.editBox.MinimumWidth = 0; - this.editBox.Name = "editBox"; - this.editBox.Size = new System.Drawing.Size(100, 13); - this.editBox.TabIndex = 1; - this.editBox.TabStop = false; - this.editBox.Visible = false; - this.editBox.Committed += new System.EventHandler(this.editBox_Committed); - // - // nodeInfoToolTip - // - this.nodeInfoToolTip.ShowAlways = true; - // - // MemoryViewControl - // - this.Controls.Add(this.editBox); - this.DoubleBuffered = true; - this.Name = "MemoryViewControl"; - this.Size = new System.Drawing.Size(150, 162); - this.selectedNodeContextMenuStrip.ResumeLayout(false); - this.ResumeLayout(false); - this.PerformLayout(); + this.unhideNodesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Eye; + this.unhideNodesToolStripMenuItem.Name = "unhideNodesToolStripMenuItem"; + this.unhideNodesToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.unhideNodesToolStripMenuItem.Text = "Unhide..."; + this.unhideNodesToolStripMenuItem.Click += new System.EventHandler(this.unhideChildNodesToolStripMenuItem_Click); + // + // unhideChildNodesToolStripMenuItem + // + this.unhideChildNodesToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Eye; + this.unhideChildNodesToolStripMenuItem.Name = "unhideChildNodesToolStripMenuItem"; + this.unhideChildNodesToolStripMenuItem.Size = new System.Drawing.Size(163, 22); + this.unhideChildNodesToolStripMenuItem.Text = "... Child Node(s)"; + this.unhideChildNodesToolStripMenuItem.Click += new System.EventHandler(this.unhideChildNodesToolStripMenuItem_Click); + // + // unhideNodesAboveToolStripMenuItem + // + this.unhideNodesAboveToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Eye; + this.unhideNodesAboveToolStripMenuItem.Name = "unhideNodesAboveToolStripMenuItem"; + this.unhideNodesAboveToolStripMenuItem.Size = new System.Drawing.Size(163, 22); + this.unhideNodesAboveToolStripMenuItem.Text = "... Node(s) above"; + this.unhideNodesAboveToolStripMenuItem.Click += new System.EventHandler(this.unhideNodesAboveToolStripMenuItem_Click); + // + // unhideNodesBelowToolStripMenuItem + // + this.unhideNodesBelowToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Eye; + this.unhideNodesBelowToolStripMenuItem.Name = "unhideNodesBelowToolStripMenuItem"; + this.unhideNodesBelowToolStripMenuItem.Size = new System.Drawing.Size(163, 22); + this.unhideNodesBelowToolStripMenuItem.Text = "... Node(s) below"; + this.unhideNodesBelowToolStripMenuItem.Click += new System.EventHandler(this.unhideNodesBelowToolStripMenuItem_Click); + // + // toolStripSeparator18 + // + this.toolStripSeparator18.Name = "toolStripSeparator18"; + this.toolStripSeparator18.Size = new System.Drawing.Size(266, 6); + // + // copyAddressToolStripMenuItem + // + this.copyAddressToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Page_Copy; + this.copyAddressToolStripMenuItem.Name = "copyAddressToolStripMenuItem"; + this.copyAddressToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.copyAddressToolStripMenuItem.Text = "Copy Address"; + this.copyAddressToolStripMenuItem.Click += new System.EventHandler(this.copyAddressToolStripMenuItem_Click); + // + // toolStripSeparator16 + // + this.toolStripSeparator16.Name = "toolStripSeparator16"; + this.toolStripSeparator16.Size = new System.Drawing.Size(266, 6); + // + // showCodeOfClassToolStripMenuItem + // + this.showCodeOfClassToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Page_Code_Cpp; + this.showCodeOfClassToolStripMenuItem.Name = "showCodeOfClassToolStripMenuItem"; + this.showCodeOfClassToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.showCodeOfClassToolStripMenuItem.Text = "Show C++ Code of Class"; + this.showCodeOfClassToolStripMenuItem.Click += new System.EventHandler(this.showCodeOfClassToolStripMenuItem_Click); + // + // shrinkClassToolStripMenuItem + // + this.shrinkClassToolStripMenuItem.Image = global::ReClassNET.Properties.Resources.B16x16_Chart_Delete; + this.shrinkClassToolStripMenuItem.Name = "shrinkClassToolStripMenuItem"; + this.shrinkClassToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.shrinkClassToolStripMenuItem.Text = "Shrink Class"; + this.shrinkClassToolStripMenuItem.Click += new System.EventHandler(this.shrinkClassToolStripMenuItem_Click); + // + // repaintTimer + // + this.repaintTimer.Enabled = true; + this.repaintTimer.Interval = 250; + this.repaintTimer.Tick += new System.EventHandler(this.repaintTimer_Tick); + // + // editBox + // + this.editBox.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.editBox.Location = new System.Drawing.Point(36, 81); + this.editBox.MinimumWidth = 0; + this.editBox.Name = "editBox"; + this.editBox.Size = new System.Drawing.Size(100, 13); + this.editBox.TabIndex = 1; + this.editBox.TabStop = false; + this.editBox.Visible = false; + this.editBox.Committed += new System.EventHandler(this.editBox_Committed); + // + // nodeInfoToolTip + // + this.nodeInfoToolTip.ShowAlways = true; + // + // MemoryViewControl + // + this.Controls.Add(this.editBox); + this.DoubleBuffered = true; + this.Name = "MemoryViewControl"; + this.Size = new System.Drawing.Size(150, 162); + this.selectedNodeContextMenuStrip.ResumeLayout(false); + this.ResumeLayout(false); + this.PerformLayout(); } @@ -1001,5 +1001,5 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripMenuItem unhideNodesAboveToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem unhideNodesBelowToolStripMenuItem; private System.Windows.Forms.ToolStripSeparator toolStripSeparator18; - } + } } diff --git a/ReClass.NET/UI/MemoryViewControl.cs b/ReClass.NET/UI/MemoryViewControl.cs index 36ddbcbc..c1aa80bc 100644 --- a/ReClass.NET/UI/MemoryViewControl.cs +++ b/ReClass.NET/UI/MemoryViewControl.cs @@ -21,8 +21,8 @@ namespace ReClassNET.UI public partial class MemoryViewControl : ScrollableCustomControl { private ReClassNetProject project; - - private ClassNode classNode; + private KeyBoardManager keyBoard; + private ClassNode classNode; private readonly List hotSpots = new List(); private readonly List selectedNodes = new List(); @@ -87,16 +87,13 @@ public MemoryViewControl() InitializeComponent(); if (Program.DesignMode) - { return; - } font = Program.MonoSpaceFont; - editBox.Font = font; - memoryPreviewPopUp = new MemoryPreviewPopUp(font); - } + keyBoard = new KeyBoardManager(); + } protected override void OnLoad(EventArgs e) { @@ -508,10 +505,10 @@ protected override void OnMouseHover(EventArgs e) { if (spot.Rect.Contains(toolTipPosition)) { - if (spot.Node.UseMemoryPreviewToolTip(spot, spot.Memory, out var previewAddress)) + if (spot.Node.UseMemoryPreviewToolTip(spot, spot.Memory, out var previewAddress) && + keyBoard.input.InputDeviceState.IsKeyDown(WindowsInput.Native.VirtualKeyCode.CONTROL)) // Control Key IsDown { memoryPreviewPopUp.InitializeMemory(spot.Memory.Process, previewAddress); - memoryPreviewPopUp.Show(this, toolTipPosition.OffsetEx(16, 16)); } else @@ -959,8 +956,9 @@ private void hideNodesToolStripMenuItem_Click(object sender, EventArgs e) private void unhideChildNodesToolStripMenuItem_Click(object sender, EventArgs e) { - UnhideChildNodes(); - } + if (!(sender is ToolStripMenuItem)) + UnhideChildNodes(); + } private void unhideNodesAboveToolStripMenuItem_Click(object sender, EventArgs e) { @@ -1357,5 +1355,5 @@ private void FindWhatInteractsWithSelectedNode(bool writeOnly) LinkedWindowFeatures.FindWhatInteractsWithAddress(selectedNode.Address, selectedNode.Node.MemorySize, writeOnly); } - } + } } diff --git a/ReClass.NET/UI/PanelWithScorllBar.cs b/ReClass.NET/UI/PanelWithScorllBar.cs new file mode 100644 index 00000000..cc36cdbd --- /dev/null +++ b/ReClass.NET/UI/PanelWithScorllBar.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ReClassNET.UI +{ + public class PanelWithScorllBar : Panel + { + protected override CreateParams CreateParams + { + get + { + var cp = base.CreateParams; + cp.Style |= 0x00100000; // WS_HSCROLL + //cp.Style |= 0x00200000; // WS_VSCROLL + return cp; + } + } + } +} diff --git a/ReClass.NET/UI/ScrollableSplitTable.Designer.cs b/ReClass.NET/UI/ScrollableSplitTable.Designer.cs new file mode 100644 index 00000000..7eed956e --- /dev/null +++ b/ReClass.NET/UI/ScrollableSplitTable.Designer.cs @@ -0,0 +1,66 @@ +namespace ReClassNET.UI +{ + partial class ScrollableSplitTable + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.PanelControl = new ReClassNET.UI.SplitTablePanel(); + this.SuspendLayout(); + // + // PanelControl + // + this.PanelControl.AutoScroll = true; + this.PanelControl.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single; + this.PanelControl.ColumnCount = 1; + this.PanelControl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 492F)); + this.PanelControl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.PanelControl.Dock = System.Windows.Forms.DockStyle.Fill; + this.PanelControl.GrowStyle = System.Windows.Forms.TableLayoutPanelGrowStyle.AddColumns; + this.PanelControl.Location = new System.Drawing.Point(0, 0); + this.PanelControl.Name = "PanelControl"; + this.PanelControl.RowCount = 1; + this.PanelControl.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.PanelControl.Size = new System.Drawing.Size(482, 287); + this.PanelControl.SplitterSize = 6; + this.PanelControl.TabIndex = 1; + // + // ScrollableSplitTable + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.PanelControl); + this.Name = "ScrollableSplitTable"; + this.Size = new System.Drawing.Size(482, 287); + this.ResumeLayout(false); + + } + + #endregion + + private SplitTablePanel PanelControl; + } +} diff --git a/ReClass.NET/UI/ScrollableSplitTable.cs b/ReClass.NET/UI/ScrollableSplitTable.cs new file mode 100644 index 00000000..65808d90 --- /dev/null +++ b/ReClass.NET/UI/ScrollableSplitTable.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ReClassNET.UI +{ + public partial class ScrollableSplitTable : ScrollableCustomControl + { + public SplitTablePanel Panel => PanelControl; + + public ScrollableSplitTable() + { + InitializeComponent(); + } + } +} diff --git a/ReClass.NET/UI/ScrollableSplitTable.resx b/ReClass.NET/UI/ScrollableSplitTable.resx new file mode 100644 index 00000000..1af7de15 --- /dev/null +++ b/ReClass.NET/UI/ScrollableSplitTable.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ReClass.NET/UI/SplitTablePanel.Designer.cs b/ReClass.NET/UI/SplitTablePanel.Designer.cs new file mode 100644 index 00000000..1f951284 --- /dev/null +++ b/ReClass.NET/UI/SplitTablePanel.Designer.cs @@ -0,0 +1,41 @@ +namespace ReClassNET.UI +{ + partial class SplitTablePanel + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.SuspendLayout(); + // + // SplitTablePanel + // + this.Name = "SplitTablePanel"; + this.ResumeLayout(false); + } + + #endregion + } +} diff --git a/ReClass.NET/UI/SplitTablePanel.cs b/ReClass.NET/UI/SplitTablePanel.cs new file mode 100644 index 00000000..ce4a78ce --- /dev/null +++ b/ReClass.NET/UI/SplitTablePanel.cs @@ -0,0 +1,246 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ReClassNET.UI +{ + public partial class SplitTablePanel : TableLayoutPanel + { + public int SplitterSize { get; set; } + + int sizingRow = -1; + int currentRow = -1; + Point mdown = Point.Empty; + int oldHeight = -1; + bool isNormalRow = false; + List tlpRows = new List(); + int[] rowHeights = new int[0]; + + int sizingCol = -1; + int currentCol = -1; + int oldWidth = -1; + bool isNormalCol = false; + List tlpCols = new List(); + int[] colWidths = new int[0]; + + public SplitTablePanel() + { + InitializeComponent(); + this.MouseDown += SplitTablePanel_MouseDown; + this.MouseMove += SplitTablePanel_MouseMove; + this.MouseUp += SplitTablePanel_MouseUp; + this.MouseLeave += SplitTablePanel_MouseLeave; + this.Resize += SplitTablePanel_Resize; + SplitterSize = 6; + } + + void SplitTablePanel_Resize(object sender, EventArgs e) + { + getRowRectangles(SplitterSize); + getColRectangles(SplitterSize); + } + void SplitTablePanel_MouseLeave(object sender, EventArgs e) + { + Cursor = Cursors.Default; + } + + + void SplitTablePanel_MouseUp(object sender, MouseEventArgs e) + { + getRowRectangles(SplitterSize); + getColRectangles(SplitterSize); + } + + void SplitTablePanel_MouseMove(object sender, MouseEventArgs e) + { + bool r = rowMove(sender, e); + bool c = colMove(sender, e); + + if (r && !c) + Cursor = Cursors.SizeNS; + else if (!r && c) + Cursor = Cursors.SizeWE; + else if (r && c) + Cursor = Cursors.SizeAll; + else + Cursor = Cursors.Default; + } + + bool rowMove(object sender, MouseEventArgs e) + { + bool isMove = false; + if (!isNormalRow) nomalizeRowStyles(); + if (tlpRows.Count <= 0) getRowRectangles(SplitterSize); + if (rowHeights.Length <= 0) rowHeights = GetRowHeights(); + + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + if (sizingRow < 0) return false; + int newHeight = oldHeight + e.Y - mdown.Y; + sizeRow(sizingRow, newHeight); + isMove = true; + } + else + { + currentRow = -1; + for (int i = 0; i < tlpRows.Count; i++) + if (tlpRows[i].Contains(e.Location)) + { + currentRow = i; + isMove = true; + break; + } + } + return isMove; + } + + bool colMove(object sender, MouseEventArgs e) + { + bool isMove = false; + if (!isNormalCol) nomalizeColStyles(); + if (tlpCols.Count <= 0) getColRectangles(SplitterSize); + if (colWidths.Length <= 0) colWidths = GetColumnWidths(); + + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + if (sizingCol < 0) return false; + int newWidth = oldWidth + e.X - mdown.X; + sizeCol(sizingCol, newWidth); + isMove = true; + } + else + { + currentCol = -1; + for (int i = 0; i < tlpCols.Count; i++) + if (tlpCols[i].Contains(e.Location)) + { + currentCol = i; + isMove = true; + break; + } + } + return isMove; + } + + void SplitTablePanel_MouseDown(object sender, MouseEventArgs e) + { + mdown = Point.Empty; + rowDown(); + colDown(); + mdown = e.Location; + } + + void rowDown() + { + sizingRow = -1; + if (currentRow < 0) return; + sizingRow = currentRow; + oldHeight = rowHeights[sizingRow]; + } + + void colDown() + { + sizingCol = -1; + if (currentCol < 0) return; + sizingCol = currentCol; + oldWidth = colWidths[sizingCol]; + } + + + void getRowRectangles(float size) + { // get a list of mouse sensitive rectangles + float sz = size / 2f; + float y = 0f; + int w = ClientSize.Width; + int[] rw = GetRowHeights(); + + tlpRows.Clear(); + for (int i = 0; i < rw.Length - 1; i++) + { + y += rw[i]; + tlpRows.Add(new RectangleF(0, y - sz, w, size)); + } + + } + + void getColRectangles(float size) + { // get a list of mouse sensitive rectangles + float sz = size / 2f; + float x = 0f; + int h = ClientSize.Height; + int[] rw = GetColumnWidths(); + + tlpCols.Clear(); + for (int i = 0; i < rw.Length - 1; i++) + { + x += rw[i]; + tlpCols.Add(new RectangleF(x - sz, 0, size, h)); + } + + } + + void sizeRow(int row, int newHeight) + { // change the height of one row + if (newHeight == 0) return; + if (sizingRow < 0) return; + SuspendLayout(); + rowHeights = GetRowHeights(); + if (sizingRow >= rowHeights.Length) return; + + if (newHeight > 0) + RowStyles[sizingRow] = new RowStyle(SizeType.Absolute, newHeight); + ResumeLayout(); + rowHeights = GetRowHeights(); + getRowRectangles(SplitterSize); + } + + void sizeCol(int col, int newWidth) + { // change the height of one row + if (newWidth == 0) return; + if (sizingCol < 0) return; + SuspendLayout(); + colWidths = GetColumnWidths(); + if (sizingCol >= colWidths.Length) return; + + if (newWidth > 0) + ColumnStyles[sizingCol] = new ColumnStyle(SizeType.Absolute, newWidth); + ResumeLayout(); + colWidths = GetColumnWidths(); + getColRectangles(SplitterSize); + } + + void nomalizeRowStyles() + { // set all rows to absolute and the last one to percent=100! + if (rowHeights.Length <= 0) return; + rowHeights = GetRowHeights(); + RowStyles.Clear(); + for (int i = 0; i < RowCount - 1; i++) + { + RowStyle cs = new RowStyle(SizeType.Absolute, rowHeights[i]); + RowStyles.Add(cs); + } + RowStyles.Add(new RowStyle(SizeType.Percent, 100)); + isNormalRow = true; + } + + void nomalizeColStyles() + { // set all rows to absolute and the last one to percent=100! + if (colWidths.Length <= 0) return; + colWidths = GetColumnWidths(); + ColumnStyles.Clear(); + for (int i = 0; i < ColumnCount - 1; i++) + { + ColumnStyle cs = new ColumnStyle(SizeType.Absolute, colWidths[i]); + ColumnStyles.Add(cs); + } + ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100)); + isNormalCol = true; + } + } +} diff --git a/ReClass.NET/UI/SplitTablePanel.resx b/ReClass.NET/UI/SplitTablePanel.resx new file mode 100644 index 00000000..1af7de15 --- /dev/null +++ b/ReClass.NET/UI/SplitTablePanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ReClass.NET/UI/ViewInfo.cs b/ReClass.NET/UI/ViewInfo.cs index 64d6ea5a..5b0c628c 100644 --- a/ReClass.NET/UI/ViewInfo.cs +++ b/ReClass.NET/UI/ViewInfo.cs @@ -21,7 +21,11 @@ public class ViewInfo public int Level { get; set; } public bool MultipleNodesSelected { get; set; } - public ViewInfo Clone() + public CompareOptions ShowOptions { get; set; } = new CompareOptions(); + public object Tag { get; set; } + public object Tag2 { get; set; } + + public ViewInfo Clone() { return new ViewInfo { @@ -34,8 +38,11 @@ public ViewInfo Clone() Classes = Classes, Address = Address, Level = Level, - MultipleNodesSelected = MultipleNodesSelected - }; + MultipleNodesSelected = MultipleNodesSelected, + Tag = Tag, + Tag2 = Tag2, + ShowOptions = ShowOptions + }; } } } diff --git a/ReClass.NET/Util/KeyboardManager.cs b/ReClass.NET/Util/KeyboardManager.cs new file mode 100644 index 00000000..801de4a0 --- /dev/null +++ b/ReClass.NET/Util/KeyboardManager.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using WindowsInput; +using WindowsInput.Native; + +namespace ReClassNET.Util +{ + public class KeyBoardManager + { + // Event + public delegate void KeyDelgate(VirtualKeyCode KeyCode); + public event KeyDelgate KeyPressed; + public event KeyDelgate KeyDown; + + public List KeysCodesToHandle { get; set; } + public bool IsKeyThreadRunning { get; set; } = false; + + public InputSimulator input = new InputSimulator(); + + public KeyBoardManager() + { + KeysCodesToHandle = new List(); + } + + public KeyBoardManager(List KeysCodesToHandle) + { + this.KeysCodesToHandle = KeysCodesToHandle; + } + + private bool IsKeyPressed(IInputDeviceStateAdaptor Adaptor, VirtualKeyCode keyCode) + { + if (Adaptor.IsKeyDown(keyCode)) + { + while (!Adaptor.IsKeyUp(keyCode)) + Thread.Sleep(1); + + return true; + } + return false; + } + + public void StartDetector() + { + if (!IsKeyThreadRunning) + { + IsKeyThreadRunning = true; + new Thread(() => + { + while (true) + { + for (int i = 0; i < KeysCodesToHandle.Count; i++) + { + VirtualKeyCode key = KeysCodesToHandle[i]; + if (input.InputDeviceState.IsKeyDown(key)) + Task.Run(() => KeyDown?.Invoke(key)); + + if (IsKeyPressed(input.InputDeviceState, key)) + Task.Run(() => KeyPressed?.Invoke(key)); + } + + Thread.Sleep(8); + } + }).Start(); + } + } + } +} diff --git a/ReClass.NET/packages.config b/ReClass.NET/packages.config index efb2da7c..259c8ea7 100644 --- a/ReClass.NET/packages.config +++ b/ReClass.NET/packages.config @@ -1,4 +1,5 @@  - + + \ No newline at end of file diff --git a/ReClass.NET_Launcher/Program.cs b/ReClass.NET_Launcher/Program.cs index 8c160e3e..d865e2e5 100644 --- a/ReClass.NET_Launcher/Program.cs +++ b/ReClass.NET_Launcher/Program.cs @@ -11,7 +11,8 @@ namespace ReClassNET_Launcher { static class Program { - [STAThread] + public static bool is64Bit; + [STAThread] static void Main(string[] args) { var commandLineArgs = new CommandLineArgs(args); @@ -30,7 +31,7 @@ static void Main(string[] args) return; } - var is64Bit = IntPtr.Size == 8; + is64Bit = IntPtr.Size == 8; // If there is a file in the commandline, read the platform. if (commandLineArgs.FileName != null) diff --git a/img/Class Compare.png b/img/Class Compare.png new file mode 100644 index 00000000..9d45848c Binary files /dev/null and b/img/Class Compare.png differ