Initial Code
This commit is contained in:
parent
f236e59cb4
commit
9d6f367c8d
5
build.sh
Normal file
5
build.sh
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#Script to build
|
||||||
|
echo "Building with g++..."
|
||||||
|
g++ -g -o npi-build source/main.cpp source/samplefiles.cpp source/helper.cpp source/banner_audio.cpp source/logo_lz11.cpp source/icon.cpp source/banner.cpp -I include
|
||||||
|
echo "installing..."
|
||||||
|
sudo cp npi-build /usr/local/bin/
|
16
cformat.sh
Normal file
16
cformat.sh
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
THIS_PATH="$(realpath "$0")"
|
||||||
|
THIS_DIR="$(dirname "$THIS_PATH")"
|
||||||
|
|
||||||
|
# Find all files in THIS_DIR which end in .ino, .cpp, etc., as specified
|
||||||
|
# in the regular expression just below
|
||||||
|
FILE_LIST="$(find "$THIS_DIR" | grep -E ".*(\.ino|\.cpp|\.c|\.h|\.hpp|\.hh)$" | grep -v "json.hpp")"
|
||||||
|
|
||||||
|
echo -e "Files found to format = \n\"\"\"\n$FILE_LIST\n\"\"\""
|
||||||
|
|
||||||
|
# Format each file.
|
||||||
|
# - NB: do NOT put quotes around `$FILE_LIST` below or else the `clang-format` command will
|
||||||
|
# mistakenly see the entire blob of newline-separated file names as a SINGLE file name instead
|
||||||
|
# of as a new-line separated list of *many* file names!
|
||||||
|
clang-format --verbose -i --style=file $FILE_LIST
|
5
include/banner.hpp
Normal file
5
include/banner.hpp
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <cstddef>
|
||||||
|
|
||||||
|
extern unsigned char banner[];
|
||||||
|
extern size_t banner_size;
|
5
include/banner_audio.hpp
Normal file
5
include/banner_audio.hpp
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <cstddef>
|
||||||
|
|
||||||
|
extern unsigned char banner_audio[];
|
||||||
|
extern size_t banner_audio_size;
|
70
include/fileHash.hpp
Normal file
70
include/fileHash.hpp
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <chrono>
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <filesystem>
|
||||||
|
#include <fstream>
|
||||||
|
#include <iostream>
|
||||||
|
#include <map>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
inline std::string fix_path(const std::string &path)
|
||||||
|
{
|
||||||
|
if (path.find('\\') == path.npos)
|
||||||
|
return path;
|
||||||
|
std::string ret = path;
|
||||||
|
std::replace(ret.begin(), ret.end(), '\\', '/');
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline std::string stupid_hash(const std::string &file)
|
||||||
|
{
|
||||||
|
std::ifstream iff(file);
|
||||||
|
if(!iff.is_open()) {
|
||||||
|
return std::to_string(rand());
|
||||||
|
}
|
||||||
|
unsigned long long check_sum = 0x0ULL;
|
||||||
|
char tmp;
|
||||||
|
while (iff.get(tmp))
|
||||||
|
{
|
||||||
|
check_sum += (unsigned long long)tmp;
|
||||||
|
}
|
||||||
|
iff.close();
|
||||||
|
std::stringstream ret;
|
||||||
|
ret << std::hex << check_sum;
|
||||||
|
return ret.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
inline std::map<std::string, std::string>
|
||||||
|
createHashes(const std::vector<std::string> &dirs,
|
||||||
|
const std::string &extension)
|
||||||
|
{
|
||||||
|
std::map<std::string, std::string> hashes;
|
||||||
|
for (auto const &it : dirs)
|
||||||
|
{
|
||||||
|
for (const auto &file : std::filesystem::directory_iterator(it))
|
||||||
|
{
|
||||||
|
if (file.is_regular_file() && file.path().extension() == extension)
|
||||||
|
{
|
||||||
|
std::string path = fix_path(file.path().string());
|
||||||
|
hashes[path] = stupid_hash(path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return hashes;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline std::vector<std::filesystem::path>
|
||||||
|
getChangedFiles(const std::map<std::string, std::string> &oldHashes)
|
||||||
|
{
|
||||||
|
std::vector<std::filesystem::path> changedFiles;
|
||||||
|
for (const auto &file : oldHashes)
|
||||||
|
{
|
||||||
|
std::string newHash = stupid_hash(file.first);
|
||||||
|
if (newHash != file.second)
|
||||||
|
{
|
||||||
|
changedFiles.push_back(std::filesystem::path(file.first));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return changedFiles;
|
||||||
|
}
|
11
include/helper.hpp
Normal file
11
include/helper.hpp
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <prj_def.hpp>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
namespace helper {
|
||||||
|
std::string GenerateUniqueId();
|
||||||
|
void ArrayToFile(unsigned char *array_, size_t size_, std::string filename);
|
||||||
|
void GenerateTemplateFile(std::string path, NpiProject prj);
|
||||||
|
void CompileProject(std::string path);
|
||||||
|
void CleanProject(std::string path);
|
||||||
|
} // namespace helper
|
5
include/icon.hpp
Normal file
5
include/icon.hpp
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <cstddef>
|
||||||
|
|
||||||
|
extern unsigned char icon[];
|
||||||
|
extern size_t icon_size;
|
24651
include/json.hpp
Normal file
24651
include/json.hpp
Normal file
File diff suppressed because it is too large
Load Diff
5
include/logo_lz11.hpp
Normal file
5
include/logo_lz11.hpp
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <cstddef>
|
||||||
|
|
||||||
|
extern unsigned char logo_lz11[];
|
||||||
|
extern size_t logo_lz11_size;
|
111
include/prj_def.hpp
Normal file
111
include/prj_def.hpp
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
struct NpiProject {
|
||||||
|
std::string name;
|
||||||
|
std::string author;
|
||||||
|
std::string description;
|
||||||
|
int vmajor;
|
||||||
|
int vminor;
|
||||||
|
int vbuild;
|
||||||
|
std::vector<std::string> source_dirs;
|
||||||
|
std::vector<std::string> include_dirs;
|
||||||
|
std::vector<std::string> libraries;
|
||||||
|
std::vector<std::string> lib_dirs;
|
||||||
|
|
||||||
|
std::string icon_path;
|
||||||
|
std::string banner_path;
|
||||||
|
std::string banner_a_path;
|
||||||
|
std::string rsf_path;
|
||||||
|
std::string logo_lz11_path;
|
||||||
|
|
||||||
|
std::string dir_gfx;
|
||||||
|
std::string dir_gfxbuild;
|
||||||
|
std::string dir_romfs;
|
||||||
|
|
||||||
|
std::string unique_id;
|
||||||
|
std::string prod;
|
||||||
|
std::string platform; // Platforms: 3ds, desktop
|
||||||
|
|
||||||
|
std::vector<std::string> arch_flags;
|
||||||
|
std::vector<std::string> c_flags;
|
||||||
|
std::vector<std::string> cxx_flags;
|
||||||
|
std::vector<std::string> as_flags;
|
||||||
|
std::vector<std::string> linker_flags;
|
||||||
|
|
||||||
|
std::string cxx_compiler;
|
||||||
|
std::string c_compiler;
|
||||||
|
std::string linker;
|
||||||
|
std::string asm_compiler;
|
||||||
|
};
|
||||||
|
|
||||||
|
inline void Prj_InitDefault(NpiProject &project) {
|
||||||
|
project.name = "Sample";
|
||||||
|
project.author = "Sample";
|
||||||
|
project.description = "Description";
|
||||||
|
project.vmajor = 1;
|
||||||
|
project.vminor = 0;
|
||||||
|
project.vbuild = 0;
|
||||||
|
|
||||||
|
project.source_dirs.push_back("source");
|
||||||
|
project.include_dirs.push_back("include");
|
||||||
|
|
||||||
|
project.libraries.push_back("m");
|
||||||
|
project.libraries.push_back("stdc++");
|
||||||
|
project.libraries.push_back("citro2d");
|
||||||
|
project.libraries.push_back("citro3d");
|
||||||
|
project.libraries.push_back("ctru");
|
||||||
|
|
||||||
|
project.arch_flags.push_back("march=armv6k");
|
||||||
|
project.arch_flags.push_back("mtune=mpcore");
|
||||||
|
project.arch_flags.push_back("mfloat-abi=hard");
|
||||||
|
project.arch_flags.push_back("mtp=soft");
|
||||||
|
|
||||||
|
project.c_flags.push_back("g");
|
||||||
|
project.c_flags.push_back("Wall");
|
||||||
|
project.c_flags.push_back("Wno-psabi");
|
||||||
|
project.c_flags.push_back("O2");
|
||||||
|
project.c_flags.push_back("mword-relocations");
|
||||||
|
project.c_flags.push_back("fomit-frame-pointer");
|
||||||
|
project.c_flags.push_back("ffunction-sections");
|
||||||
|
project.c_flags.push_back("[arch_flags]");
|
||||||
|
project.c_flags.push_back("D__3DS__");
|
||||||
|
project.c_flags.push_back("D_GNU_SOURCE=1");
|
||||||
|
|
||||||
|
project.cxx_flags.push_back("[c_flags]");
|
||||||
|
project.cxx_flags.push_back("fno-rtti");
|
||||||
|
project.cxx_flags.push_back("fno-exceptions");
|
||||||
|
project.cxx_flags.push_back("std=gnu++20");
|
||||||
|
|
||||||
|
project.as_flags.push_back("g");
|
||||||
|
project.as_flags.push_back("[arch_flags]");
|
||||||
|
|
||||||
|
project.linker_flags.push_back("specs=3dsx.specs");
|
||||||
|
project.linker_flags.push_back("g");
|
||||||
|
project.linker_flags.push_back("[arch_flags]");
|
||||||
|
project.linker_flags.push_back("Wl,-Map,./build/code.map");
|
||||||
|
|
||||||
|
project.lib_dirs.push_back("{DEVKITPRO}/portlibs/3ds/");
|
||||||
|
project.lib_dirs.push_back("{DEVKITPRO}/libctru/");
|
||||||
|
|
||||||
|
project.cxx_compiler = "{DEVKITPRO}/devkitARM/bin/arm-none-eabi-g++";
|
||||||
|
project.linker = "{DEVKITPRO}/devkitARM/bin/arm-none-eabi-g++";
|
||||||
|
project.c_compiler = "{DEVKITPRO}/devkitARM/bin/arm-none-eabi-gcc";
|
||||||
|
project.asm_compiler = "{DEVKITPRO}/devkitARM/bin/arm-none-eabi-gcc";
|
||||||
|
|
||||||
|
project.icon_path = "app/icon.png";
|
||||||
|
project.banner_path = "app/banner.png";
|
||||||
|
project.banner_a_path = "app/banner_audio.wav";
|
||||||
|
project.rsf_path = "app/build-cia.rsf";
|
||||||
|
project.logo_lz11_path = "app/logo.lz11";
|
||||||
|
|
||||||
|
project.dir_gfx = "gfx/";
|
||||||
|
project.dir_gfxbuild = "romfs/gfx/";
|
||||||
|
project.dir_romfs = "romfs/";
|
||||||
|
|
||||||
|
project.unique_id = "0xff3ff";
|
||||||
|
project.prod = "NPI7";
|
||||||
|
project.platform = "3ds";
|
||||||
|
}
|
7
include/samplefiles.hpp
Normal file
7
include/samplefiles.hpp
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
extern const char *default_title;
|
||||||
|
extern const char *default_code;
|
||||||
|
extern const char *default_unique_id;
|
||||||
|
extern const char *default_romfs_path;
|
||||||
|
extern const char *ciaRSF;
|
519
source/banner.cpp
Normal file
519
source/banner.cpp
Normal file
@ -0,0 +1,519 @@
|
|||||||
|
#include <banner.hpp>
|
||||||
|
|
||||||
|
unsigned char banner[] = {
|
||||||
|
0x89, 0x50, 0x4e, 0x47, 0xd, 0xa, 0x1a, 0xa, 0x0, 0x0, 0x0, 0xd,
|
||||||
|
0x49, 0x48, 0x44, 0x52, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x80,
|
||||||
|
0x8, 0x6, 0x0, 0x0, 0x0, 0xe4, 0xb5, 0xb7, 0xa, 0x0, 0x0, 0x1,
|
||||||
|
0x84, 0x69, 0x43, 0x43, 0x50, 0x49, 0x43, 0x43, 0x20, 0x70, 0x72, 0x6f,
|
||||||
|
0x66, 0x69, 0x6c, 0x65, 0x0, 0x0, 0x28, 0x91, 0x7d, 0x91, 0x3d, 0x48,
|
||||||
|
0xc3, 0x40, 0x1c, 0xc5, 0x5f, 0x53, 0xa5, 0x22, 0x95, 0xe, 0x2d, 0x28,
|
||||||
|
0xe2, 0x90, 0xa1, 0x3a, 0x59, 0x10, 0x15, 0x75, 0xd4, 0x2a, 0x14, 0xa1,
|
||||||
|
0x42, 0xa8, 0x15, 0x5a, 0x75, 0x30, 0xb9, 0xf4, 0xb, 0x9a, 0x34, 0x24,
|
||||||
|
0x29, 0x2e, 0x8e, 0x82, 0x6b, 0xc1, 0xc1, 0x8f, 0xc5, 0xaa, 0x83, 0x8b,
|
||||||
|
0xb3, 0xae, 0xe, 0xae, 0x82, 0x20, 0xf8, 0x1, 0xe2, 0xea, 0xe2, 0xa4,
|
||||||
|
0xe8, 0x22, 0x25, 0xfe, 0xaf, 0x29, 0xb4, 0x88, 0xf1, 0xe0, 0xb8, 0x1f,
|
||||||
|
0xef, 0xee, 0x3d, 0xee, 0xde, 0x1, 0x42, 0xbd, 0xcc, 0x34, 0xab, 0x6b,
|
||||||
|
0xc, 0xd0, 0x74, 0xdb, 0x4c, 0x25, 0xe2, 0x62, 0x26, 0xbb, 0x2a, 0x6,
|
||||||
|
0x5e, 0x21, 0x20, 0x8c, 0x10, 0xfa, 0x31, 0x2d, 0x33, 0xcb, 0x98, 0x93,
|
||||||
|
0xa4, 0x24, 0x3c, 0xc7, 0xd7, 0x3d, 0x7c, 0x7c, 0xbd, 0x8b, 0xf1, 0x2c,
|
||||||
|
0xef, 0x73, 0x7f, 0x8e, 0x3e, 0x35, 0x67, 0x31, 0xc0, 0x27, 0x12, 0xcf,
|
||||||
|
0x32, 0xc3, 0xb4, 0x89, 0x37, 0x88, 0xa7, 0x36, 0x6d, 0x83, 0xf3, 0x3e,
|
||||||
|
0x71, 0x84, 0x15, 0x65, 0x95, 0xf8, 0x9c, 0x78, 0xd4, 0xa4, 0xb, 0x12,
|
||||||
|
0x3f, 0x72, 0x5d, 0x71, 0xf9, 0x8d, 0x73, 0xa1, 0xc9, 0x2, 0xcf, 0x8c,
|
||||||
|
0x98, 0xe9, 0xd4, 0x3c, 0x71, 0x84, 0x58, 0x2c, 0x74, 0xb0, 0xd2, 0xc1,
|
||||||
|
0xac, 0x68, 0x6a, 0xc4, 0x93, 0xc4, 0x51, 0x55, 0xd3, 0x29, 0x5f, 0xc8,
|
||||||
|
0xb8, 0xac, 0x72, 0xde, 0xe2, 0xac, 0x95, 0xab, 0xac, 0x75, 0x4f, 0xfe,
|
||||||
|
0xc2, 0x60, 0x4e, 0x5f, 0x59, 0xe6, 0x3a, 0xcd, 0x21, 0x24, 0xb0, 0x88,
|
||||||
|
0x25, 0x48, 0x10, 0xa1, 0xa0, 0x8a, 0x12, 0xca, 0xb0, 0x11, 0xa3, 0x55,
|
||||||
|
0x27, 0xc5, 0x42, 0x8a, 0xf6, 0xe3, 0x1e, 0xfe, 0xc1, 0xa6, 0x5f, 0x22,
|
||||||
|
0x97, 0x42, 0xae, 0x12, 0x18, 0x39, 0x16, 0x50, 0x81, 0x6, 0xb9, 0xe9,
|
||||||
|
0x7, 0xff, 0x83, 0xdf, 0xdd, 0x5a, 0xf9, 0x89, 0x71, 0x37, 0x29, 0x18,
|
||||||
|
0x7, 0xba, 0x5f, 0x1c, 0xe7, 0x63, 0x18, 0x8, 0xec, 0x2, 0x8d, 0x9a,
|
||||||
|
0xe3, 0x7c, 0x1f, 0x3b, 0x4e, 0xe3, 0x4, 0xf0, 0x3f, 0x3, 0x57, 0x7a,
|
||||||
|
0xdb, 0x5f, 0xa9, 0x3, 0x33, 0x9f, 0xa4, 0xd7, 0xda, 0x5a, 0xf4, 0x8,
|
||||||
|
0x8, 0x6d, 0x3, 0x17, 0xd7, 0x6d, 0x4d, 0xd9, 0x3, 0x2e, 0x77, 0x80,
|
||||||
|
0x81, 0x27, 0x43, 0x36, 0xe5, 0xa6, 0xe4, 0xa7, 0x29, 0xe4, 0xf3, 0xc0,
|
||||||
|
0xfb, 0x19, 0x7d, 0x53, 0x16, 0x8, 0xdf, 0x2, 0xbd, 0x6b, 0x6e, 0x6f,
|
||||||
|
0xad, 0x7d, 0x9c, 0x3e, 0x0, 0x69, 0xea, 0x2a, 0x79, 0x3, 0x1c, 0x1c,
|
||||||
|
0x2, 0x23, 0x5, 0xca, 0x5e, 0xf7, 0x78, 0x77, 0x4f, 0x67, 0x6f, 0xff,
|
||||||
|
0x9e, 0x69, 0xf5, 0xf7, 0x3, 0x8e, 0x4a, 0x72, 0xb2, 0x26, 0x87, 0xf8,
|
||||||
|
0xc8, 0x0, 0x0, 0x0, 0x6, 0x62, 0x4b, 0x47, 0x44, 0x0, 0xff, 0x0,
|
||||||
|
0xff, 0x0, 0xff, 0xa0, 0xbd, 0xa7, 0x93, 0x0, 0x0, 0x0, 0x9, 0x70,
|
||||||
|
0x48, 0x59, 0x73, 0x0, 0x0, 0x2e, 0x23, 0x0, 0x0, 0x2e, 0x23, 0x1,
|
||||||
|
0x78, 0xa5, 0x3f, 0x76, 0x0, 0x0, 0x0, 0x7, 0x74, 0x49, 0x4d, 0x45,
|
||||||
|
0x7, 0xe7, 0x2, 0x13, 0xf, 0x1a, 0x1f, 0xc9, 0x80, 0x9a, 0x98, 0x0,
|
||||||
|
0x0, 0x0, 0x19, 0x74, 0x45, 0x58, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65,
|
||||||
|
0x6e, 0x74, 0x0, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77,
|
||||||
|
0x69, 0x74, 0x68, 0x20, 0x47, 0x49, 0x4d, 0x50, 0x57, 0x81, 0xe, 0x17,
|
||||||
|
0x0, 0x0, 0x15, 0xeb, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xed, 0x9d,
|
||||||
|
0x79, 0x98, 0x5c, 0x55, 0x95, 0xc0, 0x7f, 0xd5, 0xdd, 0x9, 0x9, 0x21,
|
||||||
|
0x10, 0x8, 0x61, 0x93, 0x2d, 0x12, 0x82, 0x83, 0xe, 0x6, 0x88, 0x4,
|
||||||
|
0x8, 0x89, 0xca, 0xa6, 0xa0, 0x80, 0x8c, 0xa2, 0x84, 0x9d, 0x18, 0x70,
|
||||||
|
0x86, 0x0, 0xe, 0x3a, 0xb2, 0x38, 0x22, 0x8b, 0xcc, 0x27, 0xfb, 0x26,
|
||||||
|
0x28, 0x4b, 0xc, 0x60, 0x14, 0x44, 0x12, 0x2, 0xc3, 0x30, 0x8, 0xe,
|
||||||
|
0x61, 0x93, 0xdd, 0x4, 0x8, 0x10, 0x89, 0x81, 0x90, 0x90, 0x34, 0xc1,
|
||||||
|
0x90, 0x85, 0xac, 0x9d, 0xf4, 0x52, 0xe5, 0x1f, 0xe7, 0xd4, 0xf4, 0xad,
|
||||||
|
0xd7, 0xef, 0xbe, 0x7a, 0xaf, 0xea, 0xd5, 0xd2, 0xdd, 0xe7, 0xf7, 0x7d,
|
||||||
|
0xef, 0xeb, 0xaf, 0xeb, 0xd5, 0xab, 0xfb, 0xde, 0x7d, 0xe7, 0x9e, 0x7b,
|
||||||
|
0xee, 0xb9, 0xe7, 0x9e, 0xb, 0x86, 0x61, 0x18, 0x86, 0x61, 0x18, 0x86,
|
||||||
|
0x61, 0x18, 0x86, 0x61, 0x18, 0x86, 0x61, 0x18, 0x86, 0x61, 0x18, 0x86,
|
||||||
|
0x61, 0x18, 0x86, 0x61, 0x18, 0x86, 0x61, 0x18, 0x86, 0x61, 0x18, 0x86,
|
||||||
|
0x61, 0x18, 0x86, 0x61, 0x18, 0x86, 0x61, 0x18, 0x86, 0x61, 0x18, 0x86,
|
||||||
|
0x61, 0x18, 0x86, 0x61, 0x18, 0x86, 0x61, 0x18, 0x86, 0x61, 0x18, 0x86,
|
||||||
|
0x61, 0x18, 0x86, 0x61, 0x18, 0x86, 0x61, 0x18, 0x75, 0xc6, 0x66, 0xc0,
|
||||||
|
0xb5, 0xc0, 0x42, 0xa0, 0x15, 0x58, 0x2, 0xdc, 0x1, 0x6c, 0x6b, 0x55,
|
||||||
|
0x63, 0x24, 0x60, 0xa, 0x90, 0xb, 0x39, 0x9e, 0x1, 0x1a, 0xac, 0x7a,
|
||||||
|
0xea, 0x97, 0x5f, 0x7a, 0x5e, 0xdc, 0xe3, 0xf6, 0xe2, 0x8c, 0xee, 0xae,
|
||||||
|
0x0, 0x92, 0x14, 0x3c, 0x4c, 0x7b, 0xc0, 0x9c, 0xe7, 0xe8, 0x0, 0x4e,
|
||||||
|
0x2e, 0xa1, 0xfc, 0x67, 0x42, 0x7e, 0x6b, 0x23, 0xb0, 0x53, 0x1d, 0xbc,
|
||||||
|
0xb4, 0x26, 0xe0, 0xcb, 0x9e, 0x73, 0x63, 0x80, 0x1, 0x15, 0x2e, 0x7f,
|
||||||
|
0x67, 0xe0, 0x3c, 0x60, 0x3a, 0x30, 0x17, 0x58, 0x5, 0xb4, 0x3, 0x6b,
|
||||||
|
0x81, 0x66, 0xe0, 0x65, 0x60, 0x12, 0xf0, 0x3d, 0x60, 0x17, 0x6b, 0x63,
|
||||||
|
0x46, 0x25, 0x29, 0xa6, 0x0, 0x72, 0xc0, 0xfb, 0xc0, 0x16, 0x3d, 0x4c,
|
||||||
|
0x1, 0xfc, 0xd5, 0xf3, 0xac, 0xeb, 0x75, 0x78, 0x50, 0x9, 0xb6, 0x7,
|
||||||
|
0xee, 0x89, 0x51, 0xdf, 0xee, 0x91, 0x5, 0xde, 0x0, 0x7e, 0xa4, 0xd7,
|
||||||
|
0x1b, 0x66, 0x1, 0xa4, 0x6a, 0x1, 0xc4, 0x61, 0x17, 0xe0, 0x7, 0x3d,
|
||||||
|
0xe8, 0xa5, 0xb5, 0x3, 0x4f, 0x7a, 0xce, 0x3d, 0xab, 0x4a, 0x20, 0x6d,
|
||||||
|
0xf6, 0x7, 0x66, 0x1, 0xa7, 0x0, 0x7d, 0x12, 0x5c, 0x97, 0x1, 0xf6,
|
||||||
|
0x2, 0xae, 0x56, 0x9f, 0x45, 0xc6, 0xda, 0x9c, 0x51, 0x6d, 0xb, 0x20,
|
||||||
|
0xa7, 0x66, 0xea, 0xd0, 0x1e, 0x62, 0x1, 0xa0, 0x66, 0xfe, 0xd5, 0x88,
|
||||||
|
0x13, 0xb0, 0xd, 0xf8, 0x8, 0xb8, 0x1d, 0x18, 0x52, 0x81, 0xb2, 0x86,
|
||||||
|
0x3, 0x4b, 0x13, 0xf4, 0xfa, 0x61, 0x47, 0x3b, 0x30, 0xd6, 0xc4, 0xd5,
|
||||||
|
0x2c, 0x80, 0x5a, 0x29, 0x80, 0x1c, 0xf0, 0xbb, 0x98, 0x3d, 0x50, 0x77,
|
||||||
|
0x50, 0x0, 0xd5, 0xb4, 0xc6, 0xfe, 0xb7, 0xcc, 0xc6, 0x9f, 0x3, 0xfe,
|
||||||
|
0x2, 0x34, 0x5a, 0x7b, 0x33, 0x5, 0x10, 0x77, 0x8c, 0x5b, 0x9, 0xbe,
|
||||||
|
0xd, 0xdc, 0x6, 0x3c, 0x67, 0xef, 0x3d, 0x36, 0x9f, 0x5, 0xe, 0xf5,
|
||||||
|
0x9c, 0x6b, 0x1, 0x7e, 0x5, 0x3c, 0x6, 0x2c, 0x3, 0x36, 0x57, 0x5,
|
||||||
|
0x39, 0xa, 0x38, 0x5c, 0x2d, 0x87, 0x8c, 0xa, 0xd4, 0xed, 0x88, 0x43,
|
||||||
|
0xd6, 0x30, 0x6a, 0x66, 0x1, 0xe4, 0x80, 0x17, 0x63, 0x28, 0x18, 0xb3,
|
||||||
|
0x0, 0x3a, 0x39, 0xcf, 0x53, 0x8f, 0x6d, 0xc0, 0x91, 0x45, 0xae, 0xdd,
|
||||||
|
0x1b, 0xb8, 0x19, 0x78, 0x87, 0x64, 0x4e, 0x58, 0xa3, 0x97, 0x5b, 0x0,
|
||||||
|
0xe5, 0x16, 0x9c, 0x3, 0x96, 0x7b, 0xce, 0xed, 0x7, 0x9c, 0x58, 0xc5,
|
||||||
|
0xca, 0x9c, 0x1e, 0x18, 0x76, 0xc, 0xd5, 0xb1, 0xfb, 0x2c, 0xf5, 0x4b,
|
||||||
|
0xb4, 0x1, 0x1f, 0x3, 0x33, 0x80, 0xef, 0x6b, 0x2f, 0x5a, 0x4f, 0x2f,
|
||||||
|
0xee, 0x9f, 0x3c, 0x9f, 0xcf, 0x44, 0x62, 0xe, 0xa2, 0x78, 0xd, 0x38,
|
||||||
|
0x57, 0x7f, 0x63, 0x55, 0x82, 0x32, 0xf7, 0xd4, 0xeb, 0x7e, 0x83, 0xcc,
|
||||||
|
0x20, 0x2c, 0x51, 0x6b, 0xa3, 0x4d, 0xdf, 0xeb, 0x6c, 0x7d, 0xfe, 0x53,
|
||||||
|
0x80, 0x81, 0x65, 0xbc, 0x9f, 0x2c, 0x30, 0xc1, 0x39, 0xdf, 0x8, 0x1c,
|
||||||
|
0x81, 0xc4, 0x58, 0xcc, 0x56, 0xab, 0xa6, 0x4d, 0xef, 0xfd, 0x2d, 0xe0,
|
||||||
|
0x6e, 0xe0, 0x18, 0xcf, 0x50, 0x66, 0x3b, 0xe0, 0x6c, 0xe0, 0x11, 0x60,
|
||||||
|
0x3e, 0xb0, 0x4e, 0x3b, 0x8c, 0x66, 0xe0, 0x9, 0xc4, 0x9, 0x3d, 0xb8,
|
||||||
|
0xe, 0xe5, 0x28, 0x2d, 0x46, 0x2, 0x3f, 0x57, 0xf9, 0xcb, 0xbf, 0xaf,
|
||||||
|
0x56, 0xbd, 0xa7, 0x57, 0xb5, 0x4e, 0x8f, 0xa8, 0x84, 0x75, 0x1f, 0x66,
|
||||||
|
0x1, 0x64, 0x81, 0xff, 0x0, 0x56, 0x7b, 0x1a, 0xc9, 0x2, 0x60, 0x50,
|
||||||
|
0x5, 0x2c, 0x80, 0xb0, 0x17, 0xb7, 0x14, 0xe8, 0xaf, 0x2f, 0xef, 0x6c,
|
||||||
|
0x15, 0x8c, 0x28, 0xb, 0xa5, 0x39, 0x46, 0xcf, 0x5a, 0x4d, 0x5, 0xf0,
|
||||||
|
0x7b, 0x4f, 0x39, 0x8f, 0x92, 0xae, 0x47, 0x7f, 0x53, 0x60, 0x22, 0xf0,
|
||||||
|
0xa6, 0xbe, 0xbf, 0xb8, 0x16, 0xdd, 0xa, 0xe0, 0x87, 0x31, 0x5, 0x2b,
|
||||||
|
0xac, 0xce, 0xa6, 0xea, 0x73, 0xec, 0xa3, 0x8d, 0xbe, 0x58, 0xd9, 0xf9,
|
||||||
|
0x69, 0xcd, 0x7f, 0x76, 0x94, 0xc6, 0x4f, 0x91, 0x99, 0x97, 0x62, 0xf7,
|
||||||
|
0xba, 0x1c, 0x38, 0xbe, 0xc4, 0xfb, 0xac, 0x57, 0x39, 0xda, 0x1b, 0x78,
|
||||||
|
0x3a, 0xe6, 0x3b, 0xcb, 0x22, 0x71, 0x23, 0x47, 0x57, 0x63, 0x8, 0x70,
|
||||||
|
0x12, 0xf0, 0x33, 0xcf, 0x8d, 0x65, 0xf5, 0x5c, 0x35, 0x14, 0x40, 0x3b,
|
||||||
|
0x70, 0x10, 0x70, 0xb9, 0x8e, 0x81, 0xe3, 0x8, 0xf5, 0x46, 0xe0, 0x84,
|
||||||
|
0x3a, 0x51, 0x0, 0x77, 0x79, 0xca, 0xf9, 0x8, 0xd8, 0x2a, 0xa5, 0x32,
|
||||||
|
0x1a, 0x81, 0xe7, 0xcb, 0x70, 0x30, 0x66, 0xb5, 0x21, 0xf7, 0x2d, 0xb1,
|
||||||
|
0x61, 0x8d, 0x1, 0x56, 0x26, 0x2c, 0xf3, 0x23, 0x60, 0x77, 0xe0, 0xd6,
|
||||||
|
0x84, 0xa, 0xab, 0x2d, 0x86, 0x12, 0xe8, 0x2e, 0x72, 0x34, 0x1, 0xd8,
|
||||||
|
0x50, 0xc2, 0xfb, 0xea, 0x0, 0xae, 0x49, 0x4b, 0x4e, 0x7d, 0xa, 0xe0,
|
||||||
|
0x5f, 0xb5, 0x97, 0x5f, 0xe0, 0xb9, 0x89, 0xd5, 0xc0, 0x6e, 0x55, 0x50,
|
||||||
|
0x0, 0x39, 0xed, 0x31, 0xda, 0x13, 0x56, 0xd2, 0x5a, 0xed, 0x95, 0x6a,
|
||||||
|
0xad, 0x0, 0xfe, 0x33, 0xa2, 0xd1, 0x3d, 0x46, 0x7a, 0xd3, 0x8e, 0x13,
|
||||||
|
0x13, 0x36, 0xa4, 0xb0, 0xfb, 0xb9, 0xbc, 0x44, 0x61, 0xaf, 0xf6, 0xb1,
|
||||||
|
0xa4, 0x88, 0xf2, 0xec, 0xe, 0x72, 0x74, 0x4a, 0x9, 0xf7, 0x12, 0x7c,
|
||||||
|
0x5f, 0x57, 0x54, 0xca, 0x7, 0x0, 0x12, 0xd, 0xf7, 0x9, 0x70, 0x89,
|
||||||
|
0x16, 0x16, 0x64, 0xa0, 0x5a, 0x1, 0xd5, 0x8, 0x4c, 0xd9, 0x8b, 0xe4,
|
||||||
|
0x53, 0x60, 0x3, 0x80, 0x1b, 0xa8, 0xfd, 0xd4, 0xd9, 0x93, 0x84, 0x7b,
|
||||||
|
0xef, 0x33, 0xc0, 0x57, 0x81, 0xb7, 0xd5, 0x24, 0xdd, 0xa4, 0xcc, 0x72,
|
||||||
|
0xee, 0x41, 0x62, 0x1a, 0x4a, 0x25, 0xa3, 0x63, 0xdf, 0xee, 0x10, 0x6d,
|
||||||
|
0xb8, 0x2d, 0x70, 0x5c, 0x37, 0x96, 0xa3, 0xcf, 0x0, 0xb7, 0x94, 0xf9,
|
||||||
|
0x9b, 0x19, 0xe0, 0x7c, 0x60, 0x74, 0xa5, 0x14, 0x40, 0x3e, 0x1e, 0xfe,
|
||||||
|
0x77, 0xc0, 0x4b, 0x9e, 0xef, 0x1c, 0xa7, 0xe6, 0x5f, 0xb5, 0xf8, 0x8,
|
||||||
|
0xb8, 0x8, 0x9, 0x88, 0x19, 0x9, 0x7c, 0xc7, 0xb1, 0x34, 0xc2, 0x18,
|
||||||
|
0xd, 0x1c, 0x50, 0x63, 0x61, 0x7d, 0x15, 0xf8, 0x73, 0xc4, 0xf9, 0x21,
|
||||||
|
0xc0, 0x2f, 0x80, 0x39, 0x6a, 0x12, 0x96, 0xaa, 0x8, 0xd6, 0x2, 0xd7,
|
||||||
|
0x3b, 0x3d, 0xc4, 0x5c, 0xe0, 0x26, 0xe0, 0x34, 0xe0, 0x4b, 0x3a, 0xd6,
|
||||||
|
0x1c, 0xad, 0xe3, 0xfd, 0xc5, 0x9e, 0xdf, 0x18, 0x8, 0x7c, 0xad, 0x8c,
|
||||||
|
0x67, 0x5d, 0xf, 0x5c, 0x7, 0x1c, 0xa2, 0xbd, 0xe6, 0xf1, 0xea, 0xc8,
|
||||||
|
0x8c, 0xc3, 0x5f, 0xd5, 0xea, 0x1c, 0x85, 0x44, 0x4d, 0x5e, 0xac, 0x56,
|
||||||
|
0xa6, 0x4f, 0xf8, 0xf, 0xef, 0xa6, 0x72, 0x94, 0x1, 0xae, 0xf4, 0x38,
|
||||||
|
0x5f, 0x73, 0x2a, 0x2f, 0x67, 0x6a, 0x3d, 0x8c, 0x4, 0xbe, 0x5, 0xdc,
|
||||||
|
0xe7, 0xe9, 0x44, 0xfa, 0x0, 0x3f, 0x2e, 0xb7, 0xbd, 0xfb, 0x86, 0x0,
|
||||||
|
0x57, 0x3b, 0xdf, 0x39, 0x8, 0xff, 0x54, 0xe1, 0x4b, 0x74, 0xd, 0x6d,
|
||||||
|
0x4d, 0x7b, 0x8, 0x90, 0x3, 0x3e, 0x4, 0x76, 0xf5, 0x8c, 0x7f, 0xa7,
|
||||||
|
0x44, 0x98, 0xbf, 0x37, 0xd7, 0x78, 0x8, 0x90, 0xef, 0x79, 0x56, 0xc7,
|
||||||
|
0x34, 0xed, 0x16, 0xaa, 0x39, 0x5f, 0x8a, 0x22, 0x18, 0xa0, 0xde, 0xff,
|
||||||
|
0x3d, 0x8a, 0x7c, 0x6f, 0x57, 0x75, 0xa8, 0x85, 0x95, 0x7f, 0x47, 0x89,
|
||||||
|
0xef, 0x67, 0x3, 0x70, 0x70, 0xc8, 0x35, 0x83, 0x90, 0x69, 0xcc, 0xa8,
|
||||||
|
0x67, 0x7e, 0xc1, 0xd3, 0x20, 0x8e, 0x8a, 0x30, 0x93, 0xe7, 0x44, 0x38,
|
||||||
|
0x2e, 0xeb, 0x59, 0x8e, 0xf6, 0xd4, 0x76, 0x10, 0x66, 0xd2, 0xdf, 0x16,
|
||||||
|
0x61, 0x15, 0x9c, 0xe1, 0xf1, 0x5d, 0xac, 0x7, 0x3e, 0x55, 0x9, 0x5,
|
||||||
|
0x70, 0x6b, 0x40, 0x6b, 0x4d, 0x89, 0x70, 0x48, 0x9c, 0x1e, 0xa2, 0x0,
|
||||||
|
0x9e, 0x4e, 0x51, 0x1, 0x64, 0xb5, 0xe7, 0xf2, 0xb1, 0x9d, 0x7a, 0xb3,
|
||||||
|
0xc3, 0xae, 0x7d, 0xdd, 0x23, 0x28, 0xd5, 0x9e, 0xbf, 0x3d, 0x46, 0x7b,
|
||||||
|
0xe9, 0xb8, 0x63, 0xbc, 0x79, 0xc0, 0xd7, 0x2b, 0x68, 0x99, 0x4c, 0x2b,
|
||||||
|
0x61, 0x76, 0x22, 0xaa, 0x61, 0x4d, 0x29, 0xd1, 0x3f, 0xd1, 0x16, 0xd1,
|
||||||
|
0xbb, 0x36, 0x22, 0x2b, 0x23, 0x7d, 0x33, 0x2, 0x7d, 0xbb, 0xa1, 0x1c,
|
||||||
|
0x5d, 0x14, 0x31, 0xeb, 0x30, 0xb0, 0x88, 0x63, 0xfd, 0x39, 0xcf, 0x33,
|
||||||
|
0x1d, 0x5b, 0xc9, 0x21, 0x40, 0xde, 0x34, 0xb9, 0x98, 0xf0, 0xb9, 0xe8,
|
||||||
|
0x6, 0xe0, 0x52, 0xa, 0xa7, 0x5, 0xf3, 0x8d, 0x3d, 0x2d, 0xda, 0x80,
|
||||||
|
0x87, 0x8a, 0x98, 0x74, 0x4f, 0x78, 0xce, 0xed, 0x8e, 0x4c, 0x91, 0xd5,
|
||||||
|
0x9a, 0x87, 0xb5, 0x87, 0x7c, 0x2f, 0x81, 0x62, 0x7e, 0x18, 0xf8, 0x35,
|
||||||
|
0x95, 0x59, 0x9e, 0xbc, 0xc2, 0xf3, 0x79, 0x29, 0x96, 0x47, 0x16, 0xb8,
|
||||||
|
0x37, 0xe2, 0xfc, 0xf3, 0xf8, 0xa3, 0x18, 0xe7, 0xa8, 0xd9, 0x1b, 0x46,
|
||||||
|
0x47, 0xc4, 0xf0, 0xa9, 0x5f, 0x9, 0xfe, 0xa7, 0x5a, 0xcb, 0x51, 0x46,
|
||||||
|
0xad, 0xe9, 0x30, 0x9e, 0x1, 0xd6, 0x14, 0xa9, 0xe3, 0xa7, 0x3c, 0xbf,
|
||||||
|
0x39, 0xbc, 0x12, 0xa, 0x20, 0xf8, 0xb0, 0xb, 0xd4, 0x19, 0x12, 0x36,
|
||||||
|
0x4e, 0xda, 0x9, 0x59, 0xae, 0xea, 0x2a, 0x80, 0x96, 0x14, 0x85, 0x75,
|
||||||
|
0x19, 0xb0, 0xa8, 0xc8, 0x77, 0x5e, 0xf6, 0x7c, 0xde, 0x87, 0xf2, 0xa3,
|
||||||
|
0xf, 0x77, 0x6, 0x3e, 0x17, 0xf3, 0xd8, 0x2e, 0xe2, 0x77, 0x5e, 0x1,
|
||||||
|
0x46, 0x0, 0x57, 0x11, 0x6f, 0xc5, 0x61, 0x3, 0x30, 0x1e, 0x9, 0x8e,
|
||||||
|
0x89, 0xbb, 0x44, 0x79, 0x4, 0xf0, 0x13, 0x55, 0x1e, 0x73, 0xb4, 0xa7,
|
||||||
|
0x6c, 0xd, 0xe9, 0x81, 0x27, 0x44, 0x8, 0x69, 0xd2, 0x86, 0xd5, 0x1a,
|
||||||
|
0xd1, 0x88, 0x41, 0xbc, 0xf6, 0x3e, 0x5, 0xf0, 0x92, 0x9a, 0xf9, 0x3e,
|
||||||
|
0x16, 0x45, 0xd4, 0x4d, 0x77, 0x93, 0xa3, 0x26, 0x75, 0x0, 0x86, 0x31,
|
||||||
|
0x2e, 0x86, 0x55, 0x78, 0xb1, 0xe7, 0xda, 0xad, 0xc2, 0xa, 0x4a, 0xc3,
|
||||||
|
0x59, 0x11, 0xe4, 0x7a, 0x64, 0xfa, 0xe2, 0xd3, 0x21, 0xdf, 0x3d, 0x7,
|
||||||
|
0x99, 0xf3, 0x7e, 0xd7, 0x71, 0x8, 0xa5, 0xe9, 0xfc, 0x2b, 0x16, 0x7,
|
||||||
|
0xbf, 0x40, 0x2b, 0x29, 0x13, 0x22, 0x28, 0xe5, 0xce, 0xb7, 0xdf, 0xa2,
|
||||||
|
0xe3, 0xd1, 0x38, 0xdc, 0x88, 0x84, 0xff, 0x46, 0x39, 0xeb, 0x2e, 0xd4,
|
||||||
|
0x21, 0xd6, 0xf9, 0xda, 0xc0, 0x8b, 0xf5, 0x2c, 0x5f, 0x52, 0x87, 0xde,
|
||||||
|
0x84, 0x22, 0x8e, 0xaa, 0x6b, 0xd5, 0x79, 0x54, 0xed, 0x25, 0xc3, 0x4b,
|
||||||
|
0x89, 0x8e, 0x54, 0xdc, 0x10, 0x71, 0xdf, 0xef, 0x16, 0xf9, 0xed, 0x96,
|
||||||
|
0x1e, 0x24, 0x47, 0x8d, 0x54, 0x26, 0xe5, 0x5c, 0xdf, 0x4a, 0x58, 0x0,
|
||||||
|
0x61, 0xac, 0x51, 0x2d, 0xe4, 0x9b, 0x16, 0xbc, 0xc2, 0xa9, 0xb8, 0x75,
|
||||||
|
0x29, 0x96, 0xbb, 0x36, 0x42, 0x80, 0x8a, 0x7d, 0x27, 0xa3, 0xe6, 0x62,
|
||||||
|
0xbd, 0xb1, 0x48, 0x95, 0xe6, 0x30, 0x55, 0xac, 0xeb, 0x8a, 0x28, 0xe3,
|
||||||
|
0x53, 0x22, 0xc6, 0xca, 0xe3, 0x91, 0x10, 0xd6, 0xfd, 0xa9, 0x4d, 0xbe,
|
||||||
|
0x80, 0x8f, 0x3d, 0x32, 0x11, 0x87, 0x55, 0x55, 0xbc, 0xcf, 0x5a, 0xcb,
|
||||||
|
0xd1, 0xa6, 0x54, 0x6e, 0xa1, 0x5e, 0x55, 0x14, 0x0, 0xc0, 0xfd, 0x3a,
|
||||||
|
0xa6, 0xb, 0xe3, 0x9b, 0xc0, 0x17, 0x2b, 0xa0, 0xb9, 0xfb, 0xd4, 0xf8,
|
||||||
|
0x99, 0x2b, 0xc9, 0x12, 0x75, 0x4c, 0xed, 0x81, 0xc4, 0xee, 0x67, 0x23,
|
||||||
|
0xcc, 0xc7, 0x53, 0x43, 0x3e, 0xdf, 0x57, 0xad, 0x89, 0xbe, 0x35, 0x7c,
|
||||||
|
0x86, 0xd, 0x31, 0x1a, 0x96, 0x8f, 0x8d, 0x55, 0xbc, 0xcf, 0x5a, 0xcb,
|
||||||
|
0x51, 0xd5, 0x64, 0xb4, 0x92, 0x5, 0x75, 0xa8, 0xe9, 0xda, 0xe6, 0x11,
|
||||||
|
0xd2, 0xab, 0xb4, 0xa2, 0x37, 0xa4, 0x58, 0xe6, 0x66, 0x31, 0x9e, 0x69,
|
||||||
|
0xa0, 0xa7, 0xf7, 0x4b, 0xdb, 0x1f, 0x51, 0x29, 0x9a, 0xb5, 0x81, 0x9f,
|
||||||
|
0x19, 0x31, 0x26, 0xde, 0x8f, 0xc2, 0x69, 0xa2, 0x8c, 0xe, 0x27, 0x7c,
|
||||||
|
0x3d, 0xd3, 0xdf, 0x11, 0xaf, 0xf3, 0x48, 0xc4, 0x49, 0xdb, 0xe8, 0x8c,
|
||||||
|
0xf1, 0x27, 0xa5, 0x2c, 0x13, 0xdd, 0x81, 0x5a, 0xcb, 0x51, 0x4b, 0x84,
|
||||||
|
0x82, 0x3f, 0xdf, 0x79, 0x37, 0x49, 0x8f, 0xf3, 0xaa, 0xad, 0x69, 0x5e,
|
||||||
|
0x6, 0x7e, 0xeb, 0x39, 0x37, 0x52, 0xcd, 0xd5, 0x34, 0x15, 0xc0, 0x8e,
|
||||||
|
0x14, 0x8f, 0x9a, 0x1a, 0xea, 0x79, 0x71, 0x59, 0x75, 0xfe, 0x74, 0x17,
|
||||||
|
0x26, 0x23, 0x81, 0x1f, 0x61, 0x6c, 0x1f, 0xa8, 0x87, 0xfe, 0x48, 0xd0,
|
||||||
|
0x8d, 0x6f, 0x5c, 0x3e, 0x6, 0x9, 0x3a, 0x99, 0xa9, 0xa6, 0x76, 0xb6,
|
||||||
|
0x88, 0x8f, 0xa7, 0xa7, 0x53, 0x6b, 0x39, 0x6a, 0x8d, 0xf8, 0x8d, 0xe1,
|
||||||
|
0xdd, 0xc9, 0xd4, 0xc8, 0x21, 0x53, 0x7f, 0x2b, 0x3d, 0x65, 0x5f, 0xa2,
|
||||||
|
0xc2, 0x99, 0x16, 0x3, 0x91, 0x0, 0x8a, 0xa8, 0x31, 0xf2, 0x81, 0x11,
|
||||||
|
0x26, 0xe6, 0xe2, 0x32, 0xcb, 0x3f, 0xba, 0x1c, 0x6d, 0x5c, 0x42, 0xdd,
|
||||||
|
0xbe, 0xe8, 0x39, 0xd7, 0x18, 0x22, 0xd0, 0xbe, 0xd9, 0x81, 0xbb, 0x90,
|
||||||
|
0x58, 0x2, 0x1f, 0x83, 0x7b, 0xa1, 0x2, 0xa8, 0xb5, 0x1c, 0xb5, 0x23,
|
||||||
|
0x41, 0x51, 0x61, 0x1c, 0x9a, 0x66, 0x9b, 0xa9, 0xc6, 0x58, 0xe3, 0x3,
|
||||||
|
0xc4, 0xeb, 0x9c, 0xf3, 0x68, 0xda, 0x9, 0x29, 0x96, 0xd5, 0x84, 0x84,
|
||||||
|
0x44, 0xfa, 0xd8, 0x81, 0xf0, 0x28, 0x34, 0x90, 0xa9, 0xb0, 0x5a, 0xd,
|
||||||
|
0x1, 0x36, 0x1, 0xfe, 0x1d, 0xd8, 0x26, 0xe1, 0x75, 0xbe, 0x54, 0xe0,
|
||||||
|
0xcb, 0x3, 0xbd, 0xf8, 0x80, 0x88, 0x9e, 0x3c, 0x6a, 0x5d, 0xc0, 0x10,
|
||||||
|
0xfc, 0xf3, 0xd1, 0x3d, 0x99, 0x5a, 0xcb, 0x51, 0x3e, 0x40, 0xc8, 0xf7,
|
||||||
|
0xce, 0x27, 0x74, 0x27, 0x5, 0x0, 0x12, 0x1e, 0xf9, 0xae, 0x47, 0x93,
|
||||||
|
0xe, 0x4a, 0xb9, 0xac, 0x7f, 0x43, 0xe6, 0xd9, 0xc3, 0x7a, 0xc5, 0xab,
|
||||||
|
0xf1, 0x47, 0x51, 0xcd, 0xa8, 0xe1, 0x18, 0xb5, 0x9, 0x49, 0xf2, 0xb0,
|
||||||
|
0x10, 0x78, 0x0, 0x89, 0x6, 0x2c, 0x16, 0x68, 0xb3, 0x1b, 0x5d, 0x23,
|
||||||
|
0x2b, 0xf3, 0xbc, 0x19, 0xf0, 0xf, 0xac, 0xc7, 0xef, 0x7c, 0x3b, 0xc0,
|
||||||
|
0xa3, 0x1c, 0x6, 0x21, 0xb, 0x87, 0xb6, 0xa6, 0x77, 0x52, 0x6b, 0x39,
|
||||||
|
0x9a, 0xa6, 0x43, 0x81, 0xb0, 0x36, 0x73, 0x15, 0x12, 0xf, 0x50, 0x8c,
|
||||||
|
0x3e, 0x48, 0xae, 0x82, 0xff, 0xf6, 0x59, 0x2c, 0x4d, 0x55, 0xaa, 0xcc,
|
||||||
|
0xb5, 0xc8, 0x72, 0xd7, 0xdf, 0x57, 0x41, 0xe9, 0x6c, 0x89, 0xa4, 0xec,
|
||||||
|
0xfe, 0x5, 0xb2, 0xc2, 0x6e, 0x35, 0x12, 0x8f, 0x70, 0x96, 0x6a, 0xed,
|
||||||
|
0x30, 0x61, 0x6f, 0xd3, 0x7b, 0xab, 0x35, 0xfd, 0xb4, 0xe7, 0xf9, 0x96,
|
||||||
|
0x8e, 0xc5, 0xff, 0x8c, 0x84, 0x4a, 0xcf, 0x43, 0xa6, 0xd0, 0xd6, 0x6a,
|
||||||
|
0x83, 0x1c, 0xad, 0xcf, 0xb3, 0x8d, 0x67, 0xc, 0x3a, 0x35, 0xf0, 0xd9,
|
||||||
|
0x87, 0xea, 0x6b, 0x9, 0xf3, 0x6e, 0x9f, 0xa8, 0xca, 0xe2, 0x3e, 0xf5,
|
||||||
|
0x7, 0xc, 0x56, 0x9f, 0xc0, 0x99, 0xda, 0xd3, 0xf5, 0x56, 0x6a, 0x2d,
|
||||||
|
0x47, 0x73, 0x81, 0x7, 0x9, 0xcf, 0x69, 0xd0, 0x1f, 0x59, 0x7c, 0x37,
|
||||||
|
0x1e, 0x99, 0x6d, 0x9b, 0xa3, 0xb2, 0xb1, 0x89, 0xca, 0xc4, 0xee, 0xaa,
|
||||||
|
0xd8, 0xf, 0xd3, 0xe7, 0xe8, 0x50, 0x2b, 0xbc, 0x2c, 0x7c, 0x6b, 0x1,
|
||||||
|
0x1e, 0x88, 0x79, 0x7d, 0xa3, 0x56, 0x64, 0xdc, 0x4, 0xb, 0xa5, 0x2e,
|
||||||
|
0x6, 0x2a, 0xe5, 0x98, 0x46, 0xf2, 0xb8, 0xf6, 0x34, 0xd7, 0x2, 0xc,
|
||||||
|
0x50, 0xb3, 0x31, 0x8d, 0x67, 0x79, 0x2d, 0xc4, 0x7a, 0x68, 0xd0, 0x9e,
|
||||||
|
0x29, 0xcd, 0x3a, 0x7b, 0x32, 0xe2, 0xf9, 0x4b, 0xad, 0xb3, 0x2d, 0x22,
|
||||||
|
0xea, 0xe1, 0xd4, 0x22, 0x75, 0xf8, 0x3d, 0xcf, 0x75, 0x2d, 0x11, 0xd6,
|
||||||
|
0x54, 0xbd, 0xcb, 0xd1, 0x8e, 0x48, 0x50, 0x52, 0xb9, 0xf7, 0xe5, 0x4d,
|
||||||
|
0x15, 0x5f, 0xcd, 0x39, 0xf1, 0xe, 0xe0, 0x2, 0x8f, 0x59, 0x53, 0x4b,
|
||||||
|
0x96, 0x21, 0xe1, 0xc9, 0x39, 0xba, 0x3f, 0x9f, 0x68, 0xaf, 0xb0, 0x31,
|
||||||
|
0xc4, 0x2a, 0x98, 0x44, 0xf2, 0x20, 0x9c, 0x1c, 0xb2, 0xc6, 0xe0, 0x6f,
|
||||||
|
0x18, 0xb5, 0x90, 0xa3, 0xc5, 0x48, 0xa6, 0xa1, 0xb5, 0x95, 0xba, 0xe9,
|
||||||
|
0x6a, 0x7, 0xc5, 0xcc, 0xd4, 0x71, 0x65, 0xa5, 0xb8, 0x49, 0xcd, 0xb6,
|
||||||
|
0xb8, 0xac, 0x51, 0x13, 0x6b, 0x7e, 0xf, 0x10, 0xc0, 0x7c, 0x6e, 0x3a,
|
||||||
|
0xdf, 0xba, 0xfa, 0x3f, 0x20, 0x6b, 0x5, 0x72, 0x9, 0x1a, 0xff, 0x83,
|
||||||
|
0xc8, 0xa, 0xbd, 0xe9, 0xbd, 0xac, 0x31, 0xd7, 0x93, 0x1c, 0xcd, 0x40,
|
||||||
|
0x72, 0x2f, 0x34, 0xf7, 0x4, 0x5, 0x90, 0x3, 0x2e, 0xc3, 0x9f, 0x49,
|
||||||
|
0xb8, 0x5c, 0x6, 0x6b, 0x23, 0x98, 0x1c, 0xa3, 0xb7, 0x7b, 0x7, 0x99,
|
||||||
|
0x1b, 0x7f, 0xb2, 0xe, 0x4, 0x6e, 0x3, 0x92, 0xb0, 0xe1, 0xed, 0x12,
|
||||||
|
0x7a, 0x90, 0x16, 0x24, 0x13, 0xec, 0xde, 0xf8, 0xa7, 0x5, 0x51, 0x33,
|
||||||
|
0xf0, 0x84, 0x98, 0x96, 0x40, 0xbb, 0x8e, 0x19, 0xc7, 0xa9, 0x35, 0x31,
|
||||||
|
0x9d, 0xe8, 0x85, 0x38, 0x3d, 0x8d, 0x7a, 0x93, 0xa3, 0x67, 0x81, 0xcf,
|
||||||
|
0x23, 0xeb, 0x47, 0x92, 0x5a, 0x3, 0x2b, 0xf5, 0x5d, 0xce, 0xe, 0x3b,
|
||||||
|
0xd9, 0x54, 0x83, 0xca, 0x6d, 0x46, 0xbc, 0x98, 0x57, 0x91, 0x7e, 0x90,
|
||||||
|
0xc9, 0x10, 0xc4, 0xe3, 0xfd, 0x5d, 0x64, 0x7e, 0xfb, 0xc, 0xc4, 0xfb,
|
||||||
|
0xb9, 0xa3, 0x3a, 0xc0, 0x3e, 0x46, 0xd2, 0x3b, 0xdf, 0xaf, 0xce, 0x9a,
|
||||||
|
0x7a, 0x19, 0x8e, 0x74, 0x20, 0x2b, 0x28, 0x6f, 0x40, 0x56, 0x81, 0x1d,
|
||||||
|
0x8c, 0x44, 0xf3, 0xd, 0x47, 0xa6, 0x7d, 0x36, 0x47, 0xe2, 0xc3, 0x3b,
|
||||||
|
0xd4, 0xcc, 0x5f, 0x84, 0x78, 0xfa, 0x9f, 0xd6, 0x5e, 0x3d, 0xae, 0x42,
|
||||||
|
0x5d, 0x8f, 0x38, 0xf7, 0xee, 0xd4, 0xbf, 0x63, 0xb5, 0x6e, 0xfa, 0xaa,
|
||||||
|
0x93, 0x6b, 0xbe, 0xa, 0xdb, 0x64, 0x55, 0x46, 0x79, 0x66, 0x21, 0x8b,
|
||||||
|
0x5f, 0x86, 0xf5, 0x12, 0x5, 0x50, 0x8f, 0x72, 0xb4, 0x1c, 0x89, 0x1d,
|
||||||
|
0xb9, 0x14, 0x89, 0x37, 0x39, 0x4, 0x49, 0x20, 0xb3, 0xb, 0x32, 0x23,
|
||||||
|
0xd1, 0xa8, 0x9d, 0xc1, 0x72, 0x64, 0x36, 0xe9, 0x75, 0x24, 0x9d, 0xfc,
|
||||||
|
0xc, 0xba, 0x47, 0x84, 0x6b, 0x22, 0x7c, 0xe, 0x95, 0xa7, 0xe9, 0xbe,
|
||||||
|
0xb1, 0xfe, 0x86, 0xc9, 0x51, 0xd5, 0xe9, 0x69, 0xf, 0x69, 0x3b, 0xe2,
|
||||||
|
0x1a, 0x26, 0x47, 0xbd, 0x58, 0x1, 0x18, 0x86, 0x61, 0xa, 0xc0, 0x30,
|
||||||
|
0xc, 0x53, 0x0, 0x86, 0x61, 0x98, 0x2, 0x30, 0xc, 0xc3, 0x14, 0x80,
|
||||||
|
0x61, 0x18, 0xa6, 0x0, 0xc, 0xc3, 0x30, 0x5, 0xd0, 0x95, 0x6d, 0x91,
|
||||||
|
0x20, 0x8b, 0x59, 0x48, 0x68, 0x67, 0x3b, 0x92, 0x2a, 0x6b, 0x2a, 0x92,
|
||||||
|
0x44, 0x33, 0xc8, 0x10, 0x8a, 0xef, 0xd8, 0x7a, 0x49, 0x44, 0x79, 0x9f,
|
||||||
|
0x43, 0x2, 0x7f, 0x5e, 0x43, 0x82, 0x7b, 0x3a, 0x90, 0xa8, 0xb3, 0x47,
|
||||||
|
0x2a, 0xf0, 0x5e, 0x8e, 0xd7, 0x32, 0x8a, 0x2d, 0xb4, 0x4a, 0x5a, 0x7,
|
||||||
|
0x20, 0x41, 0x28, 0x17, 0x22, 0xf9, 0x1f, 0x57, 0x6a, 0x9d, 0x2c, 0x42,
|
||||||
|
0x2, 0x64, 0xe, 0x31, 0xb1, 0x32, 0x2a, 0x41, 0x9a, 0x2b, 0xf4, 0x32,
|
||||||
|
0xc8, 0x4a, 0xb3, 0xa8, 0x6d, 0xab, 0x5b, 0xe9, 0x9a, 0x84, 0x61, 0xf,
|
||||||
|
0xfc, 0xdb, 0xa0, 0x45, 0x29, 0x80, 0x26, 0x64, 0x3d, 0x79, 0x1b, 0x95,
|
||||||
|
0x5f, 0x65, 0xb8, 0x9, 0x92, 0x8b, 0xc1, 0xdd, 0x2a, 0x2a, 0x4c, 0x1,
|
||||||
|
0x94, 0x5a, 0x7, 0xdb, 0xd1, 0x19, 0xbe, 0xec, 0xdb, 0xd, 0xea, 0xe2,
|
||||||
|
0x5e, 0x22, 0x47, 0x46, 0x37, 0xa5, 0x1f, 0x85, 0xfb, 0x13, 0x7e, 0x82,
|
||||||
|
0xec, 0xa, 0x73, 0xf, 0x92, 0x89, 0xd7, 0xdd, 0xe6, 0x7c, 0x67, 0xe7,
|
||||||
|
0xba, 0x3, 0xe9, 0xdc, 0x8f, 0x6e, 0x25, 0x70, 0x3b, 0xb2, 0x67, 0x9b,
|
||||||
|
0x7b, 0x7c, 0x3d, 0xa4, 0xa1, 0x5d, 0x47, 0xe7, 0xe6, 0x1b, 0x59, 0xed,
|
||||||
|
0x2d, 0xa7, 0x23, 0x31, 0xfa, 0x77, 0x93, 0x5e, 0x88, 0xf4, 0xae, 0xc8,
|
||||||
|
0x5e, 0x7a, 0xc1, 0x8d, 0x3e, 0xc2, 0x14, 0x40, 0xa9, 0x75, 0x70, 0x3,
|
||||||
|
0x85, 0x4b, 0x4e, 0x9f, 0x44, 0x32, 0x16, 0x2f, 0xa4, 0x70, 0x2f, 0xc0,
|
||||||
|
0x61, 0x26, 0x66, 0x46, 0x3d, 0xb3, 0xd, 0xf0, 0x16, 0x92, 0x77, 0x7f,
|
||||||
|
0xb, 0xe7, 0xf3, 0xa1, 0x48, 0x1e, 0xfe, 0x7c, 0x63, 0x3d, 0xc9, 0x39,
|
||||||
|
0x77, 0x94, 0xd3, 0xb8, 0x5e, 0x88, 0xd9, 0x63, 0xec, 0xe7, 0x58, 0xd,
|
||||||
|
0x6b, 0x80, 0x93, 0x8b, 0x5c, 0x77, 0xb2, 0xd3, 0x7b, 0x77, 0x0, 0xdf,
|
||||||
|
0xe, 0x28, 0x93, 0x5b, 0x9d, 0x7b, 0x58, 0x45, 0xe7, 0x6e, 0x32, 0x87,
|
||||||
|
0x23, 0xc9, 0x3d, 0xf2, 0xf7, 0x3d, 0xcb, 0x51, 0x56, 0xbe, 0x21, 0x40,
|
||||||
|
0xd2, 0x3a, 0xc8, 0x20, 0xb1, 0xe6, 0xf9, 0x86, 0xfe, 0x5f, 0xce, 0x35,
|
||||||
|
0x5b, 0x22, 0x6b, 0x3e, 0xf2, 0xd7, 0xc4, 0xd9, 0x49, 0xf8, 0xab, 0xce,
|
||||||
|
0xb3, 0x5e, 0x86, 0xe4, 0x48, 0xb8, 0xe, 0x49, 0x66, 0xb2, 0x11, 0x49,
|
||||||
|
0x7a, 0x71, 0x1e, 0x9d, 0xeb, 0x57, 0x4a, 0xad, 0x1b, 0xc3, 0x8, 0x25,
|
||||||
|
0x2c, 0x5f, 0x7e, 0x1f, 0xe0, 0x7d, 0x47, 0xc8, 0xbf, 0xeb, 0x9c, 0x3b,
|
||||||
|
0xdd, 0xf9, 0x7c, 0x6a, 0xcc, 0x32, 0xee, 0x70, 0x1a, 0xc5, 0xb9, 0x31,
|
||||||
|
0x7d, 0x34, 0xf, 0x39, 0xe5, 0xbc, 0x4f, 0x67, 0xa, 0xb5, 0x3, 0xe8,
|
||||||
|
0xdc, 0x3d, 0x36, 0x8b, 0xe4, 0x14, 0xc4, 0x39, 0xb7, 0x46, 0x1b, 0xc6,
|
||||||
|
0xf5, 0x3a, 0x7e, 0x6f, 0x8b, 0xe1, 0x3, 0x48, 0x5a, 0x7, 0x93, 0x9d,
|
||||||
|
0xcf, 0x7f, 0x1c, 0xb0, 0x28, 0x16, 0xd0, 0xb9, 0xa9, 0xe7, 0x88, 0x84,
|
||||||
|
0xa, 0x60, 0x26, 0xb2, 0xbf, 0x5d, 0xd8, 0x6, 0x97, 0x77, 0x6a, 0x3,
|
||||||
|
0x2f, 0xb5, 0x6e, 0xc, 0x23, 0x36, 0xc3, 0xe8, 0x74, 0xf4, 0xb5, 0x7,
|
||||||
|
0x1c, 0x61, 0xe7, 0x3b, 0xc2, 0xb7, 0x54, 0x9d, 0x65, 0xad, 0x6a, 0x32,
|
||||||
|
0x3f, 0x80, 0x6c, 0xd3, 0x15, 0x6c, 0x48, 0xf3, 0xf5, 0xfb, 0xeb, 0x90,
|
||||||
|
0x9c, 0x7e, 0xb7, 0x20, 0x19, 0x5f, 0x36, 0x22, 0x9b, 0x81, 0x5e, 0x89,
|
||||||
|
0xac, 0xfc, 0x73, 0xd9, 0x29, 0xd0, 0x9b, 0x5f, 0xab, 0x63, 0xfb, 0x57,
|
||||||
|
0x9c, 0xf2, 0x9f, 0xa2, 0x6b, 0xba, 0xaf, 0x7f, 0xa1, 0x33, 0xb1, 0xe5,
|
||||||
|
0x81, 0x31, 0x2c, 0x80, 0x52, 0xea, 0xe0, 0xb, 0x8e, 0x75, 0xb0, 0x6,
|
||||||
|
0x38, 0x1b, 0x59, 0xc1, 0xf8, 0xa0, 0xde, 0x6b, 0x16, 0xc9, 0x92, 0xd3,
|
||||||
|
0x90, 0x50, 0x1, 0xe4, 0x7b, 0xf5, 0x3f, 0xe9, 0xb0, 0xe8, 0x83, 0xc0,
|
||||||
|
0x50, 0xe3, 0xb0, 0x32, 0xeb, 0xc6, 0x30, 0x8a, 0xd2, 0x84, 0x6c, 0x9c,
|
||||||
|
0x99, 0x17, 0xa4, 0x97, 0x28, 0x4c, 0xb7, 0x7d, 0x2d, 0xc5, 0xd3, 0x30,
|
||||||
|
0xb9, 0xbd, 0xfc, 0xe, 0x4e, 0x43, 0x5a, 0x80, 0xe4, 0xfb, 0xb, 0xbb,
|
||||||
|
0xee, 0x45, 0xba, 0xee, 0xf2, 0x3b, 0xde, 0x69, 0x1c, 0xeb, 0xe9, 0x5c,
|
||||||
|
0xd3, 0x9f, 0x1f, 0xaf, 0xef, 0x51, 0xe4, 0x59, 0xc6, 0x94, 0xa8, 0x0,
|
||||||
|
0x8a, 0xd5, 0x1, 0xea, 0xe7, 0x58, 0xe1, 0x79, 0xfe, 0xdb, 0x89, 0xbf,
|
||||||
|
0x53, 0xae, 0xab, 0x0, 0xb2, 0xc0, 0x4f, 0x9d, 0x73, 0x43, 0x2, 0x7e,
|
||||||
|
0x85, 0xbb, 0x53, 0xac, 0x1b, 0xc3, 0x8, 0x35, 0xbd, 0x6f, 0x74, 0x4,
|
||||||
|
0x69, 0x35, 0xb0, 0x4f, 0xe0, 0x3b, 0x7, 0x23, 0x6b, 0xf2, 0x67, 0x22,
|
||||||
|
0x53, 0x5e, 0x93, 0xd5, 0x17, 0xe0, 0xf6, 0x62, 0xeb, 0xe9, 0xdc, 0xc8,
|
||||||
|
0x61, 0x1f, 0xa, 0x3d, 0xff, 0x59, 0xbd, 0x76, 0x32, 0xb2, 0x63, 0x6e,
|
||||||
|
0x36, 0x62, 0x78, 0xd0, 0x0, 0xfc, 0x8f, 0xc7, 0x24, 0xfe, 0x7e, 0x8c,
|
||||||
|
0xe7, 0x19, 0x5b, 0x82, 0x2, 0x88, 0x53, 0x7, 0xf9, 0xc6, 0x39, 0x2d,
|
||||||
|
0xc4, 0xd9, 0x38, 0x8f, 0xce, 0xed, 0xdf, 0x92, 0x2a, 0x80, 0xd6, 0x10,
|
||||||
|
0xc7, 0xa1, 0xeb, 0x70, 0x7c, 0xcd, 0x51, 0x44, 0xe5, 0xd6, 0x8d, 0x61,
|
||||||
|
0x14, 0x90, 0x4f, 0xbb, 0x9c, 0x75, 0x1a, 0xf1, 0xd1, 0x9, 0xae, 0x3f,
|
||||||
|
0x8a, 0xc2, 0xe9, 0xc1, 0x1f, 0xea, 0xe7, 0xa3, 0x9d, 0x46, 0x98, 0x45,
|
||||||
|
0xa6, 0x2, 0xf3, 0xde, 0xfe, 0x46, 0x3a, 0xd3, 0x75, 0xe5, 0x80, 0x3f,
|
||||||
|
0xd2, 0x75, 0x26, 0x60, 0x28, 0x5d, 0xa7, 0xe9, 0x9e, 0x21, 0x5e, 0x52,
|
||||||
|
0x97, 0xa4, 0xa, 0x20, 0x6e, 0x1d, 0xec, 0xe5, 0x98, 0xe7, 0x59, 0xe0,
|
||||||
|
0x9, 0xed, 0x9d, 0x5b, 0x1d, 0x2b, 0xe0, 0x72, 0xe2, 0xcd, 0x6a, 0xb8,
|
||||||
|
0xa, 0xa0, 0x25, 0xc4, 0x72, 0x38, 0xdb, 0x79, 0xee, 0xf, 0x2, 0x66,
|
||||||
|
0x7d, 0x39, 0x75, 0x63, 0x18, 0x5, 0xbd, 0xde, 0x75, 0x81, 0x5e, 0xef,
|
||||||
|
0xc8, 0x84, 0xbf, 0xd1, 0x88, 0x78, 0xdd, 0xf3, 0x82, 0x78, 0x43, 0x88,
|
||||||
|
0x5, 0xb0, 0x91, 0xae, 0x9b, 0x7a, 0x4c, 0x70, 0xae, 0x79, 0x23, 0x44,
|
||||||
|
0x78, 0xc7, 0x3a, 0x8e, 0xad, 0xfc, 0xf1, 0x2e, 0xe2, 0x71, 0x4f, 0x53,
|
||||||
|
0x1, 0xc4, 0xad, 0x83, 0xbe, 0x6a, 0x1, 0xe5, 0xc7, 0xeb, 0x67, 0x3b,
|
||||||
|
0xd, 0x7d, 0x84, 0xde, 0x5b, 0xfe, 0xdc, 0x29, 0x25, 0x28, 0x80, 0x60,
|
||||||
|
0xde, 0xfd, 0x73, 0x9d, 0xe7, 0x5e, 0x18, 0x50, 0x0, 0xe5, 0xd4, 0x8d,
|
||||||
|
0x61, 0xfc, 0x7f, 0xc3, 0x75, 0xa7, 0x8e, 0x96, 0x6a, 0xaf, 0x5d, 0x8a,
|
||||||
|
0xef, 0xe0, 0x75, 0x47, 0x10, 0x7f, 0xa6, 0x9f, 0x6f, 0x4d, 0xe7, 0x6,
|
||||||
|
0x1d, 0x6d, 0xc0, 0xa8, 0xc0, 0x75, 0x13, 0x9d, 0x6b, 0xfe, 0x12, 0x18,
|
||||||
|
0x6b, 0xf, 0x44, 0xa6, 0xc1, 0xf2, 0x3d, 0xad, 0x3b, 0x56, 0xbe, 0x2d,
|
||||||
|
0x46, 0xf, 0x1b, 0x57, 0x1, 0x24, 0xa9, 0x83, 0xbd, 0x1c, 0x85, 0xf6,
|
||||||
|
0x5e, 0x88, 0xa3, 0xed, 0x3b, 0xce, 0xef, 0x3c, 0x1e, 0xe3, 0x1e, 0x83,
|
||||||
|
0x43, 0x80, 0xe0, 0xa6, 0x1c, 0x37, 0x3b, 0xf5, 0x33, 0xd3, 0xa9, 0x9f,
|
||||||
|
0x72, 0xeb, 0xc6, 0x30, 0x68, 0x42, 0xd2, 0x5f, 0x67, 0x1d, 0x81, 0xde,
|
||||||
|
0xb3, 0x88, 0xb2, 0x18, 0x7, 0x6c, 0x15, 0x72, 0xee, 0x68, 0xa7, 0x61,
|
||||||
|
0x74, 0x38, 0xa6, 0x73, 0x3, 0x85, 0x53, 0x5b, 0xf, 0x39, 0xbd, 0xfc,
|
||||||
|
0x26, 0x48, 0x2e, 0xbe, 0x30, 0x27, 0x17, 0xc8, 0x54, 0x5e, 0xfe, 0xde,
|
||||||
|
0x9a, 0x91, 0xb9, 0xf8, 0x76, 0x47, 0x99, 0x7c, 0x25, 0x5, 0x5, 0x90,
|
||||||
|
0xb4, 0xe, 0x46, 0x39, 0xcf, 0xb9, 0x26, 0xc4, 0xd9, 0x76, 0xa5, 0xf3,
|
||||||
|
0x5b, 0x51, 0x7b, 0x8, 0xf8, 0x9c, 0x80, 0xd7, 0x4, 0xfc, 0xc, 0x8b,
|
||||||
|
0x9c, 0xfa, 0xb9, 0x33, 0xc5, 0xba, 0x31, 0x7a, 0x39, 0x7d, 0x91, 0x1d,
|
||||||
|
0x8c, 0xb3, 0x4e, 0xa3, 0x7d, 0x98, 0xae, 0x51, 0x7d, 0xb7, 0x21, 0xa1,
|
||||||
|
0xbd, 0xd, 0x7a, 0x4d, 0xb3, 0xf6, 0x54, 0xaf, 0xea, 0xf5, 0x93, 0x80,
|
||||||
|
0xe7, 0x1c, 0xe1, 0xcb, 0x9b, 0xf2, 0xfd, 0x2, 0x42, 0xee, 0xfa, 0x1,
|
||||||
|
0x66, 0x23, 0x49, 0x27, 0xe7, 0x38, 0xe5, 0xb7, 0x51, 0xb8, 0x89, 0x83,
|
||||||
|
0x6b, 0xde, 0x76, 0x20, 0x21, 0xbb, 0x19, 0x2d, 0x33, 0xe7, 0x34, 0xd6,
|
||||||
|
0x2d, 0xcb, 0x50, 0x0, 0xa5, 0xd4, 0xc1, 0xe6, 0x14, 0x6e, 0x5a, 0xf1,
|
||||||
|
0x9, 0x32, 0xfd, 0x39, 0x9, 0x99, 0xc9, 0x70, 0x9d, 0x9a, 0x17, 0x24,
|
||||||
|
0x1c, 0x2, 0xe4, 0xef, 0xe1, 0x29, 0xad, 0x9f, 0x5, 0xce, 0xe7, 0x6d,
|
||||||
|
0xc8, 0xac, 0x46, 0x5a, 0x75, 0x63, 0xf4, 0x72, 0x7c, 0x3b, 0x1e, 0x85,
|
||||||
|
0x1d, 0x73, 0xb4, 0xa7, 0xcc, 0x2b, 0x80, 0xa8, 0xef, 0xbe, 0x1f, 0xd2,
|
||||||
|
0x83, 0x66, 0xb4, 0x31, 0xb4, 0xe3, 0x9f, 0x3a, 0xfc, 0x89, 0x63, 0xb6,
|
||||||
|
0xba, 0xe6, 0x6d, 0xe, 0xf8, 0x3f, 0xc7, 0xf4, 0xdd, 0x11, 0xc9, 0x4e,
|
||||||
|
0x9b, 0x6f, 0x64, 0xb7, 0x47, 0x98, 0xbb, 0xc5, 0x14, 0x40, 0x29, 0x75,
|
||||||
|
0x0, 0x12, 0x67, 0xb0, 0x3e, 0xe2, 0xbb, 0x59, 0xc4, 0x43, 0xdf, 0x3f,
|
||||||
|
0xa1, 0x2, 0xf8, 0x98, 0xc2, 0x69, 0x3f, 0xf7, 0xf7, 0x6e, 0xd4, 0xe7,
|
||||||
|
0x4c, 0xab, 0x6e, 0xc, 0x53, 0x0, 0x89, 0x85, 0x3f, 0x83, 0x84, 0x9e,
|
||||||
|
0x4e, 0x45, 0x82, 0x7b, 0x5a, 0x54, 0x78, 0x57, 0x22, 0xab, 0xe2, 0x2e,
|
||||||
|
0xa0, 0x30, 0x9c, 0x36, 0xc8, 0x68, 0x64, 0x6f, 0xb7, 0xf, 0xb4, 0x41,
|
||||||
|
0x2e, 0x45, 0x36, 0x70, 0xc, 0xae, 0x9e, 0x73, 0x9d, 0x71, 0xeb, 0x42,
|
||||||
|
0xc6, 0xc5, 0x13, 0x3, 0x96, 0xc3, 0x11, 0x55, 0x56, 0x0, 0x20, 0x21,
|
||||||
|
0xb6, 0xbf, 0xd4, 0xcf, 0xd7, 0x69, 0x39, 0x4b, 0x91, 0x99, 0x8c, 0x13,
|
||||||
|
0xe8, 0x1a, 0x37, 0x10, 0x57, 0x1, 0xc, 0xd5, 0x3a, 0x5a, 0xa1, 0xf7,
|
||||||
|
0x3c, 0x1b, 0xd9, 0xfe, 0xab, 0x21, 0xe5, 0xba, 0x31, 0xc, 0xa3, 0xe,
|
||||||
|
0x70, 0x15, 0xc0, 0x7a, 0x8a, 0xef, 0x8e, 0x6c, 0xa4, 0x80, 0x2d, 0x79,
|
||||||
|
0x34, 0xea, 0x11, 0x33, 0xd7, 0x4d, 0x1, 0x18, 0x86, 0x61, 0xa, 0xc0,
|
||||||
|
0x30, 0xc, 0x53, 0x0, 0x86, 0x61, 0xd8, 0x58, 0x2b, 0x9, 0xc3, 0x10,
|
||||||
|
0xcf, 0x74, 0xb1, 0xa5, 0xa0, 0xf9, 0xe9, 0xb7, 0x75, 0x88, 0xc7, 0xb9,
|
||||||
|
0x19, 0x59, 0xc8, 0x32, 0xb, 0x99, 0x87, 0x9e, 0x63, 0x62, 0x62, 0x18,
|
||||||
|
0xdd, 0x53, 0x1, 0xc4, 0x9d, 0xda, 0x8a, 0x9a, 0xc7, 0x7e, 0x13, 0x59,
|
||||||
|
0x72, 0xda, 0x68, 0x55, 0x6a, 0x18, 0xbd, 0x4b, 0x1, 0xb8, 0x8a, 0xe0,
|
||||||
|
0x4f, 0x58, 0x44, 0x99, 0x61, 0xf4, 0x4a, 0x5, 0x90, 0x3f, 0xa6, 0x63,
|
||||||
|
0x7e, 0x13, 0xc3, 0xe8, 0xb5, 0xa, 0xa0, 0x1d, 0x49, 0x4, 0x62, 0x18,
|
||||||
|
0x3d, 0x82, 0xde, 0x9a, 0x30, 0xe1, 0x42, 0xe0, 0x51, 0xe7, 0xff, 0x3e,
|
||||||
|
0xc0, 0x60, 0x24, 0x9c, 0xf4, 0x38, 0x24, 0xa9, 0x64, 0x98, 0x83, 0xb4,
|
||||||
|
0x11, 0xc9, 0xb5, 0x37, 0xc3, 0x44, 0xc7, 0x30, 0xba, 0xaf, 0x5, 0x70,
|
||||||
|
0x62, 0xc4, 0x75, 0x19, 0x24, 0xc5, 0x75, 0xd6, 0x73, 0xed, 0xd3, 0x36,
|
||||||
|
0xc, 0x30, 0x7a, 0xa, 0x26, 0xc8, 0x5d, 0xc9, 0x21, 0x6b, 0xd9, 0x57,
|
||||||
|
0x78, 0xce, 0x6f, 0x41, 0xfc, 0xe9, 0xd3, 0x3d, 0x91, 0x4c, 0x36, 0xbf,
|
||||||
|
0x41, 0x96, 0x6, 0x2f, 0x41, 0x16, 0xe, 0xb5, 0x1, 0xcb, 0x91, 0x5,
|
||||||
|
0x2e, 0x53, 0x90, 0x8c, 0x39, 0x3, 0x13, 0xdc, 0x63, 0x70, 0x47, 0x9b,
|
||||||
|
0x2c, 0x70, 0x5a, 0xe0, 0x3b, 0x9f, 0x45, 0x56, 0x16, 0x3e, 0x8b, 0xac,
|
||||||
|
0xa5, 0xdf, 0x80, 0x4c, 0x75, 0xfe, 0xd, 0xb8, 0x17, 0x38, 0x36, 0x81,
|
||||||
|
0x5, 0x58, 0xed, 0xf2, 0xc2, 0x18, 0x9, 0xfc, 0x1c, 0x49, 0xf5, 0x95,
|
||||||
|
0xaf, 0xc7, 0x56, 0x64, 0xe1, 0xd0, 0xab, 0xc8, 0x82, 0xa4, 0x23, 0xca,
|
||||||
|
0x7c, 0xa6, 0x6f, 0x6, 0xbe, 0xd3, 0x7, 0x49, 0xff, 0xfe, 0x84, 0x96,
|
||||||
|
0x93, 0x5f, 0xab, 0x70, 0xab, 0x35, 0x93, 0x9e, 0x6b, 0x1, 0xe4, 0x87,
|
||||||
|
0x46, 0x6f, 0xe1, 0xcf, 0xda, 0x1b, 0x35, 0x25, 0xb8, 0x29, 0xb2, 0x12,
|
||||||
|
0xed, 0xcd, 0x8, 0x2b, 0x22, 0xec, 0x58, 0x81, 0xe4, 0xf, 0x6c, 0x2a,
|
||||||
|
0x41, 0x78, 0x73, 0xaa, 0x64, 0xd0, 0xa1, 0xcc, 0x7d, 0x14, 0xae, 0xad,
|
||||||
|
0xf7, 0xcd, 0x6c, 0xbc, 0x41, 0x78, 0xa2, 0xcf, 0x5a, 0x97, 0xe7, 0xb2,
|
||||||
|
0xb7, 0x5a, 0x5d, 0x71, 0xea, 0x32, 0xb, 0xcc, 0x25, 0x5e, 0xe, 0xc7,
|
||||||
|
0xb0, 0x67, 0xba, 0x26, 0xa0, 0xd0, 0xde, 0xf0, 0x94, 0x7b, 0x99, 0x35,
|
||||||
|
0xaf, 0x9e, 0xad, 0x0, 0x36, 0xa5, 0x73, 0x3d, 0x79, 0xf0, 0xb8, 0x37,
|
||||||
|
0xe2, 0xba, 0x46, 0x64, 0x39, 0x70, 0x39, 0xd3, 0x8d, 0x53, 0x9, 0xdf,
|
||||||
|
0xa0, 0xa3, 0x98, 0xf0, 0xce, 0x47, 0x36, 0xf7, 0x7c, 0x2d, 0x61, 0x99,
|
||||||
|
0x9f, 0xa8, 0xcf, 0xa3, 0x9e, 0xca, 0xcb, 0x33, 0x81, 0xe2, 0x1b, 0xb0,
|
||||||
|
0xfa, 0xf6, 0x24, 0xbc, 0xa6, 0x88, 0x85, 0x3b, 0x25, 0x62, 0x78, 0x37,
|
||||||
|
0xa, 0x58, 0x16, 0xf1, 0xfb, 0xe7, 0x58, 0xf3, 0xea, 0xd9, 0xa, 0xe0,
|
||||||
|
0x2c, 0x4f, 0x8f, 0x96, 0x45, 0x82, 0x82, 0xa2, 0x98, 0x98, 0xb0, 0xe7,
|
||||||
|
0xf, 0x2b, 0xe3, 0xf2, 0x12, 0x1a, 0x64, 0x3b, 0x85, 0x9, 0x32, 0x92,
|
||||||
|
0x1c, 0x73, 0xe9, 0xba, 0x17, 0x41, 0x2d, 0xcb, 0x43, 0x87, 0x45, 0xed,
|
||||||
|
0x65, 0xd6, 0xe3, 0x15, 0x9, 0x9f, 0x69, 0x25, 0x92, 0xc6, 0x7d, 0x71,
|
||||||
|
0x91, 0xdf, 0x1d, 0x67, 0xcd, 0xab, 0x67, 0x29, 0x80, 0xc, 0xb2, 0xad,
|
||||||
|
0xd4, 0xfe, 0x48, 0x8e, 0xb9, 0x8d, 0x9e, 0xeb, 0x16, 0x10, 0x9d, 0xe8,
|
||||||
|
0x3, 0x60, 0x33, 0xa, 0xb7, 0xd2, 0x2a, 0xe5, 0x58, 0x5, 0x6c, 0x9f,
|
||||||
|
0x50, 0x78, 0xcb, 0xd, 0x74, 0x3a, 0xb9, 0x8e, 0xca, 0xfb, 0xc, 0x92,
|
||||||
|
0x8d, 0xb8, 0xdc, 0x72, 0x5a, 0xf1, 0x27, 0x35, 0x9d, 0xe2, 0xb1, 0x1c,
|
||||||
|
0x16, 0xc4, 0xb0, 0x2e, 0x2c, 0xcf, 0x60, 0x37, 0x57, 0x0, 0xa5, 0x1c,
|
||||||
|
0x2d, 0x48, 0xd2, 0x8a, 0x38, 0x9c, 0x43, 0xe7, 0xd6, 0x58, 0xef, 0x20,
|
||||||
|
0x69, 0xac, 0x4e, 0x45, 0x36, 0xca, 0x18, 0x81, 0x6c, 0xd5, 0xf5, 0x3,
|
||||||
|
0xa, 0x13, 0x5d, 0x6, 0x1b, 0xc8, 0x84, 0x32, 0x1a, 0x64, 0x1b, 0xb2,
|
||||||
|
0xb3, 0xef, 0x31, 0x5a, 0xde, 0x18, 0x24, 0x3b, 0xf1, 0x9a, 0x88, 0x6b,
|
||||||
|
0xa6, 0xd6, 0x49, 0x79, 0x19, 0xa, 0xf7, 0xfc, 0xb, 0xd6, 0xcb, 0x2b,
|
||||||
|
0xc0, 0x19, 0xc8, 0x46, 0xab, 0xfb, 0xaa, 0xe3, 0xee, 0xde, 0x8, 0x6b,
|
||||||
|
0xe1, 0x51, 0xcf, 0x50, 0xa0, 0x54, 0xa5, 0xd6, 0x86, 0x6c, 0x89, 0x66,
|
||||||
|
0xf4, 0x12, 0x5, 0x90, 0x45, 0xd2, 0x74, 0x8f, 0x49, 0x50, 0xf6, 0x0,
|
||||||
|
0xc4, 0xfb, 0x5f, 0x6c, 0x5b, 0xaa, 0x5d, 0x91, 0xd9, 0x80, 0xb0, 0x72,
|
||||||
|
0xef, 0x28, 0xb1, 0x41, 0xb6, 0x21, 0x29, 0xb9, 0xc3, 0x38, 0x2a, 0xa2,
|
||||||
|
0xa1, 0xcc, 0x8d, 0x70, 0x40, 0x56, 0xb3, 0xbc, 0x3d, 0x3d, 0x16, 0x58,
|
||||||
|
0x3e, 0xcd, 0xb7, 0xcf, 0x1, 0x7b, 0x86, 0x67, 0xd8, 0xb6, 0x1e, 0xf8,
|
||||||
|
0x54, 0x89, 0xa, 0xe0, 0x3d, 0x64, 0x66, 0x63, 0x24, 0x92, 0x1, 0xba,
|
||||||
|
0x49, 0x7f, 0xab, 0x9f, 0x35, 0xaf, 0xde, 0xa1, 0x0, 0x3a, 0x90, 0x29,
|
||||||
|
0x9f, 0xa1, 0x15, 0xbc, 0xcf, 0x69, 0x11, 0x3d, 0x57, 0xa6, 0x84, 0x6,
|
||||||
|
0xf9, 0x50, 0xc4, 0x75, 0xd, 0xf8, 0xf7, 0x24, 0x5c, 0x8d, 0x3f, 0xd,
|
||||||
|
0x57, 0x35, 0xcb, 0xbb, 0xc8, 0xf3, 0xfd, 0x66, 0xa2, 0xa7, 0x4a, 0x1b,
|
||||||
|
0x90, 0xac, 0xcc, 0x61, 0x8a, 0xe3, 0xd8, 0x84, 0xcf, 0x94, 0x45, 0xa6,
|
||||||
|
0x15, 0x7b, 0x7c, 0x43, 0xb7, 0x38, 0x80, 0xe2, 0xf5, 0x73, 0x16, 0x32,
|
||||||
|
0x97, 0x3d, 0x5, 0xd8, 0xae, 0x2, 0x65, 0xf8, 0xe2, 0xd, 0x4a, 0xc9,
|
||||||
|
0x89, 0x97, 0x55, 0x53, 0x3c, 0x17, 0x71, 0xfe, 0x59, 0xcf, 0xb9, 0x3e,
|
||||||
|
0x14, 0x9f, 0x7d, 0xa8, 0x74, 0x79, 0x19, 0xe0, 0x20, 0xcf, 0xf7, 0x9f,
|
||||||
|
0xd1, 0x21, 0x45, 0xd4, 0xbd, 0x3c, 0xe5, 0x19, 0x52, 0xc, 0x4f, 0xf8,
|
||||||
|
0x5c, 0xf, 0x23, 0x3b, 0x1d, 0x6d, 0xe8, 0xe9, 0x2, 0x6e, 0x7b, 0xa7,
|
||||||
|
0xc5, 0xaf, 0xa7, 0x93, 0x90, 0xe9, 0xa1, 0x2f, 0x22, 0x81, 0x28, 0xc5,
|
||||||
|
0x18, 0x81, 0xec, 0x9c, 0xfb, 0x5, 0x60, 0x77, 0x64, 0xca, 0x6c, 0x20,
|
||||||
|
0x9d, 0x59, 0x85, 0x8b, 0x91, 0xd1, 0x23, 0x97, 0xe0, 0x3e, 0xdb, 0x90,
|
||||||
|
0x38, 0x85, 0x28, 0x3e, 0x48, 0xb1, 0x43, 0x48, 0xbb, 0xbc, 0x26, 0x75,
|
||||||
|
0x0, 0x86, 0x31, 0x8e, 0xd2, 0xbd, 0xef, 0x5b, 0x25, 0xf8, 0x6e, 0x3b,
|
||||||
|
0x70, 0xa9, 0x2a, 0x14, 0x4c, 0x1, 0xf4, 0x4c, 0x82, 0x6b, 0x1, 0x32,
|
||||||
|
0x3a, 0x6e, 0xff, 0x34, 0x70, 0xb8, 0x8e, 0x69, 0xc3, 0xcc, 0xbf, 0xdd,
|
||||||
|
0x81, 0x9b, 0xf4, 0xbc, 0xaf, 0x61, 0x8e, 0x46, 0xb6, 0xe, 0x1f, 0x45,
|
||||||
|
0xf5, 0x13, 0xae, 0x2c, 0x8b, 0xb0, 0x28, 0xf2, 0xb4, 0xd4, 0x71, 0x79,
|
||||||
|
0x8d, 0xaa, 0x28, 0xd3, 0x26, 0x89, 0x65, 0xd3, 0x4c, 0x2f, 0x4a, 0x2,
|
||||||
|
0xd3, 0x5b, 0x15, 0xc0, 0x62, 0x24, 0xd2, 0x2f, 0xc8, 0x4b, 0x88, 0x47,
|
||||||
|
0xf9, 0x4e, 0xe0, 0x31, 0xcf, 0x98, 0xf3, 0x68, 0xf5, 0x2f, 0xcc, 0xb,
|
||||||
|
0x39, 0x37, 0x1e, 0xf8, 0x55, 0x9, 0xa6, 0x74, 0x5a, 0xfc, 0x5d, 0xfd,
|
||||||
|
0x16, 0xdd, 0xb5, 0xbc, 0x4d, 0xeb, 0x40, 0x26, 0x97, 0xf4, 0x96, 0xde,
|
||||||
|
0xdf, 0x7c, 0x0, 0x7e, 0x9e, 0x47, 0x36, 0xa3, 0xf4, 0xf5, 0x26, 0x63,
|
||||||
|
0x43, 0x3e, 0xdf, 0x17, 0x71, 0x18, 0xf6, 0xad, 0xe1, 0x7d, 0xb7, 0x24,
|
||||||
|
0x1c, 0x32, 0xd4, 0x5b, 0x79, 0xf5, 0x20, 0x8f, 0xad, 0x55, 0xae, 0x43,
|
||||||
|
0x53, 0x0, 0x75, 0xca, 0x1f, 0x3d, 0xbd, 0x5b, 0x98, 0x53, 0x29, 0xa3,
|
||||||
|
0xc3, 0x8a, 0x7e, 0x11, 0x3d, 0xe5, 0x45, 0xc8, 0x74, 0xd2, 0x20, 0x35,
|
||||||
|
0x75, 0xf3, 0x63, 0xfc, 0x49, 0x29, 0xde, 0x73, 0x47, 0x95, 0xeb, 0x28,
|
||||||
|
0xed, 0xf2, 0x5a, 0x22, 0x7a, 0xdf, 0xf3, 0x9d, 0x3a, 0x4b, 0x7a, 0x9c,
|
||||||
|
0x67, 0xe2, 0x6c, 0x43, 0x80, 0xa4, 0xac, 0x52, 0x61, 0xc, 0x9b, 0x77,
|
||||||
|
0xde, 0x3c, 0xf0, 0x7f, 0x7f, 0xba, 0x6e, 0xeb, 0x95, 0x67, 0x29, 0x12,
|
||||||
|
0x43, 0x30, 0xcf, 0x73, 0xde, 0x36, 0xc1, 0x28, 0xec, 0x7d, 0x97, 0x11,
|
||||||
|
0xbe, 0x7b, 0xf1, 0x70, 0xab, 0x1e, 0xb3, 0x0, 0xaa, 0xc9, 0xe, 0xf8,
|
||||||
|
0x83, 0x4e, 0xda, 0x3, 0xff, 0xef, 0x88, 0x84, 0x0, 0x87, 0x71, 0x57,
|
||||||
|
0x44, 0xe3, 0x7, 0x59, 0x4d, 0x67, 0x74, 0xd6, 0xeb, 0x3b, 0x9e, 0x73,
|
||||||
|
0x87, 0x12, 0x6f, 0x93, 0x51, 0xc3, 0x14, 0x40, 0x2a, 0x7c, 0x23, 0xa2,
|
||||||
|
0x7e, 0x9a, 0x3, 0xff, 0xf, 0x88, 0xe8, 0xc9, 0x17, 0x46, 0x94, 0x31,
|
||||||
|
0x4, 0xff, 0xbc, 0x77, 0x6f, 0x24, 0x87, 0xcc, 0xf7, 0x87, 0xb1, 0xb,
|
||||||
|
0xd1, 0xe1, 0xd1, 0x86, 0x29, 0x80, 0xd4, 0xf8, 0xa, 0x92, 0x8, 0x22,
|
||||||
|
0x8c, 0x2c, 0x92, 0x80, 0xc2, 0x25, 0xbf, 0x45, 0x76, 0x18, 0xbe, 0xf4,
|
||||||
|
0x62, 0x83, 0x90, 0x20, 0x9a, 0xad, 0xad, 0xba, 0xb, 0x98, 0xa6, 0x43,
|
||||||
|
0x81, 0xb0, 0xa1, 0xd2, 0x55, 0xc4, 0x8b, 0x5, 0xe8, 0x3, 0x1c, 0x89,
|
||||||
|
0xec, 0xb8, 0x7c, 0xa0, 0x55, 0xa9, 0xf9, 0x0, 0x8, 0x31, 0xd9, 0x83,
|
||||||
|
0xdb, 0x49, 0xf7, 0x3, 0x76, 0x3, 0xbe, 0x86, 0xcc, 0xf3, 0xfb, 0xbc,
|
||||||
|
0xf9, 0x8b, 0x80, 0x17, 0x2, 0x9f, 0x7d, 0x88, 0x44, 0x8d, 0x85, 0x6d,
|
||||||
|
0x42, 0x72, 0xa2, 0x9a, 0xb6, 0xf7, 0xa9, 0x3f, 0x60, 0xb0, 0xfa, 0x4,
|
||||||
|
0xce, 0xd4, 0x61, 0x86, 0x51, 0xc8, 0x5c, 0xe0, 0x41, 0xe0, 0xf8, 0x90,
|
||||||
|
0x73, 0xfd, 0x91, 0x2d, 0xc3, 0xc7, 0x3, 0xf7, 0x23, 0xf3, 0xf5, 0x6b,
|
||||||
|
0x91, 0xa8, 0xc9, 0x6d, 0x90, 0x38, 0x8d, 0x3, 0x80, 0xc3, 0x90, 0x14,
|
||||||
|
0xee, 0x1d, 0x48, 0x4c, 0x86, 0x61, 0xa, 0xa0, 0x80, 0x2b, 0xf5, 0x48,
|
||||||
|
0x4a, 0x56, 0x7b, 0xa1, 0x60, 0x70, 0xcb, 0x3a, 0x64, 0xc1, 0xd0, 0x97,
|
||||||
|
0x3d, 0x56, 0xd6, 0xe9, 0x11, 0x16, 0x85, 0xd1, 0x75, 0x18, 0xf0, 0x23,
|
||||||
|
0xad, 0xcb, 0x6d, 0x3d, 0x96, 0xc0, 0xa1, 0x7a, 0x18, 0x36, 0x4, 0xa8,
|
||||||
|
0xaa, 0x60, 0x3e, 0x48, 0xf8, 0x2a, 0xbd, 0x2c, 0x32, 0x9d, 0x97, 0x2d,
|
||||||
|
0xe1, 0x37, 0x7f, 0x8d, 0xac, 0x35, 0x30, 0x3a, 0x59, 0xc, 0x9c, 0xa0,
|
||||||
|
0xbd, 0xbb, 0x61, 0xa, 0xa0, 0x2e, 0x1a, 0xff, 0x14, 0x24, 0x89, 0x85,
|
||||||
|
0x6f, 0xee, 0xfb, 0xf, 0xc0, 0x23, 0xc4, 0xf, 0x22, 0xc9, 0x2b, 0x94,
|
||||||
|
0x89, 0xc8, 0x86, 0x23, 0x46, 0x21, 0x33, 0x74, 0x38, 0xd6, 0x6c, 0x55,
|
||||||
|
0x61, 0xa, 0xa0, 0x96, 0xd, 0x7f, 0xe, 0xb2, 0x57, 0xc0, 0x69, 0x44,
|
||||||
|
0xaf, 0xe, 0x6b, 0xd7, 0x5e, 0x2b, 0x8e, 0x25, 0xd0, 0xae, 0x63, 0xd3,
|
||||||
|
0x71, 0xc8, 0xda, 0xf7, 0xe9, 0x74, 0x9d, 0x5a, 0x34, 0x64, 0x25, 0xe1,
|
||||||
|
0xe7, 0x91, 0x84, 0x2a, 0x49, 0xad, 0x81, 0x95, 0x5a, 0xc7, 0xb3, 0xad,
|
||||||
|
0x1a, 0xcd, 0x7, 0x10, 0xb7, 0xb1, 0x6f, 0x40, 0x92, 0x81, 0xce, 0x43,
|
||||||
|
0x32, 0xcf, 0x3c, 0x8a, 0x38, 0xfc, 0xe2, 0xf6, 0xea, 0xeb, 0x11, 0xe7,
|
||||||
|
0xde, 0x9d, 0xfa, 0x77, 0x2c, 0xe2, 0x70, 0xec, 0x8b, 0xac, 0x7f, 0x9f,
|
||||||
|
0xaf, 0x42, 0x3d, 0x19, 0x78, 0xdb, 0xb9, 0x6e, 0x16, 0x92, 0x8a, 0x6a,
|
||||||
|
0x98, 0xbd, 0x86, 0x2e, 0x2c, 0x47, 0x22, 0xf9, 0x2e, 0x45, 0xd6, 0x61,
|
||||||
|
0x1c, 0x2, 0xec, 0x85, 0x4c, 0xb, 0xe, 0x44, 0x62, 0x35, 0x5a, 0xf4,
|
||||||
|
0x7b, 0xb, 0x81, 0xd7, 0x81, 0xc7, 0xd5, 0x82, 0x68, 0xb1, 0xea, 0x33,
|
||||||
|
0xc, 0xc3, 0x30, 0xc, 0xc3, 0x30, 0xc, 0xc3, 0x30, 0xc, 0xc3, 0x30,
|
||||||
|
0xc, 0xc3, 0x30, 0xc, 0xc3, 0x30, 0xc, 0xc3, 0x30, 0xc, 0xc3, 0x30,
|
||||||
|
0xc, 0xc3, 0x30, 0xc, 0xc3, 0x30, 0xc, 0xc3, 0x30, 0xc, 0xc3, 0x30,
|
||||||
|
0xc, 0xc3, 0x30, 0xc, 0xc3, 0x30, 0xc, 0xa3, 0x9b, 0xf2, 0xf, 0x1,
|
||||||
|
0xd8, 0xa5, 0x1a, 0xeb, 0x29, 0x91, 0x30, 0x0, 0x0, 0x0, 0x0, 0x49,
|
||||||
|
0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82};
|
||||||
|
|
||||||
|
size_t banner_size = 0x1813;
|
14796
source/banner_audio.cpp
Normal file
14796
source/banner_audio.cpp
Normal file
File diff suppressed because it is too large
Load Diff
729
source/helper.cpp
Normal file
729
source/helper.cpp
Normal file
@ -0,0 +1,729 @@
|
|||||||
|
#include <condition_variable>
|
||||||
|
#include <filesystem>
|
||||||
|
#include <fstream>
|
||||||
|
#include <future>
|
||||||
|
#include <iomanip>
|
||||||
|
#include <iostream>
|
||||||
|
#include <math.h>
|
||||||
|
#include <mutex>
|
||||||
|
#include <random>
|
||||||
|
#include <sstream>
|
||||||
|
#include <stack>
|
||||||
|
#include <string>
|
||||||
|
#include <thread>
|
||||||
|
|
||||||
|
#include <json.hpp>
|
||||||
|
|
||||||
|
#include <fileHash.hpp>
|
||||||
|
#include <helper.hpp>
|
||||||
|
|
||||||
|
#define CCRED "\033[31m"
|
||||||
|
#define CCGREEN "\033[32m"
|
||||||
|
#define CCYELLOW "\033[33m"
|
||||||
|
#define CCBLUE "\033[34m"
|
||||||
|
#define CCMAGENTA "\033[35m"
|
||||||
|
#define CCCYAN "\033[36m"
|
||||||
|
#define CCRESET "\033[0m"
|
||||||
|
|
||||||
|
#define veccmp(vec1, vec2) (vec1.size() == vec2.size())
|
||||||
|
|
||||||
|
void updateProgressBar(float progress)
|
||||||
|
{
|
||||||
|
std::cout << CCYELLOW << "[" << static_cast<int>(progress * 100.0) << " %] "
|
||||||
|
<< CCRESET;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string catch_str(nlohmann::json js, std::string at)
|
||||||
|
{
|
||||||
|
if (!js.contains(at) || js[at].is_null())
|
||||||
|
{
|
||||||
|
throw std::invalid_argument("required_key is null or missing: " + at);
|
||||||
|
}
|
||||||
|
|
||||||
|
return js[at].get<std::string>();
|
||||||
|
}
|
||||||
|
|
||||||
|
int catch_int(nlohmann::json js, std::string at)
|
||||||
|
{
|
||||||
|
if (!js.contains(at) || js[at].is_null())
|
||||||
|
{
|
||||||
|
throw std::invalid_argument("required_key is null or missing: " + at);
|
||||||
|
}
|
||||||
|
|
||||||
|
return js[at].get<int>();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<std::filesystem::path>
|
||||||
|
get_files_in_dir(const std::vector<std::string> &dir_paths,
|
||||||
|
const std::string &extension)
|
||||||
|
{
|
||||||
|
std::vector<std::filesystem::path> files;
|
||||||
|
|
||||||
|
for (const auto &dir_path : dir_paths)
|
||||||
|
{
|
||||||
|
if (!std::filesystem::exists(dir_path))
|
||||||
|
continue;
|
||||||
|
for (const auto &entry : std::filesystem::directory_iterator(dir_path))
|
||||||
|
{
|
||||||
|
if (std::filesystem::is_regular_file(entry.path()) &&
|
||||||
|
entry.path().extension() == extension)
|
||||||
|
{
|
||||||
|
files.push_back(fix_path(entry.path().string()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return files;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Js2Vec(std::vector<std::string> &vec, nlohmann::json js)
|
||||||
|
{
|
||||||
|
vec.clear();
|
||||||
|
for (auto const &it : js)
|
||||||
|
{
|
||||||
|
vec.push_back(it.get<std::string>());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Vec2Json(std::vector<std::string> vec, nlohmann::json &js,
|
||||||
|
NpiProject ref)
|
||||||
|
{
|
||||||
|
int indx = 0;
|
||||||
|
for (auto const &it : vec)
|
||||||
|
{
|
||||||
|
js[indx] = it;
|
||||||
|
indx++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string Flags2Str(std::vector<std::string> flags)
|
||||||
|
{
|
||||||
|
std::string res = "";
|
||||||
|
for (auto const &it : flags)
|
||||||
|
res += "-" + it + " ";
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string IncludeDirs(std::vector<std::string> dirs)
|
||||||
|
{
|
||||||
|
std::string res = "";
|
||||||
|
for (auto const &it : dirs)
|
||||||
|
res += "-I " + it + " ";
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string LibIncludes(std::vector<std::string> dirs)
|
||||||
|
{
|
||||||
|
std::string res = "";
|
||||||
|
for (auto const &it : dirs)
|
||||||
|
res += "-I " + it + "include/ ";
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
void VecGetExtra(std::vector<std::string> &result,
|
||||||
|
std::vector<std::string> input, NpiProject ref)
|
||||||
|
{
|
||||||
|
result.clear();
|
||||||
|
for (auto const &it : input)
|
||||||
|
{
|
||||||
|
if (it == "[arch_flags]")
|
||||||
|
{
|
||||||
|
for (auto const &af : ref.arch_flags)
|
||||||
|
{
|
||||||
|
result.push_back(af);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (it == "[c_flags]")
|
||||||
|
{
|
||||||
|
for (auto const &cf : ref.c_flags)
|
||||||
|
{
|
||||||
|
result.push_back(cf);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result.push_back(it);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ReplVariables(std::string &str, const std::string &from,
|
||||||
|
const std::string &to)
|
||||||
|
{
|
||||||
|
if (from.empty())
|
||||||
|
return;
|
||||||
|
size_t start_pos = 0;
|
||||||
|
while ((start_pos = str.find(from, start_pos)) != std::string::npos)
|
||||||
|
{
|
||||||
|
str.replace(start_pos, from.length(), to);
|
||||||
|
start_pos += to.length(); // In case 'to' contains 'from', like replacing
|
||||||
|
// 'x' with 'yx'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void AutoRepl(std::string &str)
|
||||||
|
{
|
||||||
|
std::string dkp_env = getenv("DEVKITPRO");
|
||||||
|
std::string cwd = std::filesystem::current_path().string();
|
||||||
|
ReplVariables(str, "{DEVKITPRO}", dkp_env);
|
||||||
|
ReplVariables(str, "{cwd}", cwd);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ReplVector(std::vector<std::string> &vec, const std::string &from,
|
||||||
|
const std::string &to)
|
||||||
|
{
|
||||||
|
for (size_t i = 0; i < vec.size(); i++)
|
||||||
|
ReplVariables(vec[i], from, to);
|
||||||
|
}
|
||||||
|
|
||||||
|
void AutoVecRepl(std::vector<std::string> &strs)
|
||||||
|
{
|
||||||
|
for (size_t i = 0; i < strs.size(); i++)
|
||||||
|
AutoRepl(strs[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ProcessPrj2Cmp(NpiProject *prj, NpiProject src)
|
||||||
|
{
|
||||||
|
VecGetExtra(prj->arch_flags, src.arch_flags, src);
|
||||||
|
VecGetExtra(prj->c_flags, src.c_flags, src);
|
||||||
|
VecGetExtra(prj->cxx_flags, src.cxx_flags,
|
||||||
|
prj[0]); // Use Prj as ref cause arch_flags already written
|
||||||
|
VecGetExtra(prj->as_flags, src.as_flags, src);
|
||||||
|
VecGetExtra(prj->linker_flags, src.linker_flags, src);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string LinkerInput(std::vector<std::filesystem::path> o_files,
|
||||||
|
std::vector<std::filesystem::path> d_files)
|
||||||
|
{
|
||||||
|
std::string res = "";
|
||||||
|
/*if (o_files.size() != d_files.size()) {
|
||||||
|
std::cerr << "The Number of .d and .o files is wrong";
|
||||||
|
return "";
|
||||||
|
}*/
|
||||||
|
for (size_t i = 0; i < o_files.size(); i++)
|
||||||
|
res += o_files[i].string() + " "; // + d_files[i].string() + " ";
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string Libs(std::vector<std::string> libs)
|
||||||
|
{
|
||||||
|
std::string res = "";
|
||||||
|
for (auto const &it : libs)
|
||||||
|
res += "-l" + it + " ";
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string LibPaths(std::vector<std::string> libs)
|
||||||
|
{
|
||||||
|
std::string res = "";
|
||||||
|
for (auto const &it : libs)
|
||||||
|
res += "-L" + it + "lib/ ";
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DeleteFiles(std::string path, std::vector<std::string> extensions)
|
||||||
|
{
|
||||||
|
for (const auto &entry : std::filesystem::directory_iterator(path))
|
||||||
|
{
|
||||||
|
if (std::filesystem::is_directory(entry))
|
||||||
|
{
|
||||||
|
DeleteFiles(fix_path(entry.path().string()), extensions);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (const auto &ext : extensions)
|
||||||
|
{
|
||||||
|
if (entry.path().extension() == ext)
|
||||||
|
{
|
||||||
|
std::filesystem::remove(entry);
|
||||||
|
std::cout << CCRED << "[*] Deleted file: " << fix_path(entry.path().string())
|
||||||
|
<< CCRESET << std::endl;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DeleteDirectory(std::string path)
|
||||||
|
{
|
||||||
|
for (const auto &entry : std::filesystem::directory_iterator(path))
|
||||||
|
{
|
||||||
|
if (std::filesystem::is_directory(entry))
|
||||||
|
{
|
||||||
|
DeleteDirectory(fix_path(entry.path().string()));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
std::filesystem::remove(entry);
|
||||||
|
std::cout << CCRED << "[*] Deleted file: " << fix_path(entry.path().string())
|
||||||
|
<< CCRESET << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::filesystem::remove(path);
|
||||||
|
std::cout << CCRED << "[*] Deleted directory: " << path << CCRESET
|
||||||
|
<< std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
void GenerateHashes(NpiProject prj, std::string dir_)
|
||||||
|
{
|
||||||
|
auto cpp_hashes = createHashes(prj.source_dirs, ".cpp");
|
||||||
|
auto c_hashes = createHashes(prj.source_dirs, ".c");
|
||||||
|
auto hpp_hashes = createHashes(prj.include_dirs, ".hpp");
|
||||||
|
auto h_hashes = createHashes(prj.include_dirs, ".h");
|
||||||
|
auto v_pica_hashes = createHashes(prj.source_dirs, ".v.pica");
|
||||||
|
auto shlist_hashes = createHashes(prj.source_dirs, ".shlist");
|
||||||
|
auto s_hashes = createHashes(prj.source_dirs, ".s");
|
||||||
|
auto t3s_hashes = createHashes({std::string(dir_ + "/gfx")}, ".t3s");
|
||||||
|
|
||||||
|
nlohmann::json jscpp_hashes;
|
||||||
|
for (auto const &it : cpp_hashes)
|
||||||
|
jscpp_hashes[it.first] = it.second;
|
||||||
|
nlohmann::json jsc_hashes;
|
||||||
|
for (auto const &it : c_hashes)
|
||||||
|
jsc_hashes[it.first] = it.second;
|
||||||
|
nlohmann::json jshpp_hashes;
|
||||||
|
for (auto const &it : hpp_hashes)
|
||||||
|
jshpp_hashes[it.first] = it.second;
|
||||||
|
nlohmann::json jsh_hashes;
|
||||||
|
for (auto const &it : h_hashes)
|
||||||
|
jsh_hashes[it.first] = it.second;
|
||||||
|
nlohmann::json jsv_pica_hashes;
|
||||||
|
for (auto const &it : v_pica_hashes)
|
||||||
|
jsv_pica_hashes[it.first] = it.second;
|
||||||
|
nlohmann::json jsshlist_hashes;
|
||||||
|
for (auto const &it : shlist_hashes)
|
||||||
|
jsshlist_hashes[it.first] = it.second;
|
||||||
|
nlohmann::json jss_hashes;
|
||||||
|
for (auto const &it : s_hashes)
|
||||||
|
jss_hashes[it.first] = it.second;
|
||||||
|
nlohmann::json jst3s_hashes;
|
||||||
|
for (auto const &it : t3s_hashes)
|
||||||
|
jst3s_hashes[it.first] = it.second;
|
||||||
|
|
||||||
|
nlohmann::json hashes;
|
||||||
|
hashes["cpp"] = jscpp_hashes;
|
||||||
|
hashes["c"] = jsc_hashes;
|
||||||
|
hashes["hpp"] = jshpp_hashes;
|
||||||
|
hashes["h"] = jsh_hashes;
|
||||||
|
hashes["v_pica"] = jsv_pica_hashes;
|
||||||
|
hashes["shlist"] = jsshlist_hashes;
|
||||||
|
hashes["s"] = jss_hashes;
|
||||||
|
hashes["t3s"] = jst3s_hashes;
|
||||||
|
|
||||||
|
std::ofstream hashes_file(dir_ + "/" + "build/hashes.json");
|
||||||
|
hashes_file << hashes.dump(4);
|
||||||
|
hashes_file.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::map<std::string, std::string> GetHashMap(std::string dir_,
|
||||||
|
std::string extension)
|
||||||
|
{
|
||||||
|
nlohmann::json js;
|
||||||
|
std::ifstream is(dir_ + "/build/hashes.json");
|
||||||
|
if (!is)
|
||||||
|
{
|
||||||
|
std::cerr << "[-]hashes.json not in " << dir_ + "/build/"
|
||||||
|
<< "!\n";
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
is >> js;
|
||||||
|
is.close();
|
||||||
|
|
||||||
|
std::string mod_ext = extension.substr(1);
|
||||||
|
std::replace(mod_ext.begin(), mod_ext.end(), '.', '_');
|
||||||
|
|
||||||
|
std::map<std::string, std::string> res;
|
||||||
|
for (auto &[filename, hash] : js[mod_ext].items())
|
||||||
|
{
|
||||||
|
res[filename] = hash;
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CompileProject(NpiProject &prj, std::string dir_)
|
||||||
|
{
|
||||||
|
#ifdef _WIN32
|
||||||
|
std::string dkp_env = "C:/devkitPro/";
|
||||||
|
std::cout << CCYELLOW << "[+] Warning: Windows Usage Detected!\n[+] Make sure you have devkitpro installed at <C:/devkitPro>!" << CCRESET << std::endl;
|
||||||
|
#else
|
||||||
|
std::string dkp_env = getenv("DEVKITPRO");
|
||||||
|
#endif
|
||||||
|
bool any_errors = false;
|
||||||
|
|
||||||
|
AutoVecRepl(prj.source_dirs);
|
||||||
|
AutoVecRepl(prj.include_dirs);
|
||||||
|
|
||||||
|
std::vector<std::filesystem::path> cpp_files =
|
||||||
|
get_files_in_dir(prj.source_dirs, ".cpp");
|
||||||
|
std::vector<std::filesystem::path> c_files =
|
||||||
|
get_files_in_dir(prj.source_dirs, ".c");
|
||||||
|
std::vector<std::filesystem::path> hpp_files =
|
||||||
|
get_files_in_dir(prj.include_dirs, ".hpp");
|
||||||
|
std::vector<std::filesystem::path> h_files =
|
||||||
|
get_files_in_dir(prj.include_dirs, ".h");
|
||||||
|
std::vector<std::filesystem::path> v_pica_files =
|
||||||
|
get_files_in_dir(prj.source_dirs, ".v.pica");
|
||||||
|
std::vector<std::filesystem::path> shlist_files =
|
||||||
|
get_files_in_dir(prj.source_dirs, ".shlist");
|
||||||
|
std::vector<std::filesystem::path> t3s_files =
|
||||||
|
get_files_in_dir({std::string(dir_ + "/gfx")}, ".t3s");
|
||||||
|
std::vector<std::filesystem::path> s_files =
|
||||||
|
get_files_in_dir(prj.source_dirs, ".s");
|
||||||
|
|
||||||
|
std::filesystem::create_directories(dir_ + "/build");
|
||||||
|
|
||||||
|
std::vector<std::filesystem::path> cpp_files_;
|
||||||
|
std::vector<std::filesystem::path> c_files_;
|
||||||
|
std::vector<std::filesystem::path> v_pica_files_;
|
||||||
|
std::vector<std::filesystem::path> shlist_files_;
|
||||||
|
std::vector<std::filesystem::path> s_files_;
|
||||||
|
std::vector<std::filesystem::path> t3s_files_;
|
||||||
|
|
||||||
|
if (!std::filesystem::exists(
|
||||||
|
std::filesystem::path(dir_ + "/build/hashes.json")))
|
||||||
|
{
|
||||||
|
GenerateHashes(prj, dir_);
|
||||||
|
cpp_files_ = get_files_in_dir(prj.source_dirs, ".cpp");
|
||||||
|
c_files_ = get_files_in_dir(prj.source_dirs, ".c");
|
||||||
|
v_pica_files_ = get_files_in_dir(prj.source_dirs, ".v.pica");
|
||||||
|
shlist_files_ = get_files_in_dir(prj.source_dirs, ".shlist");
|
||||||
|
s_files_ = get_files_in_dir(prj.source_dirs, ".s");
|
||||||
|
t3s_files_ = get_files_in_dir({std::string(dir_ + "/gfx")}, ".t3s");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cpp_files_ = getChangedFiles(GetHashMap(dir_, ".cpp"));
|
||||||
|
c_files_ = getChangedFiles(GetHashMap(dir_, ".c"));
|
||||||
|
v_pica_files_ = getChangedFiles(GetHashMap(dir_, ".v.pica"));
|
||||||
|
shlist_files_ = getChangedFiles(GetHashMap(dir_, ".shlist"));
|
||||||
|
s_files_ = getChangedFiles(GetHashMap(dir_, ".s"));
|
||||||
|
t3s_files_ = getChangedFiles(GetHashMap(dir_, ".t3s"));
|
||||||
|
if ((getChangedFiles(GetHashMap(dir_, ".hpp")).size() != 0) ||
|
||||||
|
(getChangedFiles(GetHashMap(dir_, ".hpp")).size() != 0))
|
||||||
|
{
|
||||||
|
cpp_files_ = get_files_in_dir(prj.source_dirs, ".cpp");
|
||||||
|
c_files_ = get_files_in_dir(prj.source_dirs, ".c");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GetHashMap(dir_, ".cpp").size() != cpp_files.size() ||
|
||||||
|
GetHashMap(dir_, ".c").size() != c_files.size())
|
||||||
|
{
|
||||||
|
cpp_files_ = get_files_in_dir(prj.source_dirs, ".cpp");
|
||||||
|
c_files_ = get_files_in_dir(prj.source_dirs, ".c");
|
||||||
|
}
|
||||||
|
if (GetHashMap(dir_, ".hpp").size() != hpp_files.size() ||
|
||||||
|
GetHashMap(dir_, ".h").size() != h_files.size())
|
||||||
|
{
|
||||||
|
cpp_files_ = get_files_in_dir(prj.source_dirs, ".cpp");
|
||||||
|
c_files_ = get_files_in_dir(prj.source_dirs, ".c");
|
||||||
|
}
|
||||||
|
|
||||||
|
ReplVector(prj.lib_dirs, "{DEVKITPRO}", dkp_env);
|
||||||
|
|
||||||
|
ReplVariables(prj.cxx_compiler, "{DEVKITPRO}", dkp_env);
|
||||||
|
ReplVariables(prj.c_compiler, "{DEVKITPRO}", dkp_env);
|
||||||
|
ReplVariables(prj.asm_compiler, "{DEVKITPRO}", dkp_env);
|
||||||
|
ReplVariables(prj.linker, "{DEVKITPRO}", dkp_env);
|
||||||
|
|
||||||
|
int prgc = 0;
|
||||||
|
int prga = cpp_files_.size() + c_files_.size();
|
||||||
|
if (prga <= 0)
|
||||||
|
{
|
||||||
|
prgc = 1;
|
||||||
|
prga = 1;
|
||||||
|
std::cout << CCGREEN << "[+] Everything is Up to date..." << CCRESET
|
||||||
|
<< std::endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (auto const &it : t3s_files_)
|
||||||
|
{
|
||||||
|
std::string command = dkp_env + "/tools/bin/tex3ds -i " + fix_path(it.string()) +
|
||||||
|
" -H " + dir_ + "/build/" + fix_path(it.stem().string()) +
|
||||||
|
".h" + " -d " + dir_ + "/build/" +
|
||||||
|
fix_path(it.stem().string()) + ".d" + " -o " + dir_ +
|
||||||
|
"/romfs/gfx//" + fix_path(it.stem().string()) + ".t3x";
|
||||||
|
std::cout << CCMAGENTA << "Generating: " << CCCYAN << fix_path(it.filename().string())
|
||||||
|
<< std::endl;
|
||||||
|
int reqres = system(command.c_str());
|
||||||
|
std::cout << (reqres == 0 ? CCGREEN : CCRED)
|
||||||
|
<< (reqres == 0 ? "[+] " : "[-] ") << fix_path(it.filename().string())
|
||||||
|
<< std::endl;
|
||||||
|
if (reqres != 0)
|
||||||
|
any_errors = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (auto const &it : cpp_files_)
|
||||||
|
{
|
||||||
|
std::string command =
|
||||||
|
prj.cxx_compiler + " -MMD -MP -MF " + dir_ + "/build/" +
|
||||||
|
fix_path(it.stem().string()) + ".d " + "-c " + fix_path(it.string()) + " -o " + dir_ +
|
||||||
|
"/build/" + fix_path(it.stem().string()) + ".o " + Flags2Str(prj.cxx_flags) +
|
||||||
|
" " + IncludeDirs(prj.include_dirs) + " " + LibIncludes(prj.lib_dirs);
|
||||||
|
std::cout << CCMAGENTA << "Compiling: " << CCCYAN << fix_path(it.filename().string())
|
||||||
|
<< std::endl;
|
||||||
|
int reqres = system(command.c_str());
|
||||||
|
std::cout << (reqres == 0 ? CCGREEN : CCRED)
|
||||||
|
<< (reqres == 0 ? "[+] " : "[-] ") << fix_path(it.filename().string())
|
||||||
|
<< std::endl;
|
||||||
|
if (reqres != 0)
|
||||||
|
any_errors = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (auto const &it : c_files_)
|
||||||
|
{
|
||||||
|
std::string command =
|
||||||
|
prj.c_compiler + " -MMD -MP -MF " + dir_ + "/build/" +
|
||||||
|
fix_path(it.stem().string()) + ".d " + "-c " + fix_path(it.string()) + " -o " + dir_ +
|
||||||
|
"/build/" + fix_path(it.stem().string()) + ".o " + Flags2Str(prj.c_flags) + " " +
|
||||||
|
IncludeDirs(prj.include_dirs) + " " + LibIncludes(prj.lib_dirs);
|
||||||
|
std::cout << CCMAGENTA << "Compiling: " << CCCYAN << fix_path(it.filename().string())
|
||||||
|
<< std::endl;
|
||||||
|
int reqres = system(command.c_str());
|
||||||
|
std::cout << (reqres == 0 ? CCGREEN : CCRED)
|
||||||
|
<< (reqres == 0 ? "[+] " : "[-] ") << fix_path(it.filename().string())
|
||||||
|
<< std::endl;
|
||||||
|
if (reqres != 0)
|
||||||
|
any_errors = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<std::filesystem::path> o_files =
|
||||||
|
get_files_in_dir({dir_ + "/build/"}, ".o");
|
||||||
|
std::vector<std::filesystem::path> d_files =
|
||||||
|
get_files_in_dir({dir_ + "/build/"}, ".d");
|
||||||
|
|
||||||
|
if (!any_errors)
|
||||||
|
{
|
||||||
|
std::string command = prj.linker + " -o " + dir_ + "/" + prj.name +
|
||||||
|
".elf " + LinkerInput(o_files, d_files) + " " +
|
||||||
|
Libs(prj.libraries) + " " + LibPaths(prj.lib_dirs) +
|
||||||
|
" " + Flags2Str(prj.linker_flags);
|
||||||
|
std::cout << CCBLUE << "[+] Linking..." << CCRESET << std::endl;
|
||||||
|
int reqres = system(command.c_str());
|
||||||
|
if (reqres != 0)
|
||||||
|
any_errors = true;
|
||||||
|
command = "bannertool makebanner -i \"app/banner.png\" -a "
|
||||||
|
"\"app/BannerAudio.wav\" -o \"build/banner.bin\"";
|
||||||
|
std::cout << CCBLUE << "[+] Creating Banner..." << CCRESET << std::endl;
|
||||||
|
reqres = system(command.c_str());
|
||||||
|
std::cout << (reqres == 0 ? CCGREEN : CCRED)
|
||||||
|
<< (reqres == 0 ? "[+] " : "[-] ") << "Banner" << std::endl;
|
||||||
|
command = "bannertool makesmdh -i \"app/icon.png\" -s \"" + prj.name +
|
||||||
|
"\" -l \"Description\" -p \"" + prj.author +
|
||||||
|
"\" -o \"build/icon.bin\"";
|
||||||
|
std::cout << CCBLUE << "[+] Creating smdh..." << CCRESET << std::endl;
|
||||||
|
reqres = system(command.c_str());
|
||||||
|
std::cout << (reqres == 0 ? CCGREEN : CCRED)
|
||||||
|
<< (reqres == 0 ? "[+] " : "[-] ") << "Icon" << std::endl;
|
||||||
|
command = dkp_env += "/tools/bin/3dsxtool " + dir_ + "/" + prj.name +
|
||||||
|
".elf " + dir_ + "/" + prj.name + ".3dsx " +
|
||||||
|
"--smdh=" + dir_ + "/build/icon.bin" +
|
||||||
|
" --romfs=" + dir_ + "/romfs";
|
||||||
|
std::cout << CCBLUE << "[+] Creating 3dsx..." << CCRESET << std::endl;
|
||||||
|
reqres = system(command.c_str());
|
||||||
|
std::cout << (reqres == 0 ? CCGREEN : CCRED)
|
||||||
|
<< (reqres == 0 ? "[+] " : "[-] ") << prj.name + ".3dsx "
|
||||||
|
<< std::endl;
|
||||||
|
command =
|
||||||
|
"makerom -f cia -target t -exefslogo -o " + dir_ + "/" + prj.name +
|
||||||
|
".cia -elf " + dir_ + "/" + prj.name + ".elf " + " -rsf " + dir_ + "/" +
|
||||||
|
prj.rsf_path + " -banner " + dir_ + "/build/banner.bin" + " -icon " +
|
||||||
|
dir_ + "/build/icon.bin" + " -logo " + dir_ + "/" + prj.logo_lz11_path +
|
||||||
|
" -DAPP_ROMFS=" + dir_ + "/" + prj.dir_romfs + " -major " +
|
||||||
|
std::to_string(prj.vmajor) + " -minor " + std::to_string(prj.vminor) +
|
||||||
|
" -micro " + std::to_string(prj.vbuild) +
|
||||||
|
" -DAPP_VERSION_MAJOR=" + std::to_string(prj.vmajor);
|
||||||
|
std::cout << CCBLUE << "[+] Creating Cia..." << CCRESET << std::endl;
|
||||||
|
reqres = system(command.c_str());
|
||||||
|
std::cout << (reqres == 0 ? CCGREEN : CCRED)
|
||||||
|
<< (reqres == 0 ? "[+] " : "[-] ") << prj.name + ".cia "
|
||||||
|
<< std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (any_errors)
|
||||||
|
{
|
||||||
|
std::cout
|
||||||
|
<< CCRED
|
||||||
|
<< "\nErrors Happened!\nTake a look at the Top of this Message...\n"
|
||||||
|
<< CCRESET;
|
||||||
|
}
|
||||||
|
|
||||||
|
GenerateHashes(prj, dir_);
|
||||||
|
|
||||||
|
std::cout << CCRESET << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace helper
|
||||||
|
{
|
||||||
|
std::string GenerateUniqueId()
|
||||||
|
{
|
||||||
|
std::random_device rd;
|
||||||
|
std::mt19937 gen(rd());
|
||||||
|
std::uniform_int_distribution<> dis(0, 15);
|
||||||
|
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << "0x";
|
||||||
|
for (int i = 0; i < 5; ++i)
|
||||||
|
{
|
||||||
|
ss << std::hex << dis(gen);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string hex_str = ss.str();
|
||||||
|
return hex_str;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ArrayToFile(unsigned char *array_, size_t size_, std::string filename)
|
||||||
|
{
|
||||||
|
std::ofstream file(filename, std::ios::binary);
|
||||||
|
|
||||||
|
if (!file.is_open())
|
||||||
|
{
|
||||||
|
std::cerr << CCRED << "[-]: Could not open file" << CCRESET << std::endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
file.write(reinterpret_cast<char *>(array_), size_);
|
||||||
|
|
||||||
|
file.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
void GenerateTemplateFile(std::string path, NpiProject prj)
|
||||||
|
{
|
||||||
|
nlohmann::ordered_json js;
|
||||||
|
js["project_name"] = prj.name;
|
||||||
|
js["author"] = prj.author;
|
||||||
|
js["description"] = prj.description;
|
||||||
|
js["vmajor"] = prj.vmajor;
|
||||||
|
js["vminor"] = prj.vminor;
|
||||||
|
js["vbuild"] = prj.vbuild;
|
||||||
|
js["unique_id"] = prj.unique_id;
|
||||||
|
js["prod_code"] = prj.prod;
|
||||||
|
js["platform"] = prj.platform;
|
||||||
|
|
||||||
|
nlohmann::json source_dirs;
|
||||||
|
Vec2Json(prj.source_dirs, source_dirs, prj);
|
||||||
|
js["source_dirs"] = source_dirs;
|
||||||
|
|
||||||
|
nlohmann::json include_dirs;
|
||||||
|
Vec2Json(prj.include_dirs, include_dirs, prj);
|
||||||
|
js["include_dirs"] = include_dirs;
|
||||||
|
|
||||||
|
nlohmann::json libraries;
|
||||||
|
Vec2Json(prj.libraries, libraries, prj);
|
||||||
|
js["libraries"] = libraries;
|
||||||
|
|
||||||
|
nlohmann::json lib_dirs;
|
||||||
|
Vec2Json(prj.lib_dirs, lib_dirs, prj);
|
||||||
|
js["lib_dirs"] = lib_dirs;
|
||||||
|
|
||||||
|
js["icon_path"] = prj.icon_path;
|
||||||
|
js["banner_path"] = prj.banner_path;
|
||||||
|
js["banner_a_path"] = prj.banner_a_path;
|
||||||
|
js["rsf_path"] = prj.rsf_path;
|
||||||
|
js["logo_lz11_path"] = prj.logo_lz11_path;
|
||||||
|
|
||||||
|
js["dir_gfx"] = prj.dir_gfx;
|
||||||
|
js["dir_gfxbuild"] = prj.dir_gfxbuild;
|
||||||
|
js["dir_romfs"] = prj.dir_romfs;
|
||||||
|
|
||||||
|
nlohmann::json arch_flags;
|
||||||
|
Vec2Json(prj.arch_flags, arch_flags, prj);
|
||||||
|
js["arch_flags"] = arch_flags;
|
||||||
|
|
||||||
|
nlohmann::json c_flags;
|
||||||
|
Vec2Json(prj.c_flags, c_flags, prj);
|
||||||
|
js["c_flags"] = c_flags;
|
||||||
|
|
||||||
|
nlohmann::json cxx_flags;
|
||||||
|
Vec2Json(prj.cxx_flags, cxx_flags, prj);
|
||||||
|
js["cxx_flags"] = cxx_flags;
|
||||||
|
|
||||||
|
nlohmann::json as_flags;
|
||||||
|
Vec2Json(prj.as_flags, as_flags, prj);
|
||||||
|
js["as_flags"] = as_flags;
|
||||||
|
|
||||||
|
nlohmann::json linker_flags;
|
||||||
|
Vec2Json(prj.linker_flags, linker_flags, prj);
|
||||||
|
js["linker_flags"] = linker_flags;
|
||||||
|
|
||||||
|
js["cxx_compiler"] = prj.cxx_compiler;
|
||||||
|
js["c_compiler"] = prj.c_compiler;
|
||||||
|
js["asm_compiler"] = prj.asm_compiler;
|
||||||
|
js["linker"] = prj.linker;
|
||||||
|
|
||||||
|
std::ofstream fout(path);
|
||||||
|
fout << js.dump(4);
|
||||||
|
fout.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CompileProject(std::string path)
|
||||||
|
{
|
||||||
|
std::string dkp_env = getenv("DEVKITPRO");
|
||||||
|
if (dkp_env.c_str() == NULL)
|
||||||
|
{
|
||||||
|
std::cerr << CCRED << "[-] Please set DEVKITPRO ENV Variable!\n"
|
||||||
|
<< CCRESET;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
nlohmann::json js;
|
||||||
|
std::ifstream is(path + "/build.json");
|
||||||
|
if (!is)
|
||||||
|
{
|
||||||
|
std::cerr << CCRED << "[-] build.json not in " << path << "!\n"
|
||||||
|
<< CCRESET;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
is >> js;
|
||||||
|
|
||||||
|
is.close();
|
||||||
|
|
||||||
|
std::cout << CCBLUE << "[+] Compiling at " << path << " ...\n"
|
||||||
|
<< CCRESET;
|
||||||
|
|
||||||
|
NpiProject prj;
|
||||||
|
prj.name = catch_str(js, "project_name");
|
||||||
|
prj.author = catch_str(js, "author");
|
||||||
|
prj.vmajor = catch_int(js, "vmajor");
|
||||||
|
prj.vminor = catch_int(js, "vminor");
|
||||||
|
prj.vbuild = catch_int(js, "vbuild");
|
||||||
|
prj.description = catch_str(js, "description");
|
||||||
|
prj.unique_id = catch_str(js, "unique_id");
|
||||||
|
prj.prod = catch_str(js, "prod_code");
|
||||||
|
prj.platform = catch_str(js, "platform");
|
||||||
|
|
||||||
|
prj.icon_path = catch_str(js, "icon_path");
|
||||||
|
prj.banner_path = catch_str(js, "banner_path");
|
||||||
|
prj.banner_a_path = catch_str(js, "banner_a_path");
|
||||||
|
prj.rsf_path = catch_str(js, "rsf_path");
|
||||||
|
prj.logo_lz11_path = catch_str(js, "logo_lz11_path");
|
||||||
|
prj.dir_gfx = catch_str(js, "dir_gfx");
|
||||||
|
prj.dir_gfxbuild = catch_str(js, "dir_gfxbuild");
|
||||||
|
prj.dir_romfs = catch_str(js, "dir_romfs");
|
||||||
|
|
||||||
|
Js2Vec(prj.arch_flags, js["arch_flags"]);
|
||||||
|
Js2Vec(prj.linker_flags, js["linker_flags"]);
|
||||||
|
Js2Vec(prj.c_flags, js["c_flags"]);
|
||||||
|
Js2Vec(prj.cxx_flags, js["cxx_flags"]);
|
||||||
|
Js2Vec(prj.as_flags, js["as_flags"]);
|
||||||
|
Js2Vec(prj.source_dirs, js["source_dirs"]);
|
||||||
|
Js2Vec(prj.include_dirs, js["include_dirs"]);
|
||||||
|
Js2Vec(prj.lib_dirs, js["lib_dirs"]);
|
||||||
|
Js2Vec(prj.libraries, js["libraries"]);
|
||||||
|
prj.cxx_compiler = catch_str(js, "cxx_compiler");
|
||||||
|
prj.c_compiler = catch_str(js, "c_compiler");
|
||||||
|
prj.asm_compiler = catch_str(js, "asm_compiler");
|
||||||
|
prj.linker = catch_str(js, "linker");
|
||||||
|
NpiProject _2build = prj;
|
||||||
|
ProcessPrj2Cmp(&_2build, prj);
|
||||||
|
CompileProject(_2build, path);
|
||||||
|
}
|
||||||
|
void CleanProject(std::string path)
|
||||||
|
{
|
||||||
|
DeleteFiles(path, {".3dsx", ".cia", ".elf"});
|
||||||
|
DeleteFiles(path + "/" + "romfs", {".t3x"});
|
||||||
|
DeleteDirectory(path + "/build");
|
||||||
|
}
|
||||||
|
} // namespace helper
|
1296
source/icon.cpp
Normal file
1296
source/icon.cpp
Normal file
File diff suppressed because it is too large
Load Diff
688
source/logo_lz11.cpp
Normal file
688
source/logo_lz11.cpp
Normal file
@ -0,0 +1,688 @@
|
|||||||
|
#include <logo_lz11.hpp>
|
||||||
|
|
||||||
|
unsigned char logo_lz11[] = {
|
||||||
|
0x11, 0x40, 0xe6, 0x0, 0x0, 0x64, 0x61, 0x72, 0x63, 0xff, 0xfe, 0x1c,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x20, 0xe6, 0x0, 0x0, 0x83, 0x30,
|
||||||
|
0x9, 0x64, 0x3, 0x0, 0x0, 0x80, 0x20, 0x3, 0x30, 0x13, 0xab, 0x30,
|
||||||
|
0x18, 0x11, 0x20, 0x1d, 0x2, 0xa0, 0xb, 0x6, 0x20, 0x2b, 0x30, 0x18,
|
||||||
|
0x5a, 0x9, 0x20, 0x35, 0x10, 0x20, 0x39, 0x30, 0x2b, 0xac, 0x20, 0x20,
|
||||||
|
0x54, 0xaa, 0x20, 0x45, 0x40, 0x20, 0x1c, 0xc, 0x20, 0x2c, 0x98, 0x20,
|
||||||
|
0x51, 0x60, 0x55, 0x8, 0x50, 0x38, 0xdc, 0x30, 0xb, 0xa, 0x50, 0x23,
|
||||||
|
0x20, 0x20, 0x51, 0x5, 0x20, 0xd, 0x0, 0x0, 0xe8, 0x20, 0x50, 0x64,
|
||||||
|
0x30, 0xb, 0xa5, 0x20, 0x40, 0x78, 0x20, 0x6f, 0xa8, 0x1, 0x50, 0x53,
|
||||||
|
0xe, 0x20, 0x89, 0x40, 0xb2, 0x30, 0x75, 0x14, 0x0, 0x0, 0x28, 0x4,
|
||||||
|
0x0, 0x24, 0x0, 0xc8, 0x20, 0x81, 0x80, 0x18, 0x20, 0xb, 0x80, 0x0,
|
||||||
|
0x28, 0x0, 0xe4, 0x30, 0x8d, 0x99, 0x20, 0x17, 0x20, 0x0, 0x0, 0x53,
|
||||||
|
0xfa, 0x30, 0x17, 0xb9, 0x50, 0xb, 0x12, 0x2, 0x50, 0x8f, 0x30, 0xa7,
|
||||||
|
0x48, 0x1c, 0x20, 0xa8, 0xc0, 0xd9, 0x20, 0xbf, 0x5, 0x0, 0x0, 0x41,
|
||||||
|
0x4c, 0x20, 0xb4, 0x40, 0xdf, 0x0, 0x0, 0xe0, 0x20, 0xb0, 0x10, 0x0,
|
||||||
|
0x0, 0x2e, 0x20, 0xe3, 0x61, 0x0, 0x6e, 0x0, 0x14, 0x69, 0x0, 0x6d,
|
||||||
|
0x20, 0xed, 0x4e, 0x20, 0x7, 0x6e, 0x0, 0x10, 0x74, 0x0, 0x65, 0x20,
|
||||||
|
0x11, 0x64, 0x0, 0x6f, 0x0, 0x51, 0x4c, 0x20, 0x3, 0x67, 0x20, 0x7,
|
||||||
|
0x5f, 0x0, 0x44, 0x20, 0x3, 0x41, 0x30, 0x20, 0x1, 0x5f, 0x0, 0x53,
|
||||||
|
0x0, 0x63, 0x40, 0x1f, 0x5, 0x65, 0x0, 0x4f, 0x0, 0x75, 0x20, 0x2b,
|
||||||
|
0x41, 0x20, 0x43, 0x5a, 0x62, 0x20, 0x13, 0x6c, 0x40, 0x47, 0x2, 0x50,
|
||||||
|
0x43, 0x42, 0x3, 0x20, 0x43, 0x43, 0xbd, 0x1, 0x80, 0x87, 0x55, 0x4,
|
||||||
|
0xc0, 0x43, 0x1, 0x90, 0xcb, 0x0, 0x90, 0x87, 0xf1, 0x53, 0x74, 0x41,
|
||||||
|
0x9f, 0x51, 0x67, 0x22, 0x8f, 0x6d, 0x21, 0xad, 0x73, 0x0, 0x6b, 0x81,
|
||||||
|
0x73, 0xaa, 0x51, 0xb7, 0x62, 0x21, 0x89, 0x62, 0x21, 0x85, 0x6c, 0x21,
|
||||||
|
0xb9, 0x73, 0xb5, 0xe0, 0x1b, 0x6c, 0x61, 0xc3, 0xd0, 0x31, 0x77, 0x21,
|
||||||
|
0xf5, 0x76, 0x0, 0x20, 0x2d, 0xbf, 0x30, 0x43, 0x79, 0x22, 0x1, 0x1,
|
||||||
|
0x32, 0xb, 0x71, 0xf7, 0x0, 0xf0, 0x2f, 0x71, 0x6f, 0xd0, 0x2f, 0x81,
|
||||||
|
0x0, 0xb0, 0x2, 0x43, 0x4c, 0x41, 0x4e, 0xff, 0xfe, 0x22, 0xec, 0x18,
|
||||||
|
0x0, 0x2, 0x2, 0x33, 0x43, 0x23, 0x67, 0x0, 0x70, 0x61, 0x1a, 0x74,
|
||||||
|
0x31, 0x3c, 0x63, 0x7e, 0x33, 0x99, 0x28, 0x23, 0x9d, 0xa1, 0x20, 0x0,
|
||||||
|
0xf0, 0x43, 0x8c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x8, 0x4f, 0x75, 0x74,
|
||||||
|
0x41, 0x23, 0xb1, 0x47, 0x5f, 0x41, 0x10, 0x5f, 0x30, 0x30, 0xd0, 0x60,
|
||||||
|
0x70, 0x61, 0x69, 0x31, 0x54, 0x5c, 0x23, 0xac, 0x50, 0x43, 0xbe, 0x6,
|
||||||
|
0x33, 0x46, 0x0, 0x2c, 0xb5, 0x23, 0xdd, 0xcc, 0x33, 0xab, 0x23, 0xcd,
|
||||||
|
0x54, 0x23, 0xd1, 0xc4, 0x23, 0xd5, 0x43, 0x10, 0x23, 0xd0, 0x6d, 0x61,
|
||||||
|
0x73, 0x6b, 0xf0, 0x40, 0x33, 0xf0, 0x85, 0x34, 0xd, 0x43, 0x4c, 0x56,
|
||||||
|
0x43, 0x33, 0xfc, 0xc, 0x34, 0x19, 0xf2, 0x20, 0x2c, 0x33, 0xeb, 0x40,
|
||||||
|
0xb, 0x44, 0x16, 0x7f, 0x43, 0x20, 0x51, 0xc1, 0xf9, 0x23, 0xcd, 0x30,
|
||||||
|
0x86, 0x30, 0x5d, 0xa0, 0xb, 0x34, 0x4a, 0x82, 0x42, 0x0, 0x10, 0xb,
|
||||||
|
0x5c, 0x7f, 0x20, 0x13, 0x8a, 0x20, 0x17, 0x30, 0x3b, 0x90, 0xb, 0xab,
|
||||||
|
0xaa, 0x5c, 0xe2, 0x20, 0x47, 0x9c, 0x40, 0x2f, 0xb0, 0xb, 0x34, 0x90,
|
||||||
|
0x62, 0x75, 0x6, 0x62, 0x62, 0x6c, 0x65, 0x73, 0xc0, 0xe3, 0xa0, 0x9f,
|
||||||
|
0x49, 0xf9, 0x80, 0x9f, 0x24, 0xa6, 0x31, 0x37, 0x90, 0x9f, 0x34, 0xce,
|
||||||
|
0x8c, 0x42, 0x34, 0xbc, 0xbc, 0x80, 0x43, 0x31, 0x2, 0x90, 0x43, 0x0,
|
||||||
|
0x41, 0x27, 0x25, 0x19, 0x51, 0x27, 0x54, 0x53, 0x8d, 0x81, 0x27, 0x1,
|
||||||
|
0x2, 0x0, 0x24, 0x76, 0x61, 0x27, 0x1c, 0x21, 0x3, 0x2d, 0x60, 0xc0,
|
||||||
|
0x51, 0xfe, 0x44, 0xe0, 0xb, 0x72, 0x14, 0xa0, 0xe0, 0xb, 0x3, 0x90,
|
||||||
|
0xc0, 0x29, 0xa5, 0x14, 0xbe, 0x0, 0x40, 0xf7, 0x0, 0x60, 0x6f, 0x8a,
|
||||||
|
0xf0, 0xf7, 0x75, 0x64, 0x4f, 0x22, 0x3a, 0x9e, 0x21, 0x7f, 0x80, 0x79,
|
||||||
|
0x3f, 0x30, 0xb, 0x0, 0x40, 0xff, 0x1, 0x50, 0x4b, 0x20, 0x3f, 0xcf,
|
||||||
|
0x3b, 0x90, 0x4b, 0xff, 0x30, 0xb, 0x0, 0xd2, 0xbf, 0x35, 0xf7, 0xb2,
|
||||||
|
0xbf, 0x25, 0xd2, 0x82, 0xbf, 0x20, 0xeb, 0xc2, 0xbf, 0x8b, 0x32, 0x20,
|
||||||
|
0x47, 0x5f, 0x42, 0x0, 0x42, 0xbf, 0xbc, 0x26, 0x75, 0x50, 0x2d, 0xaa,
|
||||||
|
0x92, 0xbf, 0x6c, 0x26, 0xa1, 0xa8, 0x26, 0xa5, 0xe4, 0x26, 0xa9, 0x24,
|
||||||
|
0xbf, 0x26, 0x95, 0x70, 0x26, 0x99, 0x1, 0xb2, 0xbf, 0x92, 0x2b, 0x93,
|
||||||
|
0x90, 0x1, 0xb2, 0x5f, 0xb0, 0x3f, 0xf7, 0x1, 0xf2, 0x57, 0xf0, 0x3b,
|
||||||
|
0x1, 0xb2, 0x4f, 0x92, 0xe3, 0x48, 0x23, 0x73, 0x52, 0x4f, 0x2, 0xb2,
|
||||||
|
0x1f, 0x14, 0xcd, 0xcc, 0x4c, 0x24, 0x5a, 0x20, 0x23, 0xbf, 0x0, 0x40,
|
||||||
|
0xec, 0x30, 0xb, 0x2, 0xa2, 0x1f, 0x20, 0x4b, 0xcc, 0x22, 0x1f, 0x30,
|
||||||
|
0x4b, 0x80, 0x3f, 0xfc, 0x50, 0xb, 0x0, 0xd4, 0xdf, 0x38, 0x44, 0xb4,
|
||||||
|
0xdf, 0x31, 0x95, 0x74, 0xdf, 0xf1, 0x0, 0x62, 0xff, 0xc4, 0xdf, 0x30,
|
||||||
|
0xa0, 0x47, 0x5f, 0x43, 0x0, 0x44, 0xdf, 0xb0, 0xaa, 0x28, 0x95, 0xf,
|
||||||
|
0xe4, 0xdf, 0x78, 0x28, 0xc1, 0xb4, 0x28, 0xc5, 0xf0, 0xb1, 0x28, 0xc9,
|
||||||
|
0x30, 0x2, 0x22, 0x1f, 0xf4, 0x3f, 0xdb, 0xb6, 0x91, 0x25, 0x62, 0x4c,
|
||||||
|
0x60, 0x25, 0x66, 0x7f, 0x43, 0x30, 0xb, 0x2, 0x52, 0x2b, 0x60, 0x41,
|
||||||
|
0xfc, 0x2, 0x92, 0x2b, 0x50, 0x3b, 0x2, 0x52, 0x2b, 0x39, 0xce, 0x2,
|
||||||
|
0x14, 0x4b, 0x95, 0x4f, 0x80, 0xbf, 0xfe, 0x51, 0xd3, 0x1, 0xd2, 0x1f,
|
||||||
|
0x0, 0x30, 0x3f, 0x0, 0xb6, 0xdf, 0x2, 0x71, 0xff, 0x36, 0xdf, 0x51,
|
||||||
|
0xff, 0x8, 0xb5, 0x46, 0xdf, 0x34, 0x3a, 0x83, 0x2a, 0xc1, 0xbc, 0x2a,
|
||||||
|
0xc5, 0xf8, 0x30, 0xf, 0xae, 0x2a, 0xb5, 0x74, 0x2a, 0xb9, 0xb4, 0x35,
|
||||||
|
0xa3, 0x1, 0xe6, 0xe7, 0x0, 0xf2, 0x7, 0x6c, 0x1c, 0x6f, 0x67, 0x6f,
|
||||||
|
0x0, 0xa7, 0x33, 0x1, 0x52, 0x7, 0xd, 0xe2, 0x43, 0x77, 0x61, 0x7f,
|
||||||
|
0x76, 0xe7, 0xc5, 0xd7, 0x3f, 0x38, 0xf3, 0x3c, 0x47, 0x56, 0x27, 0xf2,
|
||||||
|
0x87, 0x44, 0xb3, 0x60, 0xbc, 0xd6, 0xeb, 0x40, 0x17, 0x40, 0xd, 0xd7,
|
||||||
|
0xa3, 0xbb, 0x87, 0x37, 0x67, 0x66, 0x66, 0xe6, 0x3f, 0xc8, 0x2f, 0x2,
|
||||||
|
0x62, 0xab, 0x0, 0xf9, 0x9f, 0xde, 0x3c, 0xb3, 0x3, 0x36, 0xdf, 0x98,
|
||||||
|
0x2d, 0x4c, 0x57, 0xd, 0x92, 0xbf, 0x3a, 0x87, 0xb0, 0xb7, 0x2d, 0x85,
|
||||||
|
0xec, 0x39, 0xef, 0x2d, 0x75, 0x68, 0x62, 0xbf, 0x3c, 0xc3, 0x2, 0xf6,
|
||||||
|
0xe7, 0xff, 0x2, 0x52, 0xb3, 0xe6, 0xe7, 0xe, 0xa7, 0x23, 0x1, 0x72,
|
||||||
|
0xbf, 0x34, 0x87, 0x3f, 0x29, 0xea, 0x8b, 0x37, 0x67, 0xfd, 0x24, 0x9a,
|
||||||
|
0x47, 0x73, 0x82, 0xcb, 0x9a, 0x27, 0x50, 0x23, 0x52, 0xcb, 0x20, 0x82,
|
||||||
|
0xcb, 0xe0, 0x6a, 0x1b, 0x32, 0xe3, 0x29, 0x83, 0xf0, 0x42, 0xcd, 0xcc,
|
||||||
|
0xc, 0x7f, 0x40, 0x5c, 0x4a, 0x57, 0xbb, 0x32, 0xfb, 0x4, 0xf7, 0xbb,
|
||||||
|
0xfc, 0x9f, 0x3f, 0xa7, 0x3, 0x3c, 0x9f, 0x75, 0x28, 0x2f, 0xef, 0x5c,
|
||||||
|
0x9f, 0x95, 0xbf, 0xd4, 0x2f, 0xfb, 0x18, 0x2f, 0xf7, 0x77, 0x5c, 0x39,
|
||||||
|
0xfb, 0x6c, 0x9f, 0x3c, 0xc7, 0xdc, 0x9, 0x2c, 0xa7, 0x1, 0xb6, 0x13,
|
||||||
|
0x1, 0xc, 0xa7, 0xff, 0x10, 0x2, 0xac, 0xeb, 0x2, 0xd3, 0xa7, 0x4d,
|
||||||
|
0x2f, 0x28, 0x42, 0x3d, 0x3b, 0x4d, 0x47, 0x46, 0x73, 0x22, 0xf2, 0x84,
|
||||||
|
0xce, 0x57, 0xe1, 0x65, 0x2d, 0x3e, 0x33, 0xa7, 0xa4, 0x70, 0x7c, 0xd,
|
||||||
|
0x63, 0x8f, 0x40, 0x2f, 0x2, 0xf3, 0x8f, 0x1, 0x4d, 0x6b, 0x4, 0x30,
|
||||||
|
0x13, 0xff, 0xff, 0x30, 0xff, 0xff, 0x3f, 0x3b, 0x10, 0x13, 0x70, 0x7,
|
||||||
|
0x77, 0x77, 0x77, 0x77, 0x60, 0x6e, 0xa0, 0x7, 0x0, 0xf0, 0x1f, 0xbb,
|
||||||
|
0xbb, 0x55, 0x55, 0x3, 0x12, 0x23, 0x23, 0x23, 0x70, 0x7, 0xdd, 0xdd,
|
||||||
|
0x20, 0xf, 0x5b, 0x1c, 0x5b, 0x5b, 0xfd, 0x60, 0x7, 0x0, 0x70, 0x1f,
|
||||||
|
0x70, 0x27, 0xaa, 0xaa, 0x8c, 0x20, 0x3f, 0x8b, 0x8b, 0x8b, 0x70, 0x7,
|
||||||
|
0x40, 0x4f, 0xc3, 0xc3, 0x60, 0xc3, 0x70, 0x7, 0x0, 0xf0, 0x1f, 0x11,
|
||||||
|
0x11, 0x11, 0x11, 0x2, 0x0, 0xf8, 0xf8, 0xf8, 0x11, 0x0, 0x11, 0x11,
|
||||||
|
0xa, 0xfe, 0x20, 0x7, 0x4a, 0x81, 0xa0, 0x7, 0x70, 0x17, 0x70, 0x27,
|
||||||
|
0xf0, 0x1f, 0xa, 0xf0, 0xf, 0x43, 0x12, 0x4c, 0x49, 0x4d, 0x7f, 0x9f,
|
||||||
|
0x28, 0x4, 0x5f, 0x1f, 0x69, 0x15, 0x6d, 0x61, 0x67, 0x3b, 0x8f, 0x10,
|
||||||
|
0x2d, 0x55, 0xa, 0x3f, 0xfb, 0xe0, 0x20, 0x17, 0x10, 0x19, 0x74, 0x7f,
|
||||||
|
0x10, 0x26, 0x72, 0x4f, 0x7f, 0xbb, 0xff, 0x37, 0xb, 0x10, 0x2, 0x2,
|
||||||
|
0x2, 0x7a, 0x4f, 0x1, 0xfe, 0x3, 0x0, 0x0, 0x62, 0x21, 0x21, 0x21,
|
||||||
|
0x33, 0x33, 0x33, 0x33, 0x0, 0xb6, 0x18, 0x18, 0x18, 0x33, 0x33, 0xff,
|
||||||
|
0xff, 0x10, 0x1, 0x3, 0x3, 0x2e, 0x41, 0x11, 0x1, 0x2, 0x30, 0xfd,
|
||||||
|
0x5f, 0xd8, 0x30, 0x7, 0x70, 0x17, 0x90, 0x1f, 0x50, 0x17, 0x0, 0x0,
|
||||||
|
0x1f, 0x73, 0x0, 0x0, 0x1f, 0x40, 0x10, 0x40, 0x3f, 0xbb, 0x33, 0x73,
|
||||||
|
0xaa, 0x1f, 0x1f, 0xd, 0x1f, 0xff, 0xff, 0xf7, 0x4a, 0xc7, 0x20, 0x5f,
|
||||||
|
0x11, 0x30, 0x5f, 0x6, 0x3, 0xff, 0x10, 0xff, 0x57, 0x27, 0xdc, 0x10,
|
||||||
|
0x25, 0x76, 0x5f, 0xe, 0x37, 0x0, 0x1f, 0x43, 0xd7, 0x7e, 0x4f, 0xf,
|
||||||
|
0x20, 0x1, 0xb3, 0xe7, 0x4, 0xf0, 0x7, 0x5e, 0xf0, 0x2e, 0xc8, 0x0,
|
||||||
|
0x0, 0x20, 0xf, 0x10, 0x25, 0x7a, 0x5f, 0x73, 0xef, 0x10, 0x2f, 0x73,
|
||||||
|
0xff, 0x1, 0x10, 0x0, 0xef, 0xe, 0x10, 0x2d, 0xb7, 0xff, 0xbc, 0x8,
|
||||||
|
0xce, 0x88, 0x8, 0x4a, 0x13, 0x13, 0x13, 0xff, 0x6f, 0x0, 0x0, 0x88,
|
||||||
|
0x70, 0x88, 0x5f, 0xef, 0x50, 0x7, 0x4, 0x0, 0x1f, 0x80, 0x88, 0x88,
|
||||||
|
0xa, 0x0, 0x37, 0x37, 0x37, 0xcb, 0xff, 0xec, 0xff, 0x42, 0x18, 0x16,
|
||||||
|
0x16, 0x16, 0x10, 0x25, 0x7f, 0xef, 0x10, 0x7, 0xf, 0x57, 0x7f, 0xff,
|
||||||
|
0x7f, 0x40, 0x6, 0x0, 0x2f, 0xff, 0xb7, 0xbb, 0x37, 0x33, 0x6a, 0xa,
|
||||||
|
0x0, 0xa, 0xa, 0xbb, 0xbb, 0x33, 0x33, 0x5, 0x2, 0x38, 0x2, 0x2,
|
||||||
|
0xff, 0xff, 0x70, 0x17, 0x2, 0x80, 0x1f, 0x7b, 0x33, 0x77, 0x1, 0x4e,
|
||||||
|
0x1f, 0x1f, 0x1f, 0xf7, 0xff, 0xf7, 0x10, 0x25, 0xd5, 0x67, 0x1, 0xe8,
|
||||||
|
0xff, 0x1, 0x6b, 0x11, 0x11, 0x11, 0x8f, 0xff, 0x44, 0xf, 0x2c, 0xef,
|
||||||
|
0x3, 0x3, 0x3, 0x5, 0x7d, 0x5f, 0x1e, 0xff, 0x18, 0x10, 0xff, 0x6b,
|
||||||
|
0x24, 0x57, 0x7d, 0xcf, 0xf, 0xff, 0x0, 0x7, 0xff, 0x20, 0x20, 0x20,
|
||||||
|
0x20, 0x10, 0x25, 0x89, 0x6f, 0x63, 0xef, 0x6, 0x73, 0xff, 0xc1, 0x73,
|
||||||
|
0xef, 0x7, 0x73, 0xff, 0x7f, 0xb3, 0x7f, 0x37, 0xa, 0x0, 0x28, 0xdf,
|
||||||
|
0x4, 0x31, 0x33, 0x9d, 0xd9, 0x21, 0x2e, 0x87, 0x11, 0x11, 0x1c, 0xdd,
|
||||||
|
0xdd, 0xa1, 0x0, 0x2e, 0x8f, 0x70, 0x17, 0x1, 0x20, 0x1f, 0x9d, 0x81,
|
||||||
|
0x80, 0x0, 0x2e, 0xcf, 0xdd, 0x7b, 0x31, 0x73, 0x4e, 0x1e, 0x1e, 0x41,
|
||||||
|
0x1e, 0x10, 0x25, 0xf3, 0xff, 0xcf, 0x1, 0xf, 0xf8, 0x40, 0xa3, 0xcf,
|
||||||
|
0x0, 0xf, 0x0, 0xf, 0xf, 0x82, 0x1b, 0x1b, 0x1b, 0xa0, 0x5, 0x28,
|
||||||
|
0xff, 0x10, 0x39, 0x5f, 0xfe, 0xff, 0xf0, 0xff, 0x22, 0x15, 0x16, 0x16,
|
||||||
|
0x16, 0x79, 0x6f, 0xf0, 0x20, 0xf, 0xa2, 0x20, 0xf, 0x84, 0x10, 0x15,
|
||||||
|
0x8f, 0xff, 0xf0, 0xff, 0x8, 0x4, 0xbf, 0xcf, 0xde, 0xff, 0x4, 0xce,
|
||||||
|
0xe, 0x1, 0x1, 0x1, 0xfb, 0xff, 0x88, 0xcc, 0x0, 0x8e, 0x88, 0xb,
|
||||||
|
0x34, 0x34, 0x34, 0xcc, 0xcc, 0x78, 0x88, 0x40, 0x7, 0xfc, 0x1f, 0x70,
|
||||||
|
0x17, 0x1, 0xf0, 0x1f, 0xf, 0xff, 0x80, 0xd0, 0x4b, 0xef, 0x20, 0x56,
|
||||||
|
0xe8, 0x30, 0x5f, 0xfd, 0xff, 0xfc, 0xff, 0x1f, 0x62, 0xf, 0xf, 0x2c,
|
||||||
|
0x85, 0x5, 0x5f, 0xff, 0x73, 0xef, 0x6, 0x23, 0xff, 0xc3, 0xef, 0x83,
|
||||||
|
0x10, 0x1, 0x73, 0xff, 0xb7, 0xdd, 0x37, 0x13, 0x6a, 0x2e, 0x2f, 0x2,
|
||||||
|
0xa9, 0x7f, 0x84, 0x0, 0x49, 0xbf, 0x33, 0x13, 0xdd, 0xfd, 0x39, 0xdf,
|
||||||
|
0x7b, 0xff, 0x75, 0x73, 0x5, 0xc2, 0x7f, 0x10, 0x6, 0xfe, 0xe7, 0x0,
|
||||||
|
0x23, 0xff, 0x7, 0x10, 0x7, 0xb3, 0xff, 0x1, 0x29, 0x91, 0xf8, 0x3e,
|
||||||
|
0x87, 0x7f, 0xff, 0x39, 0xa1, 0xc, 0xbe, 0x7f, 0x10, 0x5, 0xfd, 0xff,
|
||||||
|
0x7f, 0x0, 0xf, 0x22, 0xff, 0x20, 0xbf, 0xcf, 0xfe, 0xff, 0xee, 0x0,
|
||||||
|
0x38, 0xff, 0xcc, 0x8, 0xcc, 0xce, 0xcc, 0x61, 0x2c, 0xa8, 0xee, 0xee,
|
||||||
|
0xff, 0x38, 0xff, 0x1, 0x0, 0x2d, 0x17, 0x70, 0x17, 0x1, 0xf0, 0x1f,
|
||||||
|
0xff, 0xff, 0xf8, 0x20, 0xff, 0x4b, 0x28, 0xef, 0xcc, 0xee, 0xec, 0xfe,
|
||||||
|
0x63, 0x1e, 0x24, 0x24, 0x24, 0xf, 0xff, 0xff, 0x73, 0xef, 0x10, 0x14,
|
||||||
|
0x73, 0xff, 0x10, 0x8, 0xff, 0x67, 0x8, 0x80, 0xe7, 0xff, 0xce, 0xcc,
|
||||||
|
0xef, 0x88, 0x4b, 0x2c, 0x2c, 0x64, 0x2c, 0x3, 0x9e, 0x7f, 0x57, 0xff,
|
||||||
|
0xcc, 0x8c, 0x5e, 0xd7, 0xcb, 0xff, 0x1a, 0xe8, 0xff, 0x47, 0x10, 0x0,
|
||||||
|
0xad, 0x7f, 0x10, 0x26, 0x25, 0x17, 0x7f, 0xcf, 0xff, 0xef, 0x0, 0xff,
|
||||||
|
0xf, 0xa, 0x2, 0x2, 0x2, 0x17, 0x33, 0x10, 0x17, 0x11, 0x71, 0x20,
|
||||||
|
0x7, 0x11, 0x11, 0x11, 0x11, 0x7e, 0xa3, 0x4e, 0xaf, 0xdd, 0x17, 0x70,
|
||||||
|
0x17, 0x90, 0x1f, 0xde, 0xcf, 0x1, 0x70, 0x1f, 0xff, 0xd, 0x7d, 0x11,
|
||||||
|
0x71, 0x65, 0x20, 0x6f, 0xaf, 0xf, 0xf0, 0x5d, 0x8f, 0x54, 0xf7, 0xcf,
|
||||||
|
0xff, 0xfe, 0x2e, 0xc7, 0x42, 0x10, 0x24, 0x35, 0x37, 0xf, 0xff, 0x7,
|
||||||
|
0xf, 0x12, 0x3, 0x3, 0x3, 0xf0, 0xf, 0x0, 0x1d, 0x7, 0x3, 0xdd,
|
||||||
|
0x17, 0xd0, 0xf3, 0xef, 0xf3, 0xff, 0xf0, 0x23, 0xef, 0x82, 0x1d, 0x1d,
|
||||||
|
0x1d, 0xe0, 0x7f, 0xff, 0xf0, 0xf, 0x10, 0x4c, 0x3, 0xff, 0xf7, 0xff,
|
||||||
|
0x77, 0xa, 0x1, 0x0, 0x1, 0x1, 0x77, 0x77, 0x77, 0x77, 0xda, 0x8,
|
||||||
|
0x38, 0x8, 0x8, 0xff, 0xff, 0x70, 0x17, 0x0, 0xf0, 0x1f, 0xff, 0x7f,
|
||||||
|
0x77, 0x30, 0xf7, 0x7, 0x2a, 0xbf, 0x10, 0x2, 0x87, 0xff, 0xcf, 0xff,
|
||||||
|
0xf, 0xcb, 0xd4, 0x21, 0x7f, 0x0, 0x17, 0xff, 0x1, 0x6, 0xc7, 0xff,
|
||||||
|
0xf7, 0x10, 0xb, 0xeb, 0xff, 0x1, 0x0, 0x0, 0x13, 0x0, 0x62, 0x22,
|
||||||
|
0x22, 0x22, 0x33, 0x33, 0x3, 0x0, 0x0, 0x3, 0x29, 0x29, 0x29, 0xfe,
|
||||||
|
0x5f, 0x70, 0x17, 0xe0, 0x90, 0x1f, 0xde, 0x5f, 0x0, 0xf0, 0x1f, 0x1e,
|
||||||
|
0xff, 0x10, 0xff, 0x6b, 0x10, 0xa, 0xa, 0xa, 0x7f, 0xff, 0xf, 0xff,
|
||||||
|
0x0, 0xff, 0x8, 0x20, 0x20, 0x20, 0x20, 0x10, 0x0, 0xf, 0xff, 0xef,
|
||||||
|
0xff, 0xef, 0x40, 0xe, 0x0, 0x2f, 0x4f, 0xce, 0xc8, 0xce, 0x88, 0x4f,
|
||||||
|
0x2c, 0x0, 0x2c, 0x2c, 0x88, 0x88, 0xaa, 0xaa, 0x1b, 0x34, 0x38, 0x34,
|
||||||
|
0x34, 0xff, 0x77, 0x70, 0x17, 0x2, 0xa0, 0x1f, 0x8a, 0x17, 0x35, 0x1,
|
||||||
|
0x35, 0x35, 0xcc, 0xe8, 0x88, 0xe8, 0x4b, 0x20, 0x67, 0xbf, 0x0, 0x1f,
|
||||||
|
0xd7, 0xfe, 0x10, 0xc, 0xcf, 0xe7, 0x4, 0xfe, 0x5f, 0xf3, 0xef, 0x10,
|
||||||
|
0x0, 0x83, 0xff, 0x10, 0x16, 0x6f, 0x4f, 0xfe, 0x5f, 0x0, 0xa, 0x0,
|
||||||
|
0x8f, 0x0, 0xb, 0x37, 0x37, 0x37, 0x81, 0x4, 0x93, 0xff, 0x80, 0xff,
|
||||||
|
0x4b, 0x1f, 0x1f, 0x1f, 0x10, 0x27, 0x73, 0xff, 0xb3, 0x2f, 0xff, 0xee,
|
||||||
|
0x3f, 0xef, 0x20, 0x6, 0xee, 0x43, 0x0, 0x4d, 0xd7, 0x70, 0x17, 0xab,
|
||||||
|
0x0, 0xe0, 0x1f, 0xef, 0x0, 0x50, 0x3f, 0xfe, 0x2a, 0x3f, 0x22, 0x10,
|
||||||
|
0x27, 0x53, 0xe7, 0x10, 0x1, 0xdd, 0xc7, 0x0, 0xe9, 0xff, 0x1, 0x6b,
|
||||||
|
0xa, 0xa, 0xa, 0xf7, 0x1, 0x77, 0x77, 0x77, 0x5a, 0x8, 0x8, 0x8,
|
||||||
|
0x20, 0x6, 0x21, 0x77, 0xda, 0x20, 0x7, 0x0, 0x0, 0x70, 0x7, 0xbd,
|
||||||
|
0x2f, 0xf0, 0x70, 0x17, 0x90, 0x1f, 0xdd, 0x37, 0x70, 0x37, 0xff, 0xf7,
|
||||||
|
0x77, 0xf7, 0x8, 0x4e, 0xf, 0xf, 0xf, 0x8d, 0x67, 0x10, 0x0, 0xd0,
|
||||||
|
0x8, 0x43, 0x29, 0x29, 0x29, 0xff, 0xef, 0xfb, 0xff, 0xf1, 0x30, 0xff,
|
||||||
|
0xf, 0x45, 0x8f, 0x10, 0x25, 0xed, 0x1f, 0xf, 0xff, 0xff, 0x0, 0x1d,
|
||||||
|
0x3, 0x3, 0x3, 0xf0, 0xf, 0x3, 0x7d, 0x7, 0x2f, 0xfa, 0xf0, 0x0,
|
||||||
|
0x30, 0xf, 0x0, 0xf0, 0xff, 0xf0, 0xff, 0x82, 0x1d, 0x1d, 0x1d, 0xe8,
|
||||||
|
0x7f, 0xff, 0xf0, 0xf, 0x10, 0x2c, 0xa3, 0xff, 0x70, 0x10, 0x7, 0xc3,
|
||||||
|
0xff, 0xbf, 0xff, 0x3f, 0xc0, 0x5f, 0x7, 0x8f, 0xff, 0xf, 0xa, 0x2,
|
||||||
|
0x2, 0x2, 0x1, 0x0, 0xef, 0x13, 0x11, 0x82, 0x21, 0x21, 0x21, 0x11,
|
||||||
|
0x1c, 0x11, 0x11, 0x11, 0x0, 0x36, 0x7, 0x70, 0x17, 0x1, 0x0, 0x1f,
|
||||||
|
0x10, 0x11, 0x4, 0x11, 0xa, 0x37, 0x37, 0x37, 0xfa, 0x1f, 0x3d, 0xff,
|
||||||
|
0x1f, 0x71, 0xff, 0x8b, 0x20, 0x67, 0x95, 0xff, 0x26, 0x87, 0x2a, 0x5f,
|
||||||
|
0x10, 0x6, 0xf, 0x2f, 0x8, 0x0, 0xff, 0x8, 0xc, 0xa1, 0x87, 0xff,
|
||||||
|
0xdf, 0xff, 0x30, 0xcf, 0xe, 0x3b, 0xe4, 0xeb, 0xcf, 0xcc, 0xcc, 0xce,
|
||||||
|
0xcc, 0x0, 0x61, 0x20, 0x20, 0x20, 0xee, 0xee, 0xff, 0xff, 0x74, 0x1,
|
||||||
|
0x0, 0x28, 0x17, 0x70, 0x17, 0x0, 0x0, 0x1f, 0x80, 0xd0, 0x1f, 0xcc,
|
||||||
|
0xed, 0x1, 0xcc, 0xec, 0xaa, 0x1f, 0x1f, 0x1f, 0xf3, 0x27, 0xff, 0x63,
|
||||||
|
0x57, 0x3c, 0x1f, 0x6f, 0xff, 0xfe, 0xff, 0xfe, 0x10, 0x6, 0x7f, 0xff,
|
||||||
|
0x43, 0xef, 0xfc, 0xf3, 0xff, 0x3, 0xa9, 0xff, 0x0, 0x4a, 0x47, 0xf3,
|
||||||
|
0xef, 0x10, 0x6, 0x83, 0xff, 0xe, 0xef, 0x6f, 0xb7, 0xbb, 0x0, 0x37,
|
||||||
|
0x33, 0x6a, 0xa, 0xa, 0xa, 0xff, 0xef, 0xa7, 0x82, 0xf7, 0x10, 0x3c,
|
||||||
|
0xf7, 0x77, 0x77, 0x24, 0xe7, 0x2d, 0x17, 0x70, 0x7, 0x38, 0x0, 0x0,
|
||||||
|
0x77, 0x7, 0x57, 0xf, 0x70, 0x1f, 0xbb, 0xbb, 0x33, 0x30, 0x73, 0x5,
|
||||||
|
0x43, 0x2f, 0xd0, 0x1f, 0xbb, 0x7b, 0x33, 0xf7, 0x6a, 0xb, 0xad, 0x57,
|
||||||
|
0x20, 0x3f, 0x1, 0x3d, 0x4f, 0xfe, 0x2c, 0xf7, 0x4b, 0xda, 0xa4, 0xf7,
|
||||||
|
0xf, 0x73, 0xff, 0xf, 0x26, 0x88, 0x26, 0x5e, 0x20, 0x10, 0x15, 0xac,
|
||||||
|
0xf7, 0xf, 0x70, 0x16, 0xac, 0xe7, 0xf0, 0xf, 0x3, 0x96, 0xe7, 0xf0,
|
||||||
|
0xff, 0xa2, 0x16, 0x31, 0x16, 0x16, 0xf0, 0xf, 0x7, 0x8f, 0xff, 0xef,
|
||||||
|
0xff, 0xef, 0x30, 0x9c, 0x80, 0xff, 0xff, 0x8a, 0xcc, 0x8e, 0x88, 0xb,
|
||||||
|
0x34, 0x34, 0xf, 0x34, 0xcc, 0xcc, 0x88, 0x40, 0x7, 0xff, 0xff, 0x70,
|
||||||
|
0x17, 0x1, 0x0, 0x1f, 0x41, 0x8c, 0x0, 0x50, 0x3f, 0xc9, 0xff, 0xec,
|
||||||
|
0xff, 0x62, 0x7, 0xb1, 0x7, 0xc0, 0x10, 0x1e, 0x73, 0xff, 0x10, 0x1e,
|
||||||
|
0x70, 0x87, 0xbf, 0xff, 0x8f, 0x4f, 0xf, 0xf, 0x0, 0xf, 0x8, 0x8,
|
||||||
|
0x8c, 0x88, 0x62, 0x29, 0x29, 0x43, 0x29, 0xff, 0xff, 0x0, 0x0, 0x88,
|
||||||
|
0x88, 0x5e, 0xff, 0x50, 0x7, 0x80, 0x2, 0x0, 0x1f, 0x80, 0x0, 0xa8,
|
||||||
|
0xf, 0x36, 0x36, 0x36, 0x7, 0xfd, 0xff, 0xf8, 0xff, 0x43, 0x20, 0x67,
|
||||||
|
0x10, 0x27, 0x3, 0xef, 0xb, 0xee, 0x57, 0x1, 0x43, 0x4c, 0x49, 0x4d,
|
||||||
|
0xff, 0xfe, 0x14, 0x3f, 0xa5, 0x2, 0x2, 0x28, 0x80, 0x0, 0x0, 0x1,
|
||||||
|
0x2f, 0xfb, 0x69, 0x8, 0x6d, 0x61, 0x67, 0x10, 0x3f, 0xb8, 0x1, 0x0,
|
||||||
|
0x1, 0x70, 0xa, 0x54, 0x83, 0x44, 0xc9, 0x4, 0x30, 0x5, 0x1f, 0xa2,
|
||||||
|
0xff, 0x11, 0x0, 0x7d, 0x17, 0x17, 0x17, 0xcc, 0xdc, 0x55, 0x55, 0x0,
|
||||||
|
0xc9, 0x3d, 0x3d, 0x3d, 0xff, 0xf0, 0xf, 0xf, 0x60, 0x70, 0x20, 0x7,
|
||||||
|
0x3f, 0xb9, 0x2, 0xf8, 0xf8, 0xf8, 0x1b, 0x1, 0xff, 0x71, 0xff, 0x59,
|
||||||
|
0x14, 0x14, 0x14, 0x85, 0x4f, 0x1, 0xf0, 0xf0, 0xf0, 0xe4, 0x91, 0x91,
|
||||||
|
0x91, 0x10, 0x7, 0xff, 0xdf, 0x0, 0xbf, 0x93, 0x3f, 0x37, 0x18, 0x4,
|
||||||
|
0x4, 0x4, 0xc0, 0x7f, 0xff, 0x2f, 0x16, 0xf, 0x70, 0x8, 0x8, 0x8,
|
||||||
|
0x99, 0x0, 0x99, 0x55, 0x55, 0xed, 0x2c, 0x2c, 0x2c, 0x2a, 0x10, 0xf1,
|
||||||
|
0x11, 0xff, 0x31, 0xe7, 0xf0, 0xff, 0x0, 0x0, 0x40, 0x22, 0x21, 0xc3,
|
||||||
|
0xf, 0xff, 0xf0, 0xf0, 0x8c, 0xd3, 0x3c, 0xd3, 0xd3, 0x10, 0xf, 0xd,
|
||||||
|
0xb7, 0xe3, 0xef, 0xf3, 0xff, 0x83, 0xef, 0x77, 0x7f, 0x20, 0x77, 0x12,
|
||||||
|
0x2f, 0xf7, 0x3, 0x55, 0x50, 0x77, 0xcd, 0x0, 0x7e, 0x7e, 0x7e, 0x9d,
|
||||||
|
0xee, 0x55, 0x11, 0xa5, 0x82, 0x20, 0x7, 0xff, 0x7f, 0x77, 0x77, 0x26,
|
||||||
|
0x22, 0x67, 0xff, 0x20, 0xff, 0xf7, 0x4f, 0xff, 0xcc, 0x8c, 0x11, 0x11,
|
||||||
|
0xed, 0x0, 0x9e, 0x9e, 0x9e, 0xae, 0x51, 0x10, 0xf5, 0xb9, 0x10, 0x3b,
|
||||||
|
0x3b, 0x3b, 0xff, 0xff, 0xfb, 0xff, 0xf3, 0xff, 0x41, 0x62, 0x29, 0xaf,
|
||||||
|
0x7f, 0x93, 0x7f, 0x37, 0xb8, 0x2d, 0xb7, 0x90, 0x20, 0x36, 0x77, 0x6,
|
||||||
|
0x2f, 0xff, 0x77, 0xff, 0x77, 0x77, 0x40, 0x66, 0x22, 0xaf, 0x95, 0xea,
|
||||||
|
0x57, 0x1, 0xb1, 0x5d, 0x0, 0x5d, 0x5d, 0x0, 0x0, 0xdd, 0xdd, 0xe1,
|
||||||
|
0x9f, 0x35, 0x9f, 0x9f, 0x40, 0x17, 0x29, 0xdf, 0xf7, 0x20, 0x5f, 0x22,
|
||||||
|
0x3d, 0xe4, 0x5c, 0x40, 0x50, 0x17, 0xaa, 0xf0, 0x5f, 0x20, 0x40, 0x35,
|
||||||
|
0x2b, 0x7b, 0xff, 0x10, 0x73, 0xff, 0x82, 0x2a, 0xf, 0xc3, 0xd1, 0x1f,
|
||||||
|
0x13, 0x0, 0x98, 0x2a, 0x2a, 0x2a, 0x77, 0x77, 0x77, 0x77, 0x60, 0x6e,
|
||||||
|
0x2f, 0xff, 0x70, 0x3f, 0x33, 0x73, 0xdd, 0xdd, 0x81, 0x0, 0x8f, 0x8f,
|
||||||
|
0x8f, 0x4a, 0xd5, 0x50, 0x57, 0xad, 0x8, 0x3c, 0x3c, 0x3c, 0x7f, 0x20,
|
||||||
|
0xd7, 0x2a, 0x1, 0x1, 0x41, 0x1, 0x70, 0x67, 0x9d, 0xea, 0x57, 0x11,
|
||||||
|
0xa9, 0x20, 0xdf, 0xe0, 0x70, 0x67, 0x70, 0x77, 0x7f, 0xff, 0x8e, 0x54,
|
||||||
|
0x10, 0xf7, 0xd5, 0x80, 0x2a, 0x67, 0x55, 0xa8, 0x7f, 0x15, 0xb5, 0x2b,
|
||||||
|
0x2b, 0x2e, 0x2b, 0xf7, 0x20, 0x60, 0x2e, 0x30, 0x3f, 0x21, 0x7, 0x30,
|
||||||
|
0xa7, 0x35, 0x8, 0x22, 0x55, 0x11, 0x85, 0x20, 0x5f, 0xaa, 0x1b, 0x11,
|
||||||
|
0x4, 0x51, 0x8d, 0x8e, 0x8e, 0x8e, 0xff, 0xff, 0x39, 0x7b, 0x0, 0x73,
|
||||||
|
0xf3, 0xcc, 0x61, 0x61, 0x61, 0xff, 0x7f, 0x38, 0xff, 0x7f, 0x31, 0x4f,
|
||||||
|
0x7f, 0xff, 0x70, 0x47, 0x93, 0x9b, 0x37, 0x6, 0x33, 0xd8, 0x38, 0x38,
|
||||||
|
0x38, 0x70, 0x47, 0x21, 0x16, 0x77, 0x41, 0x2e, 0x23, 0xc7, 0x7f, 0xf7,
|
||||||
|
0x77, 0xff, 0x3, 0x20, 0xa7, 0x10, 0x0, 0x0, 0x5d, 0x50, 0xff, 0x59,
|
||||||
|
0x11, 0x75, 0xad, 0xc0, 0x31, 0x7f, 0xe3, 0xef, 0x39, 0xff, 0x73, 0xf7,
|
||||||
|
0xf0, 0x51, 0x30, 0x51, 0x51, 0x73, 0xff, 0xb3, 0xef, 0x6c, 0xd4, 0xd4,
|
||||||
|
0xd4, 0x80, 0x73, 0xff, 0x23, 0x10, 0xc4, 0xfd, 0xa1, 0xcf, 0xcf, 0x57,
|
||||||
|
0xcf, 0x31, 0x1f, 0x96, 0x61, 0x7f, 0xa6, 0x4b, 0x2f, 0x51, 0x77, 0x0,
|
||||||
|
0x70, 0xff, 0xf7, 0x71, 0x77, 0x71, 0xc7, 0x71, 0x77, 0x71, 0x67, 0xc1,
|
||||||
|
0x61, 0x77, 0x71, 0x67, 0x81, 0x3f, 0x80, 0x61, 0xe7, 0xe, 0x15, 0x50,
|
||||||
|
0x77, 0xb5, 0x28, 0x28, 0x5a, 0x28, 0x21, 0xe7, 0x11, 0x31, 0xe7, 0x20,
|
||||||
|
0xd7, 0xf7, 0xb1, 0x5f, 0x1d, 0x0, 0x3c, 0x31, 0xf1, 0xb0, 0xa2, 0xa2,
|
||||||
|
0xa2, 0xb7, 0x83, 0x22, 0x1f, 0x78, 0x15, 0x15, 0x15, 0x7f, 0x22, 0x1f,
|
||||||
|
0x30, 0xf7, 0x8d, 0x82, 0x1f, 0xaa, 0x57, 0x11, 0x30, 0xf7, 0x22, 0x1f,
|
||||||
|
0x5d, 0x42, 0x1f, 0xc2, 0x61, 0x77, 0x7f, 0x87, 0x22, 0x53, 0x11, 0x55,
|
||||||
|
0x31, 0x7f, 0xbd, 0x1, 0x39, 0x33, 0x73, 0xd8, 0x83, 0x83, 0x83, 0x31,
|
||||||
|
0x67, 0xc0, 0x42, 0x5f, 0x62, 0x7, 0x9f, 0xe9, 0x97, 0x1f, 0x30, 0x5,
|
||||||
|
0x1, 0x5, 0x5, 0xfb, 0xff, 0x1d, 0x11, 0x85, 0x21, 0x9f, 0x60, 0x7f,
|
||||||
|
0x22, 0x38, 0xbf, 0xbf, 0x9d, 0x3c, 0x31, 0x71, 0xd4, 0x0, 0xa3, 0xa3,
|
||||||
|
0xa3, 0xf7, 0x6f, 0xf7, 0x1f, 0x22, 0xda, 0x32, 0x17, 0x22, 0xf7, 0x7,
|
||||||
|
0x32, 0x1f, 0x20, 0xa7, 0x66, 0x2f, 0xfc, 0xe1, 0x0, 0xdd, 0x1f, 0x11,
|
||||||
|
0xb4, 0x6b, 0x6b, 0x6b, 0xee, 0x1, 0x50, 0x11, 0xf1, 0xb5, 0x6c, 0x6c,
|
||||||
|
0x6c, 0xff, 0xff, 0x40, 0x79, 0x32, 0xdf, 0x16, 0x16, 0x16, 0xff, 0x83,
|
||||||
|
0xff, 0x31, 0x1f, 0x14, 0x22, 0xdf, 0xf0, 0x3f, 0xa5, 0xaa, 0x1d, 0x40,
|
||||||
|
0xbf, 0x0, 0x1d, 0x1e, 0x11, 0xf1, 0xd0, 0xb4, 0xb4, 0xb4, 0x83, 0xff,
|
||||||
|
0xff, 0x99, 0x99, 0x99, 0x99, 0x23, 0xa0, 0x7, 0x5, 0x0, 0x1f, 0xa0,
|
||||||
|
0x97, 0xef, 0xbf, 0x0, 0x33, 0xff, 0x7f, 0xb7, 0x0, 0x88, 0x13, 0x10,
|
||||||
|
0xf5, 0xf5, 0xf5, 0x21, 0xf9, 0xbb, 0x1d, 0xf9, 0xf9, 0x2, 0xf9, 0xcf,
|
||||||
|
0xed, 0xe0, 0xec, 0x94, 0x27, 0xff, 0xef, 0x10, 0xfe, 0xee, 0xee, 0x33,
|
||||||
|
0xf7, 0x3b, 0xf7, 0x88, 0x0, 0x0, 0x86, 0xe2, 0xe2, 0xe2, 0x0, 0x1f,
|
||||||
|
0x1f, 0xf0, 0x0, 0xe, 0xfd, 0xfd, 0xfd, 0x3e, 0xf0, 0xe, 0xe, 0x41,
|
||||||
|
0x8c, 0x23, 0xbf, 0xff, 0x1f, 0x0, 0x10, 0x7, 0x28, 0x2b, 0x0, 0xfe,
|
||||||
|
0xbf, 0xf0, 0x3f, 0x68, 0x40, 0x40, 0x40, 0x0, 0xc3, 0x1, 0x17, 0x13,
|
||||||
|
0xb4, 0x6e, 0x6e, 0x6e, 0x4, 0xfe, 0xe3, 0xf0, 0xf, 0x8c, 0x21, 0x97,
|
||||||
|
0xe1, 0x0, 0x0, 0xf, 0x8f, 0x80, 0xdf, 0xdf, 0xdf, 0x0, 0xb7, 0x10,
|
||||||
|
0x1, 0x80, 0x26, 0x2f, 0xfc, 0x57, 0xbb, 0x80, 0xaa, 0x0, 0x35, 0xe7,
|
||||||
|
0xe7, 0xe7, 0x0, 0xe3, 0xf0, 0xe0, 0x0, 0x10, 0xfa, 0xfa, 0xfa, 0xf1,
|
||||||
|
0xff, 0xf0, 0xff, 0x40, 0x93, 0x21, 0x47, 0xb9, 0xf7, 0x8c, 0x0, 0x35,
|
||||||
|
0xea, 0x1, 0xea, 0xea, 0x0, 0xde, 0xff, 0x10, 0x6, 0x2f, 0xfc, 0x0,
|
||||||
|
0xde, 0x3c, 0xce, 0xe, 0x54, 0x6, 0x6, 0x6, 0x0, 0x32, 0x33, 0xe,
|
||||||
|
0x0, 0x13, 0xf7, 0xf7, 0xf7, 0x5, 0x1c, 0x79, 0x71, 0xf3, 0xd0, 0x22,
|
||||||
|
0x2f, 0xff, 0x26, 0xef, 0x0, 0x68, 0x4e, 0x4e, 0x4e, 0x1f, 0x3c, 0x70,
|
||||||
|
0xf0, 0xc, 0x54, 0xe6, 0xe6, 0xe6, 0x70, 0xf, 0x78, 0xc7, 0x80, 0xb3,
|
||||||
|
0x19, 0x88, 0x88, 0x32, 0x20, 0x9f, 0x20, 0x97, 0x0, 0x6, 0x28, 0xc3,
|
||||||
|
0x4, 0xe1, 0xc1, 0xe0, 0xee, 0xb4, 0x22, 0x67, 0xcc, 0x4c, 0x10, 0xbb,
|
||||||
|
0xbb, 0xd, 0x20, 0x6f, 0x7b, 0x0, 0x8, 0xff, 0x0, 0x22, 0xf1, 0xf1,
|
||||||
|
0xf1, 0xee, 0x1e, 0xfe, 0xe, 0x0, 0x8f, 0x1e, 0x1e, 0x1e, 0x3e, 0x0,
|
||||||
|
0xf, 0xef, 0x0, 0x80, 0xaf, 0xaf, 0xaf, 0x0, 0x7e, 0x10, 0x11, 0x80,
|
||||||
|
0x30, 0x9f, 0x45, 0x80, 0x91, 0x88, 0x35, 0xfc, 0xfc, 0x2, 0xfc, 0xcc,
|
||||||
|
0xe0, 0x0, 0xf0, 0x6f, 0x20, 0x77, 0xc1, 0x8, 0xef, 0xe0, 0xee, 0xd0,
|
||||||
|
0x20, 0xd7, 0x88, 0x44, 0xbb, 0x0, 0x19, 0x15, 0xfb, 0xfb, 0xfb, 0x0,
|
||||||
|
0x0, 0x8, 0x21, 0xdd, 0x22, 0x35, 0x3f, 0x10, 0xee, 0xe, 0x58, 0x27,
|
||||||
|
0x87, 0x4, 0xce, 0xcc, 0xf, 0x0, 0x4b, 0x20, 0x9f, 0x1e, 0x7c, 0x0,
|
||||||
|
0x70, 0xf0, 0x70, 0xe5, 0xe5, 0xe5, 0xb7, 0xc3, 0x10, 0x37, 0x1f, 0x34,
|
||||||
|
0x20, 0xb7, 0x10, 0xff, 0xff, 0xf0, 0x41, 0x10, 0x29, 0x57, 0xc1, 0xe1,
|
||||||
|
0x1f, 0x7, 0x70, 0x24, 0x3f, 0x0, 0xe9, 0xfe, 0x3, 0x0, 0x86, 0xdb,
|
||||||
|
0xdb, 0xdb, 0x6, 0x4c, 0xa0, 0x0, 0xea, 0x79, 0x20, 0xf7, 0x79, 0x77,
|
||||||
|
0xbd, 0x0, 0xb8, 0x70, 0x33, 0x78, 0xc5, 0xc5, 0xc5, 0xbb, 0x8, 0x5b,
|
||||||
|
0xaa, 0xaa, 0x51, 0x20, 0x3f, 0x39, 0xff, 0xc, 0x0, 0x0, 0x33, 0xf6,
|
||||||
|
0xf6, 0xf6, 0x11, 0x31, 0x55, 0x0, 0x45, 0x3d, 0x19, 0x19, 0x19, 0xcb,
|
||||||
|
0x0, 0x7, 0x0, 0xff, 0x80, 0xbf, 0xbf, 0xbf, 0xce, 0x3c, 0x10, 0x0,
|
||||||
|
0x71, 0x74, 0xe9, 0xe9, 0xe9, 0x8, 0xff, 0x73, 0x4, 0xf, 0x50, 0x18,
|
||||||
|
0x18, 0x18, 0x21, 0x77, 0xf0, 0xa, 0xc2, 0x31, 0xaf, 0x29, 0xc8, 0xd0,
|
||||||
|
0x48, 0x48, 0x48, 0x77, 0xef, 0xbf, 0x1, 0x93, 0x80, 0xc8, 0x3a, 0xf4,
|
||||||
|
0xf4, 0xf4, 0xf4, 0xf, 0x6, 0xf5, 0x5f, 0xa8, 0x8a, 0x31, 0x20, 0x9f,
|
||||||
|
0x2f, 0x3f, 0xc, 0x41, 0xc4, 0x21, 0x8f, 0xfe, 0xef, 0xfe, 0xef, 0x26,
|
||||||
|
0x2f, 0xff, 0x4, 0x1e, 0x3c, 0x8f, 0xe, 0x90, 0x25, 0x1f, 0x0, 0x10,
|
||||||
|
0x10, 0x0, 0x70, 0x67, 0x21, 0x17, 0x3c, 0xfd, 0xf1, 0xf1, 0x8, 0xa4,
|
||||||
|
0x70, 0x70, 0x70, 0x7a, 0x17, 0x3c, 0xfc, 0x70, 0x4, 0xf1, 0x88, 0xb2,
|
||||||
|
0xb2, 0xb2, 0x91, 0x67, 0xf, 0xb0, 0xe0, 0x46, 0x3f, 0x61, 0x87, 0x71,
|
||||||
|
0x67, 0xdc, 0x1, 0x11, 0x11, 0x2a, 0x82, 0x2a, 0x33, 0x80, 0x0, 0x89,
|
||||||
|
0x88, 0x3a, 0x2f, 0xfc, 0x1f, 0x0, 0xe8, 0x80, 0xee, 0xb9, 0xc6, 0xc6,
|
||||||
|
0xc6, 0xd9, 0x0, 0xee, 0xea, 0xee, 0xad, 0x60, 0x60, 0x60, 0x87, 0x8,
|
||||||
|
0xbe, 0x88, 0x30, 0x6c, 0x20, 0xe7, 0x87, 0xfe, 0x1f, 0x0, 0x0, 0xd1,
|
||||||
|
0xad, 0xad, 0xad, 0xff, 0xc6, 0xee, 0x27, 0xf, 0x90, 0x23, 0xf7, 0x37,
|
||||||
|
0x33, 0x21, 0x3f, 0x20, 0xd7, 0x2f, 0x7f, 0x0, 0xe8, 0x37, 0xfe, 0xfe,
|
||||||
|
0xfe, 0x15, 0x19, 0xa0, 0x20, 0xaa, 0x79, 0x24, 0xbf, 0x0, 0x38, 0xff,
|
||||||
|
0x70, 0x14, 0x84, 0x21, 0x6f, 0x12, 0x11, 0x54, 0x55, 0x31, 0x7, 0x1b,
|
||||||
|
0xf7, 0x10, 0x8e, 0x0, 0x39, 0x22, 0x1f, 0xef, 0x9e, 0x0, 0x30, 0x41,
|
||||||
|
0x32, 0x22, 0xa7, 0x8b, 0x83, 0x37, 0x7, 0xcc, 0x44, 0x1f, 0x20, 0xee,
|
||||||
|
0xdf, 0x40, 0xa7, 0x16, 0x71, 0xcf, 0xb0, 0x52, 0x1, 0x52, 0x52, 0x3c,
|
||||||
|
0x0, 0xe, 0x8, 0xa4, 0x21, 0x2f, 0x0, 0x3c, 0xfc, 0xf0, 0xf1, 0x8c,
|
||||||
|
0xc2, 0xc2, 0xc2, 0x0, 0x3c, 0x78, 0x8f, 0xe, 0xb0, 0x4d, 0x4d, 0x4d,
|
||||||
|
0x4, 0xef, 0x3e, 0x0, 0x70, 0x70, 0x21, 0x3f, 0x7a, 0xef, 0x0, 0xf0,
|
||||||
|
0xff, 0x2f, 0x9, 0x9, 0x9, 0x33, 0x52, 0x10, 0x0, 0xf0, 0x67, 0x22,
|
||||||
|
0x6f, 0x3c, 0xbb, 0xf0, 0x33, 0x0, 0xa4, 0x50, 0x50, 0x50, 0x3e, 0xf0,
|
||||||
|
0xf, 0xe, 0x41, 0x90, 0x20, 0x27, 0xff, 0x3f, 0x0, 0x70, 0xa, 0x21,
|
||||||
|
0x7f, 0x4, 0xc3, 0xf3, 0x1f, 0x7, 0xa8, 0x22, 0xc7, 0xff, 0xef, 0x82,
|
||||||
|
0x52, 0x47, 0x7c, 0xff, 0xf0, 0xf7, 0x80, 0x20, 0x27, 0x9f, 0x8, 0xe3,
|
||||||
|
0x3f, 0xf, 0x30, 0x21, 0x7f, 0x3c, 0x78, 0x70, 0x20, 0xf3, 0xb0, 0x21,
|
||||||
|
0x17, 0xc3, 0xe1, 0xf, 0xf, 0x90, 0x84, 0x2b, 0x4f, 0x1, 0x0, 0x3,
|
||||||
|
0xff, 0x32, 0x17, 0xc3, 0xe1, 0x11, 0xe0, 0xf8, 0x90, 0x31, 0x2f, 0xa3,
|
||||||
|
0x0, 0xe0, 0x31, 0xc7, 0x6, 0xc3, 0xfe, 0xf8, 0xfe, 0xac, 0x20, 0x5f,
|
||||||
|
0x9, 0x27, 0xff, 0xff, 0xec, 0xbb, 0xef, 0xf0, 0xf, 0x81, 0xef, 0xf,
|
||||||
|
0x53, 0x57, 0x0, 0x0, 0xf, 0x0, 0xf0, 0x2, 0xf, 0x98, 0x84, 0x84,
|
||||||
|
0x84, 0xff, 0x2a, 0x91, 0x42, 0x0, 0xe3, 0xe3, 0xe3, 0xff, 0x30, 0xf0,
|
||||||
|
0x8f, 0x8c, 0x0, 0x82, 0x82, 0x82, 0x78, 0xf7, 0xe, 0x0, 0x8c, 0x0,
|
||||||
|
0xbe, 0xbe, 0xbe, 0x0, 0x0, 0xfe, 0xf0, 0x1c, 0xae, 0x24, 0x57, 0xf0,
|
||||||
|
0x23, 0xef, 0x42, 0x28, 0x17, 0x41, 0xdf, 0x23, 0x67, 0x38, 0x0, 0xbb,
|
||||||
|
0x73, 0x77, 0xd6, 0x44, 0x44, 0x44, 0xff, 0xc, 0x0, 0xff, 0xf, 0x1c,
|
||||||
|
0x2a, 0xd7, 0x2a, 0xd1, 0x0, 0xb3, 0x0, 0xe8, 0xe8, 0xe8, 0x9b, 0xcb,
|
||||||
|
0x37, 0x17, 0xd4, 0x10, 0x3a, 0x3a, 0x3a, 0x71, 0x57, 0x80, 0xf7, 0xf0,
|
||||||
|
0xf0, 0x68, 0x30, 0x38, 0xa7, 0x2a, 0xef, 0xc8, 0x23, 0xff, 0x87, 0x87,
|
||||||
|
0xf0, 0x38, 0xf0, 0x90, 0x4a, 0xd7, 0xe0, 0x97, 0x2c, 0xb7, 0x8c, 0x80,
|
||||||
|
0x80, 0x44, 0x80, 0x0, 0x10, 0xf, 0xff, 0xf, 0x93, 0x4d, 0x5e, 0xf,
|
||||||
|
0xff, 0x6e, 0xe0, 0x28, 0x6f, 0x0, 0x0, 0xf, 0xf0, 0x23, 0xef, 0x20,
|
||||||
|
0x77, 0x23, 0xb6, 0xff, 0xd, 0x60, 0x30, 0x30, 0x30, 0x0, 0x0, 0xf,
|
||||||
|
0x24, 0x78, 0xc, 0x50, 0x9f, 0x3e, 0xff, 0xa2, 0x30, 0xdf, 0xe0, 0xf,
|
||||||
|
0x2f, 0xf8, 0x43, 0xef, 0x21, 0x6, 0xf, 0x60, 0xd4, 0x3d, 0x57, 0x63,
|
||||||
|
0xff, 0x30, 0x7c, 0x8e, 0xe, 0x70, 0x14, 0x1a, 0x1a, 0x1a, 0x2f, 0xf9,
|
||||||
|
0x7f, 0x3d, 0x67, 0x5f, 0x99, 0x1c, 0x0, 0x88, 0x71, 0x34, 0xe7, 0x34,
|
||||||
|
0x87, 0x2d, 0x77, 0x8f, 0x70, 0x10, 0x0, 0xf7, 0xf9, 0x26, 0x67, 0xcc,
|
||||||
|
0xcc, 0xaa, 0xaa, 0x60, 0x31, 0x2d, 0x87, 0x70, 0x7, 0xaa, 0xaa, 0x77,
|
||||||
|
0x77, 0xb2, 0x14, 0x20, 0x20, 0x20, 0x30, 0x7, 0x96, 0x20, 0x7, 0x77,
|
||||||
|
0xa1, 0x0, 0x88, 0xf8, 0x95, 0xd6, 0xd6, 0xd6, 0x9, 0xff, 0x10, 0xec,
|
||||||
|
0xf, 0x90, 0x27, 0x57, 0xbb, 0x72, 0x66, 0xf6, 0xe, 0x11, 0x2, 0x2,
|
||||||
|
0x2, 0x0, 0x37, 0xff, 0x3b, 0xef, 0x8b, 0xff, 0x38, 0x2, 0x70, 0x70,
|
||||||
|
0x78, 0xd5, 0xd5, 0xd5, 0x7f, 0xff, 0x87, 0x8, 0xf7, 0xf, 0xf, 0x6c,
|
||||||
|
0x20, 0x8f, 0xff, 0xdf, 0x77, 0x24, 0x57, 0xd, 0x2c, 0x47, 0x83, 0xc3,
|
||||||
|
0x73, 0x47, 0xb8, 0xbb, 0xb9, 0x3e, 0x7, 0x87, 0x21, 0x67, 0x3c, 0x2f,
|
||||||
|
0x2f, 0xf9, 0x80, 0x6, 0x2e, 0x17, 0x43, 0xcf, 0x21, 0x77, 0x88, 0x90,
|
||||||
|
0x90, 0x90, 0x1, 0x1, 0xff, 0x2e, 0x2f, 0x70, 0x88, 0x31, 0x77, 0x8a,
|
||||||
|
0x6f, 0xd0, 0xf, 0x7f, 0x7f, 0xf, 0xf, 0x0, 0x10, 0x7, 0x7, 0x7,
|
||||||
|
0xf8, 0x0, 0xd, 0xff, 0x41, 0x2, 0x25, 0x7f, 0xff, 0x7c, 0xff, 0xf,
|
||||||
|
0x10, 0x2a, 0x17, 0x50, 0x78, 0x22, 0x50, 0x82, 0x25, 0x17, 0x33, 0x91,
|
||||||
|
0x0, 0xc8, 0x65, 0x37, 0x24, 0xf7, 0x28, 0x79, 0xaa, 0x3d, 0x3a, 0x8f,
|
||||||
|
0x3c, 0x53, 0xff, 0x6, 0x2b, 0x62, 0x60, 0x66, 0x59, 0x2c, 0xef, 0x81,
|
||||||
|
0x1f, 0xac, 0xa1, 0x91, 0x1f, 0x92, 0x21, 0x1f, 0xff, 0x6f, 0x66, 0x66,
|
||||||
|
0x30, 0xc7, 0x0, 0xcb, 0xe9, 0xec, 0xfc, 0xac, 0x71, 0x71, 0x71, 0x6,
|
||||||
|
0x9f, 0x3c, 0x8f, 0x8f, 0x54, 0x2d, 0xf, 0x3a, 0x47, 0xa2, 0x84, 0x3f,
|
||||||
|
0xff, 0x5c, 0xff, 0xf, 0x8b, 0x25, 0xe7, 0x8, 0x0, 0x10, 0x3f, 0x33,
|
||||||
|
0xb, 0x2f, 0xfc, 0x3c, 0x9b, 0x70, 0x33, 0x9, 0xb4, 0xb6, 0xb6, 0xb6,
|
||||||
|
0x24, 0x27, 0xff, 0xa0, 0x25, 0x57, 0x4, 0x10, 0xdd, 0xff, 0x11, 0x2,
|
||||||
|
0x2f, 0xfc, 0xc1, 0x7f, 0x0, 0x3, 0x0, 0xac, 0xce, 0xce, 0xce, 0xc4,
|
||||||
|
0xc4, 0x10, 0xbb, 0x13, 0x3, 0x2f, 0xfc, 0xcc, 0xa0, 0x0, 0xf0, 0x41,
|
||||||
|
0x57, 0x25, 0x47, 0xea, 0xf0, 0xee, 0xa, 0x95, 0x20, 0x2f, 0x4, 0xbf,
|
||||||
|
0xb8, 0x30, 0x71, 0x34, 0x22, 0x97, 0x7, 0x33, 0x14, 0x5f, 0x0, 0xd5,
|
||||||
|
0x32, 0xcf, 0x10, 0x51, 0xbf, 0x1, 0x0, 0x22, 0xff, 0xfe, 0x47, 0x3f,
|
||||||
|
0x87, 0x80, 0xf0, 0x30, 0x1f, 0xf5, 0xa0, 0x26, 0xcf, 0x47, 0x2a, 0xf7,
|
||||||
|
0x83, 0xc1, 0xe0, 0xf8, 0xb4, 0x12, 0xc3, 0xc3, 0xc3, 0x7, 0xfb, 0xff,
|
||||||
|
0xff, 0x7f, 0x57, 0x17, 0xdf, 0x8, 0x9d, 0xcf, 0xcc, 0x98, 0x2f, 0xef,
|
||||||
|
0x88, 0x88, 0xaa, 0x36, 0xaa, 0xe5, 0x2f, 0xe7, 0x31, 0xb0, 0xe4, 0x41,
|
||||||
|
0xe7, 0x5f, 0xff, 0xc9, 0xe, 0xfc, 0xe8, 0xff, 0xc9, 0x31, 0x5f, 0x0,
|
||||||
|
0x63, 0xff, 0x30, 0x3f, 0xb8, 0x84, 0xa0, 0x3f, 0xff, 0xe0, 0xf0, 0xe0,
|
||||||
|
0x31, 0xff, 0x3c, 0x39, 0x10, 0x8e, 0x8c, 0xb8, 0x2c, 0xf, 0xad, 0xff,
|
||||||
|
0xa8, 0xff, 0x0, 0xc3, 0x24, 0x24, 0x24, 0xff, 0xfe, 0xff, 0xee, 0x41,
|
||||||
|
0xe, 0x2b, 0x77, 0x8, 0x0, 0x88, 0xff, 0x62, 0x27, 0x77, 0x4, 0x10,
|
||||||
|
0xff, 0x11, 0x11, 0x4a, 0x27, 0xcf, 0xae, 0xd9, 0x10, 0xaf, 0x8a, 0xa9,
|
||||||
|
0x26, 0x67, 0xdb, 0x55, 0xaa, 0xaa, 0x41, 0x6d, 0x25, 0xa7, 0x1, 0x0,
|
||||||
|
0x11, 0x1, 0x46, 0x27, 0x97, 0x42, 0x37, 0x26, 0xbf, 0x78, 0xec, 0xec,
|
||||||
|
0xec, 0x20, 0x16, 0xaa, 0x0, 0x8d, 0xb1, 0xb1, 0xb1, 0xd9, 0xed, 0xcc,
|
||||||
|
0xec, 0x41, 0xd4, 0x23, 0x8f, 0xcb, 0xfd, 0xe8, 0xfc, 0xa8, 0x45, 0x47,
|
||||||
|
0xbf, 0x57, 0xff, 0xfe, 0x20, 0x58, 0x3f, 0xff, 0x70, 0xc7, 0xf3, 0xff,
|
||||||
|
0x70, 0xd7, 0x80, 0x87, 0xa, 0xcf, 0xff, 0xf, 0x87, 0x53, 0xff, 0xef,
|
||||||
|
0x43, 0xff, 0xdf, 0x20, 0xff, 0xcf, 0x3f, 0xff, 0xcb, 0xdd, 0xab, 0xaa,
|
||||||
|
0xa5, 0x86, 0x36, 0xef, 0xff, 0xdc, 0xf0, 0xa, 0x27, 0xf7, 0x2f, 0x2f,
|
||||||
|
0xff, 0x40, 0x93, 0x27, 0x5f, 0x99, 0xa9, 0xaa, 0xea, 0xa5, 0x81, 0x1,
|
||||||
|
0x81, 0x81, 0xf9, 0xff, 0xf8, 0xff, 0x63, 0x5a, 0x77, 0xa1, 0x73, 0xff,
|
||||||
|
0xdb, 0x43, 0xff, 0x9f, 0xff, 0x8f, 0x87, 0x29, 0xff, 0x4, 0xba, 0xbb,
|
||||||
|
0xae, 0xaa, 0x85, 0x2d, 0x37, 0x80, 0xff, 0x40, 0xfd, 0x47, 0xef, 0xf0,
|
||||||
|
0x58, 0xff, 0x8e, 0xc9, 0x31, 0x3, 0x31, 0x31, 0xdd, 0xfa, 0xaa, 0xfa,
|
||||||
|
0x30, 0x57, 0x30, 0xa7, 0x82, 0x3c, 0xcf, 0x38, 0x7b, 0x8c, 0x88, 0xc8,
|
||||||
|
0x52, 0x37, 0x11, 0x40, 0x26, 0x2d, 0x7f, 0xde, 0xdc, 0xef, 0xce, 0x58,
|
||||||
|
0x13, 0x0, 0x13, 0x13, 0xba, 0x55, 0xae, 0x8a, 0x8d, 0xa1, 0x1, 0xa1,
|
||||||
|
0xa1, 0x32, 0x33, 0xdd, 0x1d, 0x43, 0x44, 0x47, 0x10, 0x11, 0x11, 0xca,
|
||||||
|
0x24, 0xff, 0x33, 0x33, 0xaa, 0xaa, 0x42, 0x59, 0x2f, 0xb7, 0x55, 0xab,
|
||||||
|
0xa8, 0xaa, 0x30, 0x1f, 0x1e, 0x8, 0x3e, 0x11, 0xf0, 0x70, 0x23, 0xc7,
|
||||||
|
0x8f, 0x78, 0x8f, 0x20, 0xf, 0x74, 0x23, 0x47, 0x9d, 0xec, 0xa8, 0xfe,
|
||||||
|
0xc5, 0xc8, 0x29, 0x6f, 0x91, 0x5f, 0xab, 0x33, 0x3b, 0x1c, 0x0, 0x10,
|
||||||
|
0x10, 0x22, 0x11, 0x2a, 0x2f, 0xec, 0xae, 0xdd, 0xaf, 0x40, 0xd7, 0xaa,
|
||||||
|
0xc1, 0x21, 0x5f, 0x31, 0x47, 0xff, 0x0, 0x11, 0x11, 0x56, 0x25, 0x57,
|
||||||
|
0xb4, 0x21, 0x67, 0xdc, 0x38, 0xbf, 0xa0, 0x5f, 0xea, 0x30, 0x7f, 0x7f,
|
||||||
|
0xa1, 0x0, 0x0, 0xf8, 0x59, 0xeb, 0xeb, 0xeb, 0x85, 0xff, 0x10, 0xe8,
|
||||||
|
0xff, 0xcd, 0x20, 0xbf, 0xcd, 0xed, 0xec, 0xfe, 0x68, 0xcc, 0x20, 0xc7,
|
||||||
|
0x0, 0x35, 0xff, 0x23, 0x2e, 0x2b, 0xde, 0x9d, 0xce, 0xfd, 0xc2, 0x3f,
|
||||||
|
0xf3, 0xff, 0x81, 0xff, 0x7f, 0xff, 0x21, 0x6f, 0x3d, 0xb7, 0xbc, 0x32,
|
||||||
|
0x1f, 0x10, 0x5c, 0x5c, 0x5c, 0x7f, 0xff, 0xef, 0xde, 0xef, 0xce, 0x66,
|
||||||
|
0x16, 0x2d, 0x97, 0x29, 0x97, 0x10, 0x26, 0x32, 0x1f, 0x20, 0xa7, 0x5a,
|
||||||
|
0x82, 0x29, 0xef, 0x9e, 0xd9, 0xae, 0x8a, 0xb1, 0x25, 0xc7, 0x3b, 0x82,
|
||||||
|
0x61, 0x7, 0xee, 0xee, 0x11, 0x11, 0x83, 0x29, 0x3f, 0x0, 0x8, 0x1e,
|
||||||
|
0x11, 0xf0, 0xac, 0x22, 0x1f, 0xd5, 0xaa, 0xaa, 0x25, 0xea, 0x8d, 0x27,
|
||||||
|
0xdf, 0xdd, 0xea, 0x51, 0x67, 0x1e, 0x2a, 0x47, 0x44, 0x80, 0x34, 0xf,
|
||||||
|
0xef, 0xff, 0xef, 0x3e, 0x67, 0xed, 0xff, 0x1d, 0xec, 0xff, 0x62, 0xaf,
|
||||||
|
0xff, 0x78, 0x7, 0x2f, 0xf9, 0xfd, 0x3e, 0xff, 0x6, 0xdf, 0x9c, 0xcf,
|
||||||
|
0xce, 0x58, 0x2e, 0x97, 0x72, 0xff, 0x97, 0x8, 0xc3, 0xc0, 0xe8, 0x94,
|
||||||
|
0x25, 0x27, 0xfe, 0x70, 0xff, 0x0, 0xe, 0xb3, 0x35, 0x35, 0x35, 0x8d,
|
||||||
|
0xfe, 0xa8, 0x61, 0xff, 0x41, 0x5f, 0x60, 0xb7, 0x78, 0x0, 0xe, 0x1c,
|
||||||
|
0x3a, 0xc7, 0x5, 0xcc, 0xa4, 0x0, 0xf0, 0x2f, 0x28, 0xa7, 0xda, 0x62,
|
||||||
|
0x37, 0x83, 0x72, 0x27, 0xc3, 0xfd, 0xf8, 0xfc, 0xa4, 0x28, 0xe7, 0x7f,
|
||||||
|
0xff, 0x1e, 0xfd, 0xff, 0xfc, 0x4e, 0x9f, 0x7, 0x8f, 0xff, 0x7, 0x64,
|
||||||
|
0x87, 0x37, 0xdf, 0x2, 0xe7, 0x2f, 0xff, 0xf0, 0xf, 0x2c, 0xa0, 0xff,
|
||||||
|
0x2, 0xad, 0xdf, 0xf0, 0xf, 0xb, 0x81, 0x47, 0xbb, 0x2f, 0xa8, 0x3,
|
||||||
|
0x0, 0x20, 0xf, 0x3f, 0x92, 0x31, 0x17, 0xf, 0x29, 0x8, 0x0, 0x30,
|
||||||
|
0xf, 0xfe, 0x3, 0x70, 0x5f, 0x71, 0x67, 0xf0, 0xf, 0x7, 0xa, 0x9f,
|
||||||
|
0x29, 0x9f, 0xc2, 0x1f, 0xe0, 0xf, 0x0, 0xbc, 0x29, 0x9f, 0x6, 0xb2,
|
||||||
|
0x1f, 0xe0, 0xf, 0x10, 0x9, 0x70, 0x7, 0x10, 0x66, 0x73, 0xff, 0x43,
|
||||||
|
0x4c, 0x4, 0x49, 0x4d, 0xff, 0xfe, 0x14, 0x3a, 0x65, 0x2, 0x28, 0x8,
|
||||||
|
0x20, 0x0, 0x0, 0x1, 0x2f, 0xe3, 0x69, 0x6d, 0x61, 0x21, 0x67, 0x10,
|
||||||
|
0x2f, 0xeb, 0xe1, 0x0, 0x28, 0x0, 0x3d, 0x9b, 0x72, 0x0, 0x20, 0x17,
|
||||||
|
0x4, 0x90, 0x1, 0x2e, 0x47, 0xf8, 0x80, 0x10, 0x5b, 0x80, 0x7, 0x80,
|
||||||
|
0x0, 0x88, 0x77, 0x77, 0x4a, 0xf8, 0x88, 0x9, 0x84, 0x85, 0x20, 0x7,
|
||||||
|
0x29, 0xff, 0x8b, 0x4, 0xf6, 0xdf, 0x88, 0x30, 0x17, 0x0, 0xfe, 0x8b,
|
||||||
|
0x3, 0x4, 0x0, 0xdf, 0xdd, 0x81, 0x11, 0xff, 0x9d, 0x25, 0x0, 0x16,
|
||||||
|
0xff, 0xdd, 0xdd, 0xa1, 0x40, 0x17, 0xc0, 0x70, 0x7, 0x0, 0x50, 0x1f,
|
||||||
|
0xee, 0xc8, 0x11, 0x71, 0x45, 0xfe, 0x60, 0x8c, 0x27, 0xb8, 0xf7, 0x3f,
|
||||||
|
0x77, 0x77, 0x31, 0xff, 0x8c, 0xb, 0x4, 0x88, 0x4c, 0x33, 0x20, 0x7f,
|
||||||
|
0x8a, 0x2e, 0x52, 0xe0, 0x7f, 0x3, 0x0, 0x77, 0xf7, 0xb, 0xf8, 0x81,
|
||||||
|
0x2f, 0xfa, 0x10, 0x1c, 0xe7, 0x77, 0x28, 0x80, 0x7f, 0x23, 0x7, 0x89,
|
||||||
|
0x0, 0x2, 0xe7, 0xcc, 0xe8, 0x77, 0x0, 0x11, 0x45, 0xff, 0x8c, 0x14,
|
||||||
|
0xfd, 0x6e, 0x11, 0x0, 0x0, 0x45, 0xfe, 0xac, 0x34, 0x80, 0x88, 0x7f,
|
||||||
|
0x5, 0x77, 0xb, 0xff, 0x81, 0x2, 0x23, 0xaf, 0x17, 0x33, 0xaf, 0x0,
|
||||||
|
0x1, 0x80, 0xbb, 0xbb, 0xb, 0xf8, 0xde, 0x55, 0x0, 0x44, 0x20, 0x0,
|
||||||
|
0x22, 0x29, 0xfe, 0xda, 0x40, 0x10, 0x0, 0x20, 0xdd, 0x53, 0xa7, 0x80,
|
||||||
|
0x11, 0x99, 0x87, 0x0, 0xf8, 0xc2, 0x41, 0x11, 0x0, 0x20, 0x22, 0x45,
|
||||||
|
0x0, 0xff, 0xba, 0x20, 0x11, 0x1, 0xee, 0x0, 0x22, 0x0, 0xf8, 0xb7,
|
||||||
|
0xf, 0x44, 0x80, 0x9, 0xc8, 0x2b, 0x0, 0xf1, 0xd6, 0x4c, 0x0, 0x0,
|
||||||
|
0xbb, 0xbb, 0xd, 0x13, 0xff, 0xdb, 0x51, 0x4d, 0xaf, 0xf8, 0xa8, 0x5d,
|
||||||
|
0xb7, 0x20, 0x7, 0x20, 0x17, 0x11, 0x20, 0x47, 0xee, 0xca, 0x30, 0x11,
|
||||||
|
0x11, 0x2, 0x22, 0x22, 0x25, 0xff, 0xca, 0x30, 0xf0, 0x1f, 0x0, 0x1,
|
||||||
|
0x0, 0x22, 0x22, 0x65, 0xff, 0xca, 0x40, 0x90, 0x7, 0xc3, 0x0, 0x50,
|
||||||
|
0x1f, 0x0, 0x70, 0x3f, 0x11, 0x71, 0x22, 0x0, 0x30, 0x5f, 0x0, 0x70,
|
||||||
|
0x7f, 0x0, 0x48, 0xdc, 0x88, 0x99, 0x47, 0xf8, 0xd7, 0x4e, 0x0, 0x2a,
|
||||||
|
0x12, 0x99, 0x11, 0x47, 0xf8, 0xbb, 0x41, 0x86, 0x80, 0x9f, 0x11, 0x23,
|
||||||
|
0x22, 0x23, 0x20, 0xbf, 0x74, 0x47, 0x88, 0x0, 0x88, 0x73, 0x77, 0x8a,
|
||||||
|
0xf8, 0x9e, 0x1f, 0x12, 0x8, 0x51, 0x22, 0x2, 0x21, 0x30, 0xa7, 0x40,
|
||||||
|
0x88, 0x8, 0x0, 0x69, 0xef, 0xcb, 0x41, 0x8, 0x0, 0xf7, 0xff, 0x40,
|
||||||
|
0x22, 0xab, 0x9f, 0x2a, 0x12, 0x98, 0x11, 0x47, 0xf1, 0x3b, 0xbb, 0x3a,
|
||||||
|
0x44, 0x7f, 0x21, 0x47, 0xfb, 0xbf, 0x8, 0x24, 0x5f, 0x0, 0x31, 0x77,
|
||||||
|
0x80, 0x1, 0x7b, 0xe7, 0x6, 0x44, 0x51, 0x77, 0x49, 0xff, 0x8c, 0x0,
|
||||||
|
0x15, 0x8, 0x8, 0x77, 0xf7, 0x82, 0xf8, 0x96, 0x41, 0x16, 0x10, 0xc,
|
||||||
|
0x93, 0x9f, 0xff, 0x77, 0xa, 0xf8, 0x81, 0x2e, 0x6e, 0xa0, 0xdd, 0xff,
|
||||||
|
0x44, 0x23, 0x8f, 0x2d, 0xff, 0x8b, 0x3, 0x15, 0x0, 0x22, 0xdf, 0xcd,
|
||||||
|
0x61, 0xff, 0xad, 0x25, 0x0, 0xc8, 0x33, 0x9f, 0x26, 0xaf, 0x84, 0xa8,
|
||||||
|
0x53, 0x9f, 0xc5, 0x84, 0x91, 0x40, 0x88, 0x32, 0xcf, 0x0, 0x20, 0x88,
|
||||||
|
0xee, 0x2d, 0xff, 0x28, 0xdb, 0x41, 0x33, 0xc7, 0x65, 0x23, 0xc7, 0x44,
|
||||||
|
0x80, 0x89, 0x80, 0x43, 0x87, 0x21, 0x22, 0x22, 0x32, 0x23, 0xf8, 0xbe,
|
||||||
|
0x41, 0x1d, 0xf3, 0x7f, 0x1, 0x0, 0x22, 0x32, 0x43, 0xa0, 0x17, 0xf0,
|
||||||
|
0x10, 0x1, 0x80, 0x7, 0x64, 0x27, 0x34, 0x17, 0x0, 0x34, 0xbf, 0x8,
|
||||||
|
0x10, 0xbf, 0x3b, 0x0, 0xf, 0xf8, 0xde, 0x54, 0x22, 0x51, 0xdc, 0xfd,
|
||||||
|
0xa0, 0x41, 0xaf, 0x10, 0x24, 0xff, 0xff, 0xa8, 0x0, 0x10, 0x11, 0x3,
|
||||||
|
0x22, 0x0, 0x45, 0xef, 0xba, 0x20, 0x74, 0x57, 0x34, 0x47, 0x89, 0x48,
|
||||||
|
0xff, 0x40, 0xce, 0x88, 0x35, 0x2f, 0x2a, 0x11, 0x30, 0x2f, 0x20, 0xbd,
|
||||||
|
0x35, 0x74, 0xbf, 0x8, 0x10, 0x88, 0x19, 0x4b, 0xe8, 0x31, 0xd7, 0x75,
|
||||||
|
0x3f, 0x20, 0x47, 0x6, 0x20, 0x47, 0xee, 0x8c, 0x10, 0x7, 0x31, 0x85,
|
||||||
|
0xee, 0x9c, 0x24, 0x74, 0x9f, 0x80, 0x57, 0x60, 0x47, 0xc0, 0x70, 0x57,
|
||||||
|
0x84, 0x9f, 0x11, 0x98, 0x31, 0x65, 0xff, 0xbd, 0x6, 0x34, 0x8e, 0xcc,
|
||||||
|
0x11, 0x77, 0x0, 0x44, 0x9f, 0x24, 0x57, 0x86, 0x86, 0x10, 0x1, 0x34,
|
||||||
|
0x57, 0x80, 0xff, 0x7f, 0x3, 0x0, 0x2f, 0xff, 0x2a, 0xbf, 0x37, 0x0,
|
||||||
|
0x52, 0xf8, 0x8a, 0x11, 0x8c, 0xee, 0x17, 0x11, 0xd0, 0x4a, 0x7f, 0x20,
|
||||||
|
0x27, 0x6, 0xa0, 0x17, 0x21, 0xa2, 0x11, 0x89, 0x80, 0x36, 0x1f, 0x44,
|
||||||
|
0x0, 0xb3, 0xbb, 0x9, 0xff, 0xdb, 0x10, 0x52, 0x4, 0x20, 0x5a, 0xe7,
|
||||||
|
0x11, 0x88, 0x91, 0x89, 0x5, 0x47, 0xf8, 0xc9, 0x4f, 0x17, 0x23, 0x88,
|
||||||
|
0x41, 0x22, 0x17, 0x21, 0x1, 0x0, 0x57, 0x3f, 0x4, 0x20, 0xbb, 0xfb,
|
||||||
|
0x20, 0x27, 0x71, 0x51, 0x77, 0x57, 0xf7, 0x3f, 0x24, 0x20, 0x0, 0x2,
|
||||||
|
0xf1, 0x10, 0x1, 0xa3, 0xaf, 0xf8, 0x8, 0x64, 0xdf, 0x24, 0xf, 0x38,
|
||||||
|
0x6f, 0x27, 0xcf, 0x3, 0xe5, 0x7f, 0x10, 0x23, 0x2, 0x0, 0x43, 0xf1,
|
||||||
|
0xb7, 0x16, 0x11, 0x75, 0x22, 0x0, 0x60, 0x25, 0x49, 0x7, 0xf4, 0x9f,
|
||||||
|
0x8c, 0x19, 0x4f, 0xf8, 0xd7, 0x2e, 0x4d, 0x22, 0x24, 0x91, 0x8d, 0x24,
|
||||||
|
0x47, 0x44, 0x9f, 0x44, 0x5f, 0x22, 0x7c, 0x22, 0x36, 0xf, 0x74, 0x27,
|
||||||
|
0x28, 0xb7, 0x4a, 0x2f, 0x89, 0x4f, 0x44, 0xbb, 0x60, 0x3b, 0x32, 0xbf,
|
||||||
|
0xf8, 0xff, 0xfe, 0x7f, 0x98, 0x19, 0x27, 0x18, 0xf8, 0xc1, 0x47, 0x80,
|
||||||
|
0x4f, 0x0, 0x6d, 0xbf, 0x88, 0x88, 0x71, 0xfe, 0x4d, 0xe7, 0x0, 0x4d,
|
||||||
|
0xff, 0x2e, 0x17, 0x70, 0x7, 0x2, 0x40, 0x1f, 0x0, 0xbe, 0x3f, 0x7a,
|
||||||
|
0xaf, 0x88, 0x58, 0x91, 0x3a, 0xaf, 0x40, 0xfe, 0x8f, 0x7a, 0xaf, 0xcc,
|
||||||
|
0xe8, 0x88, 0x30, 0xee, 0x21, 0x27, 0x3f, 0x73, 0x9f, 0x33, 0xab, 0x91,
|
||||||
|
0x89, 0x5e, 0x27, 0x20, 0x2f, 0x11, 0x27, 0x28, 0x35, 0xb7, 0x73, 0x9f,
|
||||||
|
0x73, 0xc7, 0x15, 0x3f, 0x21, 0x20, 0x0, 0x5a, 0x7f, 0x27, 0x57, 0x3a,
|
||||||
|
0x47, 0x10, 0xa, 0xf3, 0x9f, 0x10, 0x0, 0x89, 0x17, 0x68, 0xcf, 0xc1,
|
||||||
|
0x74, 0x2f, 0x1, 0xfd, 0x9f, 0xca, 0xcc, 0xbf, 0xbb, 0x5, 0x4e, 0x17,
|
||||||
|
0xe1, 0x0, 0x5e, 0x1f, 0x9e, 0x37, 0x0, 0x5e, 0x3f, 0x15, 0x11, 0x20,
|
||||||
|
0x22, 0x3d, 0x8f, 0xf8, 0x0, 0x8d, 0xff, 0x6e, 0x8f, 0x77, 0x4f, 0x10,
|
||||||
|
0x1c, 0x83, 0x87, 0x10, 0x2c, 0x62, 0xd7, 0x43, 0x4c, 0x49, 0x10, 0x4d,
|
||||||
|
0xff, 0xfe, 0x2f, 0xa6, 0x0, 0x2, 0x2, 0x28, 0xc3, 0x2d, 0xfd, 0x3d,
|
||||||
|
0xef, 0x69, 0x6d, 0x61, 0x67, 0x2f, 0xfe, 0x20, 0xc, 0x1c, 0x40, 0x0,
|
||||||
|
0xa, 0x3e, 0x10, 0x4e, 0x15, 0x0, 0x50, 0x3, 0x43, 0x4c, 0x24, 0x59,
|
||||||
|
0x54, 0x70, 0x3f, 0x80, 0x5, 0x47, 0xae, 0x0, 0x6c, 0x18, 0x79, 0x74,
|
||||||
|
0x31, 0x30, 0x51, 0x3e, 0x3b, 0x0, 0x0, 0xa0, 0x0, 0x43, 0x0, 0x0,
|
||||||
|
0x70, 0x43, 0x74, 0x78, 0x6c, 0x32, 0x31, 0x40, 0x2f, 0xed, 0x2b, 0x90,
|
||||||
|
0x0, 0xc, 0x2f, 0xf5, 0x1a, 0xc0, 0x2f, 0xf9, 0x2b, 0x3c, 0x0, 0x62,
|
||||||
|
0x75, 0x62, 0x62, 0x6c, 0x0, 0x65, 0x73, 0x2e, 0x62, 0x63, 0x6c, 0x69,
|
||||||
|
0x6d, 0x4, 0x0, 0x6d, 0x61, 0x73, 0x6b, 0x60, 0xa, 0x77, 0x61, 0x60,
|
||||||
|
0x76, 0x80, 0x16, 0x2f, 0xfd, 0x6d, 0x61, 0x74, 0x31, 0x8c, 0xcd, 0x2e,
|
||||||
|
0x8c, 0x2b, 0xb0, 0x0, 0x1c, 0x30, 0x63, 0x2f, 0xf9, 0xd4, 0x2f, 0xfd,
|
||||||
|
0x66, 0x24, 0x2e, 0xa0, 0x30, 0x35, 0x5f, 0x30, 0x4c, 0x7a, 0xc0, 0xa8,
|
||||||
|
0xff, 0x56, 0xff, 0x0, 0x50, 0x1, 0x15, 0x40, 0x9b, 0x4, 0x30, 0x4a,
|
||||||
|
0x2f, 0xff, 0x60, 0x4f, 0xc0, 0x50, 0xdd, 0x80, 0x3f, 0x50, 0x3, 0x80,
|
||||||
|
0x93, 0x0, 0x0, 0x52, 0x0, 0x60, 0x4f, 0x17, 0x80, 0x55, 0x6, 0x3f,
|
||||||
|
0x35, 0x5, 0x20, 0xfd, 0xb1, 0x27, 0x90, 0x4f, 0x81, 0x20, 0xb4, 0x22,
|
||||||
|
0x40, 0x24, 0x2, 0x10, 0x66, 0x2f, 0xfd, 0x47, 0x7, 0x61, 0x4a, 0x1,
|
||||||
|
0x4, 0x5, 0x50, 0xe2, 0x0, 0x20, 0xb8, 0x0, 0xb0, 0xb7, 0x1e, 0x2,
|
||||||
|
0x0, 0x5, 0x31, 0x2, 0x31, 0x4a, 0x31, 0x4e, 0x0, 0x50, 0xb7, 0x31,
|
||||||
|
0x82, 0x4, 0xd0, 0xb7, 0x70, 0x61, 0x6e, 0x31, 0x4c, 0x40, 0xc3, 0xff,
|
||||||
|
0x0, 0x0, 0x52, 0x6f, 0x6f, 0x74, 0x50, 0x61, 0x6e, 0x78, 0x65, 0x0,
|
||||||
|
0x92, 0x21, 0xf2, 0x3b, 0x71, 0x67, 0x52, 0x17, 0x70, 0x61, 0x73, 0x21,
|
||||||
|
0x31, 0x8, 0x2f, 0xfd, 0x70, 0x69, 0x63, 0x31, 0x3d, 0xe5, 0xe0, 0x30,
|
||||||
|
0x53, 0x0, 0x71, 0x17, 0x2f, 0xfc, 0xc0, 0x80, 0x0, 0x80, 0xbf, 0xa4,
|
||||||
|
0x0, 0x90, 0x53, 0xf2, 0x22, 0x6b, 0x9a, 0x43, 0x71, 0xf7, 0x6f, 0xbb,
|
||||||
|
0x5f, 0xe7, 0x40, 0x3, 0x2, 0x62, 0x89, 0x62, 0xc5, 0x61, 0x37, 0x71,
|
||||||
|
0xf3, 0x31, 0x4b, 0x2e, 0x80, 0x3f, 0x30, 0x7f, 0xa0, 0x60, 0xd3, 0x0,
|
||||||
|
0x71, 0x47, 0x2f, 0xfc, 0xb8, 0xb, 0x0, 0x0, 0x48, 0x42, 0x22, 0xcf,
|
||||||
|
0xc1, 0xe3, 0x11, 0x61, 0x8f, 0x5a, 0x80, 0x22, 0xeb, 0x80, 0x80, 0x7f,
|
||||||
|
0x72, 0x7f, 0x3, 0x21, 0xb5, 0xcd, 0x23, 0xcc, 0x6c, 0x42, 0x5b, 0x33,
|
||||||
|
0x33, 0x5b, 0x41, 0xb7, 0x50, 0xf, 0x2f, 0x20, 0x40, 0x50, 0xf, 0x20,
|
||||||
|
0xf0, 0x93, 0xe2, 0x43, 0x0, 0x60, 0x9f, 0x0, 0x12, 0xf2, 0xbb, 0x2,
|
||||||
|
0x40, 0x9f, 0x1, 0x22, 0x55, 0x2f, 0xff, 0x31, 0x93, 0x3e, 0x50, 0x8b,
|
||||||
|
0x30, 0x7, 0xbe, 0x30, 0xf, 0x14, 0x60, 0x9b, 0x30, 0x7, 0x1, 0x10,
|
||||||
|
0x9f, 0x51, 0xbf, 0x0, 0x93, 0x8f, 0x80, 0x3, 0xfd, 0x3f, 0x40, 0x0,
|
||||||
|
0xfe, 0xf, 0xa1, 0x7f, 0xd3, 0x2b, 0x1, 0x10, 0x7e, 0x1b, 0x44, 0x98,
|
||||||
|
0x3d, 0xfc, 0x0, 0x1, 0x3f, 0xf9, 0x74, 0x49, 0x23, 0xa3, 0x41, 0xab,
|
||||||
|
0x50, 0x7, 0xe1, 0x1f, 0x61, 0x65, 0x42, 0x47, 0xc, 0x67, 0x72, 0x70,
|
||||||
|
0x31, 0x34, 0x1f, 0x32, 0x97, 0x47, 0x72, 0x13, 0x6f, 0x75, 0x70, 0xa4,
|
||||||
|
0xba, 0x67, 0x72, 0x52, 0x6b, 0x30, 0x23, 0x8f, 0x32, 0xbf, 0x47, 0x5f,
|
||||||
|
0x41, 0xc4, 0x36, 0x34, 0x9b, 0xf3, 0xfb, 0xf4, 0x5b, 0xd5, 0xf3, 0x63,
|
||||||
|
0x90, 0x4b, 0x42, 0x3, 0x40, 0x4b, 0x2c, 0x40, 0x97, 0x43, 0xc4, 0xce,
|
||||||
|
0xcd, 0x35, 0x93, 0xf4, 0xe3, 0x67, 0x72, 0x50, 0xef, 0xb5, 0x7f, 0xe0,
|
||||||
|
0x24, 0x87, 0x5e, 0x11, 0x0, 0x5, 0x7f, 0xc8, 0x85, 0x7f, 0x33, 0xb3,
|
||||||
|
0x35, 0x3f, 0x35, 0xdb, 0x1e, 0xa8, 0x2f, 0xff, 0x29, 0x2f, 0xfd, 0x34,
|
||||||
|
0x0, 0x5, 0x83, 0x6c, 0x6f, 0x67, 0x6f, 0x6f, 0x0, 0xd5, 0x8e, 0x35,
|
||||||
|
0x8b, 0x30, 0x22, 0x32, 0x34, 0xf0, 0x36, 0x1a, 0x31, 0x63, 0x55, 0xd8,
|
||||||
|
0x2f, 0xff, 0x5c, 0x26, 0x3c, 0xac, 0x2, 0x65, 0x8f, 0x2, 0x0, 0xa5,
|
||||||
|
0x8f, 0xfa, 0x30, 0x91, 0x1, 0xb5, 0xdf, 0x35, 0x8f, 0x95, 0xdf, 0x0,
|
||||||
|
0x15, 0x8f, 0x44, 0x26, 0x44, 0x40, 0x77, 0x24, 0x51, 0x2b, 0xb5, 0x8f,
|
||||||
|
0x1, 0xf5, 0xf7, 0x6a, 0x65, 0xf7, 0x90, 0xbb, 0x0, 0x25, 0xfb, 0xe1,
|
||||||
|
0x0, 0x36, 0xf, 0x37, 0x64, 0x26, 0x13, 0x10, 0x24, 0x2, 0x11, 0x3,
|
||||||
|
0x36, 0x13, 0x7c, 0x3, 0x3, 0xa6, 0x13, 0x4, 0x30, 0xd3, 0x3, 0x56,
|
||||||
|
0x2f, 0x52, 0xc7, 0x4, 0x36, 0x2f, 0x6e, 0xab, 0x6f, 0xe1, 0xe5, 0xaf,
|
||||||
|
0x76, 0x2f, 0x48, 0x38, 0x1b, 0x28, 0xb6, 0x40, 0x7, 0x5, 0x86, 0x2f,
|
||||||
|
0x57, 0x4, 0x6, 0x6, 0x2f, 0x20, 0x1, 0xc6, 0xcf, 0x2, 0x86, 0x2f,
|
||||||
|
0x4a, 0x1c, 0x77, 0x4f, 0xee, 0x67, 0x4b, 0x46, 0xcb, 0x1, 0xa6, 0x2f,
|
||||||
|
0xff, 0x0, 0x83, 0xdf, 0x39, 0x94, 0x50, 0x3, 0xf0, 0x86, 0xc6, 0x33,
|
||||||
|
0xcd, 0xcc, 0x4c, 0x3f, 0x30, 0x3, 0x57, 0x6f, 0x38, 0x7f, 0x42, 0x0,
|
||||||
|
0x16, 0xcf, 0xb7, 0xef, 0xb, 0x56, 0xaf, 0x3a, 0xef, 0xf6, 0xaf, 0x3a,
|
||||||
|
0x70, 0xfa, 0x43, 0xef, 0xfa, 0xbb, 0xf5, 0x3b, 0x1, 0x36, 0xcf, 0x5c,
|
||||||
|
0x0, 0x26, 0xcf, 0x3b, 0x77, 0xfb, 0x17, 0xfa, 0xbf, 0x80, 0x4, 0x36,
|
||||||
|
0xdf, 0x1f, 0xbc, 0xab, 0xc4, 0xf4, 0xa7, 0x73, 0x0, 0xa, 0x1a, 0x5d,
|
||||||
|
0x17, 0xe0, 0x62, 0xd, 0xcb, 0x0, 0x15, 0x4b, 0xae, 0x36, 0xe9, 0x22,
|
||||||
|
0xd6, 0xbc, 0x0, 0x84, 0x95, 0x43, 0x89, 0x8a, 0x34, 0x9f, 0xb6, 0x0,
|
||||||
|
0x56, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
|
||||||
|
|
||||||
|
size_t logo_lz11_size = 0x2000;
|
232
source/main.cpp
Normal file
232
source/main.cpp
Normal file
@ -0,0 +1,232 @@
|
|||||||
|
#include <algorithm>
|
||||||
|
#include <filesystem>
|
||||||
|
#include <fstream>
|
||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
#include <banner.hpp>
|
||||||
|
#include <banner_audio.hpp>
|
||||||
|
#include <helper.hpp>
|
||||||
|
#include <icon.hpp>
|
||||||
|
#include <logo_lz11.hpp>
|
||||||
|
#include <samplefiles.hpp>
|
||||||
|
#include <fileHash.hpp>
|
||||||
|
|
||||||
|
#define cons_clear std::cout << "\x1B[2J\x1B[H"
|
||||||
|
|
||||||
|
void ToUpperCase(std::string &str) {
|
||||||
|
std::transform(str.begin(), str.end(), str.begin(),
|
||||||
|
[](unsigned char c) { return std::toupper(c); });
|
||||||
|
}
|
||||||
|
|
||||||
|
bool isValidHex(const std::string &str) {
|
||||||
|
for (char c : str) {
|
||||||
|
if (!isxdigit(c)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CheckTools() {
|
||||||
|
std::vector<std::string> installed;
|
||||||
|
std::vector<std::string> not_installed;
|
||||||
|
int res = 0;
|
||||||
|
res = system("makerom");
|
||||||
|
if (!res) {
|
||||||
|
not_installed.push_back("makerom");
|
||||||
|
} else {
|
||||||
|
installed.push_back("makerom");
|
||||||
|
}
|
||||||
|
res = system("bannertool");
|
||||||
|
if (!res) {
|
||||||
|
not_installed.push_back("bannertool");
|
||||||
|
} else {
|
||||||
|
installed.push_back("bannertool");
|
||||||
|
}
|
||||||
|
std::cout << "<DEVKITPRO> is set to: " << getenv("DEVKITPRO") << "\n";
|
||||||
|
std::cout << "Tools-Check:\n";
|
||||||
|
for (auto const &it : installed) {
|
||||||
|
std::cout << "[+]" << it << " is installed!\n";
|
||||||
|
}
|
||||||
|
for (auto const &it : not_installed) {
|
||||||
|
std::cout << "[+]" << it << " is not installed!\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void PrintHelp() {
|
||||||
|
std::cout << "npi-build v0.1\n";
|
||||||
|
std::cout << "Commands:\n";
|
||||||
|
std::cout << "help: Display this\n";
|
||||||
|
std::cout << "generate <type> <dir>: Create Project Files!\n";
|
||||||
|
std::cout << " type: 3dsx | cia3dsx\n";
|
||||||
|
std::cout << "generate-assist: Create Project Files with assistent!\n";
|
||||||
|
std::cout << "build: Build the Project!\n";
|
||||||
|
std::cout << "clean: Delete all files from build.\n";
|
||||||
|
std::cout << "edit-assist: Edit Project files with assist!\n";
|
||||||
|
std::cout << "check-tools: Check for Missing Tools!\n";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ProcessArgs(int argc, char *argv[]) {
|
||||||
|
if (argc < 2) {
|
||||||
|
PrintHelp();
|
||||||
|
return;
|
||||||
|
} else if (std::string(argv[1]) == "help") {
|
||||||
|
PrintHelp();
|
||||||
|
return;
|
||||||
|
} else if (std::string(argv[1]) == "generate") {
|
||||||
|
if (argc < 4) {
|
||||||
|
std::cout << "Wrong Number of Arguments!\n";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
std::string type = std::string(argv[2]);
|
||||||
|
int res = 1;
|
||||||
|
int type_ = -1;
|
||||||
|
if (type == "3dsx" | type == "cia3dsx") {
|
||||||
|
res = 0;
|
||||||
|
if (type == "3dsx")
|
||||||
|
type_ = 0;
|
||||||
|
else if (type == "cia3dsx")
|
||||||
|
type_ = 1;
|
||||||
|
}
|
||||||
|
if (res) {
|
||||||
|
std::cout << "Unknown type!\n";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
std::string dst_dir = argv[3];
|
||||||
|
|
||||||
|
std::cout << "\nDestination: " << dst_dir << "/\n";
|
||||||
|
|
||||||
|
std::filesystem::create_directories(
|
||||||
|
std::filesystem::path(dst_dir + "/app"));
|
||||||
|
std::filesystem::create_directories(
|
||||||
|
std::filesystem::path(dst_dir + "/gfx"));
|
||||||
|
std::ofstream gfx_keep(dst_dir + "/gfx/.gitkeep");
|
||||||
|
gfx_keep.close();
|
||||||
|
std::filesystem::create_directories(
|
||||||
|
std::filesystem::path(dst_dir + "/romfs/gfx"));
|
||||||
|
std::ofstream rgfx_keep(dst_dir + "/romfs/gfx/.gitkeep");
|
||||||
|
rgfx_keep.close();
|
||||||
|
if (type_ == 1) {
|
||||||
|
char *ret = new char[10000];
|
||||||
|
std::string uid = helper::GenerateUniqueId();
|
||||||
|
sprintf(ret, ciaRSF, default_title, default_code, default_romfs_path,
|
||||||
|
uid.c_str());
|
||||||
|
std::ofstream test(dst_dir + "/app/build-cia.rsf");
|
||||||
|
test << ret;
|
||||||
|
test.close();
|
||||||
|
delete[] ret;
|
||||||
|
helper::ArrayToFile(banner_audio, banner_audio_size,
|
||||||
|
dst_dir + "/app/banner_audio.wav");
|
||||||
|
helper::ArrayToFile(logo_lz11, logo_lz11_size,
|
||||||
|
dst_dir + "/app/logo.lz11");
|
||||||
|
helper::ArrayToFile(banner, banner_size, dst_dir + "/app/banner.png");
|
||||||
|
}
|
||||||
|
helper::ArrayToFile(icon, icon_size, dst_dir + "/app/icon.png");
|
||||||
|
NpiProject npr;
|
||||||
|
Prj_InitDefault(npr);
|
||||||
|
helper::GenerateTemplateFile(dst_dir + "/build.json", npr);
|
||||||
|
} else if (std::string(argv[1]) == "generate-assist") {
|
||||||
|
// define vars
|
||||||
|
std::string prj_name;
|
||||||
|
std::string prodcode;
|
||||||
|
std::string unique_id;
|
||||||
|
|
||||||
|
int type_;
|
||||||
|
std::string dst_dir;
|
||||||
|
|
||||||
|
std::cout << "Npi-Build Project-Assist:";
|
||||||
|
std::cout << "\ntype Project Name >";
|
||||||
|
std::cin >> prj_name;
|
||||||
|
std::cout << "\ntype Project Code 4 chars [NPI7] >";
|
||||||
|
std::cin >> prodcode;
|
||||||
|
if (prodcode.length() != 4) {
|
||||||
|
std::cout << "\nWrong Length!\n";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ToUpperCase(prodcode);
|
||||||
|
std::cout << "Code set to [" << prodcode << "]";
|
||||||
|
std::cout << "\ntype project's unique id [ff3ff]\n or type random to "
|
||||||
|
"generate a random one>";
|
||||||
|
std::cin >> unique_id;
|
||||||
|
bool rnd = false;
|
||||||
|
if (unique_id == "random") {
|
||||||
|
unique_id = helper::GenerateUniqueId();
|
||||||
|
rnd = true;
|
||||||
|
}
|
||||||
|
if (unique_id.length() != 5 && !rnd) {
|
||||||
|
std::cout << "\nWrong Length!\n";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!isValidHex(unique_id) && !rnd) {
|
||||||
|
std::cout << "\nId is not valid\n";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!rnd) {
|
||||||
|
unique_id.insert(0, "0x");
|
||||||
|
}
|
||||||
|
|
||||||
|
std::cout << "\nProject type: type 0 for 3dsx\nonly or 1 for cia and 3dsx>";
|
||||||
|
std::cin >> type_;
|
||||||
|
if (!(type_ == 0 | type_ == 1)) {
|
||||||
|
std::cout << "\nunknown type!\n";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
std::cout << "\nProjects Directpry: type . for current>";
|
||||||
|
std::cin >> dst_dir;
|
||||||
|
|
||||||
|
std::cout << "\nDestination: " << dst_dir << "/\n";
|
||||||
|
|
||||||
|
std::filesystem::create_directories(
|
||||||
|
std::filesystem::path(dst_dir + "/app"));
|
||||||
|
std::filesystem::create_directories(
|
||||||
|
std::filesystem::path(dst_dir + "/gfx"));
|
||||||
|
std::ofstream gfx_keep(dst_dir + "/gfx/.gitkeep");
|
||||||
|
gfx_keep.close();
|
||||||
|
std::filesystem::create_directories(
|
||||||
|
std::filesystem::path(dst_dir + "/romfs/gfx"));
|
||||||
|
std::ofstream rgfx_keep(dst_dir + "/romfs/gfx/.gitkeep");
|
||||||
|
rgfx_keep.close();
|
||||||
|
|
||||||
|
if (type_ == 1) {
|
||||||
|
char *ret = new char[10000];
|
||||||
|
sprintf(ret, ciaRSF, prj_name.c_str(), prodcode.c_str(),
|
||||||
|
default_romfs_path, unique_id.c_str());
|
||||||
|
std::ofstream test(dst_dir + "/app/build-cia.rsf");
|
||||||
|
test << ret;
|
||||||
|
test.close();
|
||||||
|
delete[] ret;
|
||||||
|
helper::ArrayToFile(banner_audio, banner_audio_size,
|
||||||
|
dst_dir + "/app/banner_audio.wav");
|
||||||
|
helper::ArrayToFile(logo_lz11, logo_lz11_size,
|
||||||
|
dst_dir + "/app/logo.lz11");
|
||||||
|
helper::ArrayToFile(banner, banner_size, dst_dir + "/app/banner.png");
|
||||||
|
}
|
||||||
|
helper::ArrayToFile(icon, icon_size, dst_dir + "/app/icon.png");
|
||||||
|
NpiProject npr;
|
||||||
|
Prj_InitDefault(npr);
|
||||||
|
npr.name = prj_name;
|
||||||
|
npr.prod = prodcode;
|
||||||
|
npr.unique_id = unique_id;
|
||||||
|
|
||||||
|
helper::GenerateTemplateFile(dst_dir + "/build.json", npr);
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (std::string(argv[1]) == "build") {
|
||||||
|
helper::CompileProject(fix_path(std::filesystem::current_path().string()));
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (std::string(argv[1]) == "check-tools")
|
||||||
|
CheckTools();
|
||||||
|
else if (std::string(argv[1]) == "clean")
|
||||||
|
helper::CleanProject(fix_path(std::filesystem::current_path().string()));
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
// std::cout << std::filesystem::current_path() << std::endl;
|
||||||
|
ProcessArgs(argc, argv);
|
||||||
|
|
||||||
|
std::cout << "Exitting...\n";
|
||||||
|
return 0;
|
||||||
|
}
|
302
source/samplefiles.cpp
Normal file
302
source/samplefiles.cpp
Normal file
@ -0,0 +1,302 @@
|
|||||||
|
#include <samplefiles.hpp>
|
||||||
|
|
||||||
|
const char *default_title = "Sample";
|
||||||
|
const char *default_code = "NPI7";
|
||||||
|
const char *default_unique_id = "0xff3ff";
|
||||||
|
const char *default_romfs_path = "romfs";
|
||||||
|
const char *ciaRSF =
|
||||||
|
"#This File is generated by npi-build!\n"
|
||||||
|
"#Every Changes made will get overwritten\n"
|
||||||
|
"#if the name of this file is <build-cia.rsf>\n"
|
||||||
|
"#To use custom rsf files change the path in build.json\n"
|
||||||
|
"BasicInfo:\n"
|
||||||
|
" Title : \"%s\"\n"
|
||||||
|
" ProductCode : \"CTR-H-%s\"\n"
|
||||||
|
" Logo : Homebrew # Nintendo / Licensed / Distributed "
|
||||||
|
"/ iQue / iQueForSystem\n"
|
||||||
|
"\n"
|
||||||
|
"RomFs:\n"
|
||||||
|
" RootPath: \"%s\"\n"
|
||||||
|
"\n"
|
||||||
|
"TitleInfo:\n"
|
||||||
|
" Category : Application\n"
|
||||||
|
" UniqueId : %s\n"
|
||||||
|
"\n"
|
||||||
|
"Option:\n"
|
||||||
|
" UseOnSD : true # true if App is to be installed to SD\n"
|
||||||
|
" FreeProductCode : true # Removes limitations on ProductCode\n"
|
||||||
|
" MediaFootPadding : false # If true CCI files are created with "
|
||||||
|
"padding\n"
|
||||||
|
" EnableCrypt : false # Enables encryption for NCCH and CIA\n"
|
||||||
|
" EnableCompress : true # Compresses where applicable (currently "
|
||||||
|
"only exefs:/.code)\n"
|
||||||
|
" \n"
|
||||||
|
"AccessControlInfo:\n"
|
||||||
|
" CoreVersion : 2\n"
|
||||||
|
"\n"
|
||||||
|
" # Exheader Format Version\n"
|
||||||
|
" DescVersion : 2\n"
|
||||||
|
" \n"
|
||||||
|
" # Minimum Required Kernel Version (below is for 4.5.0)\n"
|
||||||
|
" ReleaseKernelMajor : \"02\"\n"
|
||||||
|
" ReleaseKernelMinor : \"33\"\n"
|
||||||
|
"\n"
|
||||||
|
" # ExtData\n"
|
||||||
|
" UseExtSaveData : false # enables ExtData \n"
|
||||||
|
" #ExtSaveDataId : 0x300 # only set this when the ID is "
|
||||||
|
"different to the UniqueId\n"
|
||||||
|
"\n"
|
||||||
|
" # FS:USER Archive Access Permissions\n"
|
||||||
|
" # Uncomment as required\n"
|
||||||
|
" FileSystemAccess:\n"
|
||||||
|
" - CategorySystemApplication\n"
|
||||||
|
" - CategoryHardwareCheck\n"
|
||||||
|
" - CategoryFileSystemTool\n"
|
||||||
|
" - Debug\n"
|
||||||
|
" - TwlCardBackup\n"
|
||||||
|
" - TwlNandData\n"
|
||||||
|
" #- Boss\n"
|
||||||
|
" - DirectSdmc\n"
|
||||||
|
" - Core\n"
|
||||||
|
" #- CtrNandRo\n"
|
||||||
|
" #- CtrNandRw\n"
|
||||||
|
" #- CtrNandRoWrite\n"
|
||||||
|
" - CategorySystemSettings\n"
|
||||||
|
" #- CardBoard\n"
|
||||||
|
" #- ExportImportIvs\n"
|
||||||
|
" - DirectSdmcWrite\n"
|
||||||
|
" #- SwitchCleanup\n"
|
||||||
|
" #- SaveDataMove\n"
|
||||||
|
" #- Shop\n"
|
||||||
|
" #- Shell\n"
|
||||||
|
" #- CategoryHomeMenu\n"
|
||||||
|
" #- SeedDB\n"
|
||||||
|
" IoAccessControl:\n"
|
||||||
|
" #- FsMountNand\n"
|
||||||
|
" #- FsMountNandRoWrite\n"
|
||||||
|
" - FsMountTwln\n"
|
||||||
|
" #- FsMountWnand\n"
|
||||||
|
" - FsMountCardSpi\n"
|
||||||
|
" - UseSdif3\n"
|
||||||
|
" #- CreateSeed\n"
|
||||||
|
" - UseCardSpi\n"
|
||||||
|
"\n"
|
||||||
|
" # Process Settings\n"
|
||||||
|
" MemoryType : Application # Application/System/Base\n"
|
||||||
|
" SystemMode : 64MB # "
|
||||||
|
"64MB(Default)/96MB/80MB/72MB/32MB\n"
|
||||||
|
" IdealProcessor : 0\n"
|
||||||
|
" AffinityMask : 1\n"
|
||||||
|
" Priority : 16\n"
|
||||||
|
" MaxCpu : 0x9E # Default\n"
|
||||||
|
" HandleTableSize : 0x200\n"
|
||||||
|
" DisableDebug : false\n"
|
||||||
|
" EnableForceDebug : false\n"
|
||||||
|
" CanWriteSharedPage : true\n"
|
||||||
|
" CanUsePrivilegedPriority : false\n"
|
||||||
|
" CanUseNonAlphabetAndNumber : true\n"
|
||||||
|
" PermitMainFunctionArgument : true\n"
|
||||||
|
" CanShareDeviceMemory : true\n"
|
||||||
|
" RunnableOnSleep : false\n"
|
||||||
|
" SpecialMemoryArrange : true\n"
|
||||||
|
"\n"
|
||||||
|
" # New3DS Exclusive Process Settings\n"
|
||||||
|
" SystemModeExt : Legacy # Legacy(Default)/124MB/178MB "
|
||||||
|
"Legacy:Use Old3DS SystemMode\n"
|
||||||
|
" CpuSpeed : 804MHz # 268MHz(Default)/804MHz\n"
|
||||||
|
" EnableL2Cache : true # false(default)/true\n"
|
||||||
|
" CanAccessCore2 : true \n"
|
||||||
|
"\n"
|
||||||
|
" # Virtual Address Mappings\n"
|
||||||
|
" IORegisterMapping:\n"
|
||||||
|
" - 1ff00000-1ff7ffff # DSP memory\n"
|
||||||
|
" MemoryMapping: \n"
|
||||||
|
" - 1f000000-1f5fffff:r # VRAM\n"
|
||||||
|
"\n"
|
||||||
|
" # Accessible SVCs, <Name>:<ID>\n"
|
||||||
|
" SystemCallAccess: \n"
|
||||||
|
" ControlMemory: 1\n"
|
||||||
|
" QueryMemory: 2\n"
|
||||||
|
" ExitProcess: 3\n"
|
||||||
|
" GetProcessAffinityMask: 4\n"
|
||||||
|
" SetProcessAffinityMask: 5\n"
|
||||||
|
" GetProcessIdealProcessor: 6\n"
|
||||||
|
" SetProcessIdealProcessor: 7\n"
|
||||||
|
" CreateThread: 8\n"
|
||||||
|
" ExitThread: 9\n"
|
||||||
|
" SleepThread: 10\n"
|
||||||
|
" GetThreadPriority: 11\n"
|
||||||
|
" SetThreadPriority: 12\n"
|
||||||
|
" GetThreadAffinityMask: 13\n"
|
||||||
|
" SetThreadAffinityMask: 14\n"
|
||||||
|
" GetThreadIdealProcessor: 15\n"
|
||||||
|
" SetThreadIdealProcessor: 16\n"
|
||||||
|
" GetCurrentProcessorNumber: 17\n"
|
||||||
|
" Run: 18\n"
|
||||||
|
" CreateMutex: 19\n"
|
||||||
|
" ReleaseMutex: 20\n"
|
||||||
|
" CreateSemaphore: 21\n"
|
||||||
|
" ReleaseSemaphore: 22\n"
|
||||||
|
" CreateEvent: 23\n"
|
||||||
|
" SignalEvent: 24\n"
|
||||||
|
" ClearEvent: 25\n"
|
||||||
|
" CreateTimer: 26\n"
|
||||||
|
" SetTimer: 27\n"
|
||||||
|
" CancelTimer: 28\n"
|
||||||
|
" ClearTimer: 29\n"
|
||||||
|
" CreateMemoryBlock: 30\n"
|
||||||
|
" MapMemoryBlock: 31\n"
|
||||||
|
" UnmapMemoryBlock: 32\n"
|
||||||
|
" CreateAddressArbiter: 33\n"
|
||||||
|
" ArbitrateAddress: 34\n"
|
||||||
|
" CloseHandle: 35\n"
|
||||||
|
" WaitSynchronization1: 36\n"
|
||||||
|
" WaitSynchronizationN: 37\n"
|
||||||
|
" SignalAndWait: 38\n"
|
||||||
|
" DuplicateHandle: 39\n"
|
||||||
|
" GetSystemTick: 40\n"
|
||||||
|
" GetHandleInfo: 41\n"
|
||||||
|
" GetSystemInfo: 42\n"
|
||||||
|
" GetProcessInfo: 43\n"
|
||||||
|
" GetThreadInfo: 44\n"
|
||||||
|
" ConnectToPort: 45\n"
|
||||||
|
" SendSyncRequest1: 46\n"
|
||||||
|
" SendSyncRequest2: 47\n"
|
||||||
|
" SendSyncRequest3: 48\n"
|
||||||
|
" SendSyncRequest4: 49\n"
|
||||||
|
" SendSyncRequest: 50\n"
|
||||||
|
" OpenProcess: 51\n"
|
||||||
|
" OpenThread: 52\n"
|
||||||
|
" GetProcessId: 53\n"
|
||||||
|
" GetProcessIdOfThread: 54\n"
|
||||||
|
" GetThreadId: 55\n"
|
||||||
|
" GetResourceLimit: 56\n"
|
||||||
|
" GetResourceLimitLimitValues: 57\n"
|
||||||
|
" GetResourceLimitCurrentValues: 58\n"
|
||||||
|
" GetThreadContext: 59\n"
|
||||||
|
" Break: 60\n"
|
||||||
|
" OutputDebugString: 61\n"
|
||||||
|
" ControlPerformanceCounter: 62\n"
|
||||||
|
" CreatePort: 71\n"
|
||||||
|
" CreateSessionToPort: 72\n"
|
||||||
|
" CreateSession: 73\n"
|
||||||
|
" AcceptSession: 74\n"
|
||||||
|
" ReplyAndReceive1: 75\n"
|
||||||
|
" ReplyAndReceive2: 76\n"
|
||||||
|
" ReplyAndReceive3: 77\n"
|
||||||
|
" ReplyAndReceive4: 78\n"
|
||||||
|
" ReplyAndReceive: 79\n"
|
||||||
|
" BindInterrupt: 80\n"
|
||||||
|
" UnbindInterrupt: 81\n"
|
||||||
|
" InvalidateProcessDataCache: 82\n"
|
||||||
|
" StoreProcessDataCache: 83\n"
|
||||||
|
" FlushProcessDataCache: 84\n"
|
||||||
|
" StartInterProcessDma: 85\n"
|
||||||
|
" StopDma: 86\n"
|
||||||
|
" GetDmaState: 87\n"
|
||||||
|
" RestartDma: 88\n"
|
||||||
|
" DebugActiveProcess: 96\n"
|
||||||
|
" BreakDebugProcess: 97\n"
|
||||||
|
" TerminateDebugProcess: 98\n"
|
||||||
|
" GetProcessDebugEvent: 99\n"
|
||||||
|
" ContinueDebugEvent: 100\n"
|
||||||
|
" GetProcessList: 101\n"
|
||||||
|
" GetThreadList: 102\n"
|
||||||
|
" GetDebugThreadContext: 103\n"
|
||||||
|
" SetDebugThreadContext: 104\n"
|
||||||
|
" QueryDebugProcessMemory: 105\n"
|
||||||
|
" ReadProcessMemory: 106\n"
|
||||||
|
" WriteProcessMemory: 107\n"
|
||||||
|
" SetHardwareBreakPoint: 108\n"
|
||||||
|
" GetDebugThreadParam: 109\n"
|
||||||
|
" ControlProcessMemory: 112\n"
|
||||||
|
" MapProcessMemory: 113\n"
|
||||||
|
" UnmapProcessMemory: 114\n"
|
||||||
|
" CreateCodeSet: 115\n"
|
||||||
|
" CreateProcess: 117\n"
|
||||||
|
" TerminateProcess: 118\n"
|
||||||
|
" SetProcessResourceLimits: 119\n"
|
||||||
|
" CreateResourceLimit: 120\n"
|
||||||
|
" SetResourceLimitValues: 121\n"
|
||||||
|
" AddCodeSegment: 122\n"
|
||||||
|
" Backdoor: 123\n"
|
||||||
|
" KernelSetState: 124\n"
|
||||||
|
" QueryProcessMemory: 125\n"
|
||||||
|
"\n"
|
||||||
|
" # Service List\n"
|
||||||
|
" # Maximum 34 services (32 if firmware is prior to 9.6.0)\n"
|
||||||
|
" ServiceAccessControl:\n"
|
||||||
|
" - APT:U\n"
|
||||||
|
" - ac:u\n"
|
||||||
|
" - am:net\n"
|
||||||
|
" #- boss:U\n"
|
||||||
|
" #- cam:u\n"
|
||||||
|
" #- cecd:u\n"
|
||||||
|
" #- cfg:nor\n"
|
||||||
|
" - cfg:u\n"
|
||||||
|
" #- csnd:SND\n"
|
||||||
|
" - dsp::DSP\n"
|
||||||
|
" #- frd:u\n"
|
||||||
|
" - fs:USER\n"
|
||||||
|
" - gsp::Gpu\n"
|
||||||
|
" - gsp::Lcd\n"
|
||||||
|
" - hid:USER\n"
|
||||||
|
" - http:C\n"
|
||||||
|
" #- ir:rst\n"
|
||||||
|
" #- ir:u\n"
|
||||||
|
" #- ir:USER\n"
|
||||||
|
" #- mic:u\n"
|
||||||
|
" #- ndm:u\n"
|
||||||
|
" #- news:s\n"
|
||||||
|
" - nwm::EXT\n"
|
||||||
|
" - nwm::UDS\n"
|
||||||
|
" - ptm:sysm\n"
|
||||||
|
" - ptm:u\n"
|
||||||
|
" - pxi:dev\n"
|
||||||
|
" - soc:U\n"
|
||||||
|
" - ssl:C\n"
|
||||||
|
" #- y2r:u\n"
|
||||||
|
"\n"
|
||||||
|
"\n"
|
||||||
|
"SystemControlInfo:\n"
|
||||||
|
" SaveDataSize: 0KB # Change if the app uses savedata\n"
|
||||||
|
" RemasterVersion: $(APP_VERSION_MAJOR)\n"
|
||||||
|
" StackSize: 0x40000\n"
|
||||||
|
"\n"
|
||||||
|
" # Modules that run services listed above should be included below\n"
|
||||||
|
" # Maximum 48 dependencies\n"
|
||||||
|
" # <module name>:<module titleid>\n"
|
||||||
|
" Dependency:\n"
|
||||||
|
" ac: 0x0004013000002402\n"
|
||||||
|
" #act: 0x0004013000003802\n"
|
||||||
|
" am: 0x0004013000001502\n"
|
||||||
|
" boss: 0x0004013000003402\n"
|
||||||
|
" camera: 0x0004013000001602\n"
|
||||||
|
" cecd: 0x0004013000002602\n"
|
||||||
|
" cfg: 0x0004013000001702\n"
|
||||||
|
" codec: 0x0004013000001802\n"
|
||||||
|
" csnd: 0x0004013000002702\n"
|
||||||
|
" dlp: 0x0004013000002802\n"
|
||||||
|
" dsp: 0x0004013000001a02\n"
|
||||||
|
" friends: 0x0004013000003202\n"
|
||||||
|
" gpio: 0x0004013000001b02\n"
|
||||||
|
" gsp: 0x0004013000001c02\n"
|
||||||
|
" hid: 0x0004013000001d02\n"
|
||||||
|
" http: 0x0004013000002902\n"
|
||||||
|
" i2c: 0x0004013000001e02\n"
|
||||||
|
" ir: 0x0004013000003302\n"
|
||||||
|
" mcu: 0x0004013000001f02\n"
|
||||||
|
" mic: 0x0004013000002002\n"
|
||||||
|
" ndm: 0x0004013000002b02\n"
|
||||||
|
" news: 0x0004013000003502\n"
|
||||||
|
" #nfc: 0x0004013000004002\n"
|
||||||
|
" nim: 0x0004013000002c02\n"
|
||||||
|
" nwm: 0x0004013000002d02\n"
|
||||||
|
" pdn: 0x0004013000002102\n"
|
||||||
|
" ps: 0x0004013000003102\n"
|
||||||
|
" ptm: 0x0004013000002202\n"
|
||||||
|
" #qtm: 0x0004013020004202\n"
|
||||||
|
" ro: 0x0004013000003702\n"
|
||||||
|
" socket: 0x0004013000002e02\n"
|
||||||
|
" spi: 0x0004013000002302\n"
|
||||||
|
" ssl: 0x0004013000002f02\n";
|
43
tools/file2array.cpp
Normal file
43
tools/file2array.cpp
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
#include <fstream>
|
||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
if (argc < 3) {
|
||||||
|
std::cout << "Usage:\nfile2array <file> <dstfilename>\n";
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
std::string file_path = argv[1];
|
||||||
|
std::ifstream file(file_path, std::ios::binary);
|
||||||
|
|
||||||
|
if (!file.is_open()) {
|
||||||
|
std::cerr << "[-] Could not open file" << std::endl;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<unsigned char> buffer(std::istreambuf_iterator<char>(file), {});
|
||||||
|
|
||||||
|
const size_t array_size = buffer.size();
|
||||||
|
std::ofstream fout(std::string(argv[2]) + ".cpp");
|
||||||
|
fout << "#include <" << argv[2] << ".hpp>" << std::endl;
|
||||||
|
fout << "\nunsigned char " << argv[2] << "[] = {";
|
||||||
|
for (std::size_t i = 0; i < buffer.size(); ++i) {
|
||||||
|
if (i != 0) {
|
||||||
|
fout << ", ";
|
||||||
|
}
|
||||||
|
fout << "0x" << std::hex << static_cast<int>(buffer[i]);
|
||||||
|
}
|
||||||
|
fout << "};" << std::endl;
|
||||||
|
|
||||||
|
fout << "\nsize_t " << argv[2] << "_size = 0x" << std::hex << array_size
|
||||||
|
<< ";" << std::endl;
|
||||||
|
|
||||||
|
std::ofstream fhead(std::string(argv[2]) + ".hpp");
|
||||||
|
fhead << "#pragma once\n#include <cstddef>\n";
|
||||||
|
fhead << "\nextern unsigned char " << argv[2] << "[];";
|
||||||
|
fhead << "\nextern size_t " << argv[2] << "_size;";
|
||||||
|
|
||||||
|
file.close();
|
||||||
|
fout.close();
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user